06:29
<jochen__>
annevk: re script vs realm - my understanding of how ES is embedded in HTML is that every realm has a script or module
06:48
<annevk>
jochen__: that is probably true; with n:m
06:49
<annevk>
jochen__: I think the problem is that promises are not always allocated with the appropriate context? If I can guess what this is about without context
06:53
<jochen__>
the question from smaug about host promise resolver thing
06:53
<jochen__>
where to get the mute error flag from
06:53
<jochen__>
the spec says "from the script of the context"
06:53
<jochen__>
which I claim is always defined (module implementation bugs)
07:04
<annevk>
If the current script is passed across the IDL boundary so it can use that to create promises, right?
07:04
<annevk>
Not sure how it is without that
07:16
<jochen__>
passing the IDL boundary doesn't change the ES execution context stack
07:34
<annevk>
jochen__: if that stack is global and that is what Chrome uses when a spec algorithm creates a promise that might be good
07:48
<jochen__>
i mean, what else would you do?
07:48
<jochen__>
a promise is an ES object, so it needs to be constructed via a call to its constructor which is part of a realm
07:49
<jochen__>
in any implementation it should be impossible to construct a promise without a realm
07:51
<annevk>
jochen__: I'm guessing Gecko has some C++ equivalent, as most implementations do for non-promise objects. And for those implementations do often vary on what realm is used.
07:52
<jochen__>
ok, that's possible
07:52
<jochen__>
the spec however only knows one kind of promise
07:54
<annevk>
In theory it only knows one kind of document, yet it creates one before a global exist
07:55
<annevk>
Anyway, all I'm saying is that there's plenty of opportunity for confusion here
07:55
<jochen__>
yep :/
07:56
<annevk>
And if there's indeed a simple stack to look at for creating promises we should clarify that in the issue and hopefully eventually promise creation will be explicit enough that it's also clear there
07:57
<jochen__>
https://tc39.github.io/ecma262/#execution-context-stack
07:59
<annevk>
jochen__: ooh also, reading https://github.com/whatwg/html/issues/4637 about the lazy allocation that does seem very weird
08:01
<jochen__>
well, that's blink's code being funky
08:01
<jochen__>
don't blame me for it
08:01
<jochen__>
the spec is clear, it says it wants "a new promise" https://www.w3.org/2001/tag/doc/promises-guide/#a-new-promise
08:01
<jochen__>
(should whatwg html link to this in all the algorithms that mention "let p be a new promise"?)
08:07
<Ms2ger>
fwiw, there's a long term plan to merge that into IDL: https://github.com/heycam/webidl/issues/490
08:07
<jochen__>
ah, cool
08:12
<annevk>
yeah, it should be merged
08:12
<annevk>
I mean, lazy allocation + cache is probably okay, as long as we add a test for it
13:38
<roelal>
Hi there. Could any "autoconfirmed user" add a user account for me (roel.arents⊙le) on wiki.whatwg.org? Because I'd like to propose "application-version" as a Meta Name Extension.
13:52
<annevk>
roelal: username?
13:56
<roelal>
roelal is my preferred username for the wiki
13:57
<annevk>
roelal: you'll get an email
13:58
<roelal>
received it, thx!
14:54
<Domenic>
jochen__: annevk my guess is that Blink/V8 associate promises with realms, and use that to figure out the muted error checks. Whereas the error reporting parts of the spec use "the current script", instead of "the promise's realm". Probably the spec should be more like the Blink/V8 model since it's more straightforward and well-defined at all times. But then we get into the issue where we have the same problem for sync errors,
14:54
<Domenic>
and that's a whole big mess...
14:58
<annevk>
yeah, the lazy getting is also weird, but if defined I guess I don't mind it so much
20:58
<gsnedders>
is it intended that given s' = URL serializer(URL parser(s)), s' will parse without validation errors?
22:23
<TimothyGu>
Domenic: https://bugzilla.mozilla.org/show_bug.cgi?id=1554014 :(
22:30
<Domenic>
Waugh