| 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 |