| 12:40 | <zcorpan> | Andreu Botella: that could be better formalized I think |
| 12:41 | <Andreu Botella> | Well, when I'm reading a spec casually I appreciate things like that, rather than having to parse out the meaning of the boilerplate |
| 12:42 | <Andreu Botella> | but here I was trying to figure out whether those were run synchronously when the element is inserted, the attributes changes and so on... |
| 12:45 | <zcorpan> | Andreu Botella: file a spec issue :) I'm guessing sync since the spec doesn't say to queue a task or anything, but I'm not sure what is implemented |
| 12:45 | <Andreu Botella> | will do |
| 12:59 | <Noam Rosenthal> | In most cases the side effects of this either queue a task (e.g. to fire an error event) or perform other async operations like fetching, so it shouldn't be observable whether this is sync or async |
| 12:59 | <Noam Rosenthal> | ... would be good to find if there are cases where the difference here is observable in any way |
| 12:59 | <Noam Rosenthal> | Of course, formalizing it better would be a net win |
| 13:01 | <Andreu Botella> | yeah, it probably isn't observable, but if they're sync that would help for AsyncContext |
| 13:02 | <Noam Rosenthal> | Help in what way? |
| 13:04 | <Andreu Botella> | with AsyncContext, you can have state that is preserved across async propagations, such as awaits, or timers |
| 13:04 | <Andreu Botella> | or things like the propagation between inserting a <link> or <img> element and having the load event fired |
| 13:04 | <Andreu Botella> | so if the fetch and processing is triggered by inserion, the state would have to be saved synchronously when the element is inserted |
| 13:08 | <Noam Rosenthal> | Andreu Botella: those steps usually say "when the link element becomes browsing context connected" (e.g. https://html.spec.whatwg.org/#link-type-preload:becomes-browsing-context-connected) |
| 13:09 | <Noam Rosenthal> | Which is specifically the insertion steps into a connected tree: https://html.spec.whatwg.org/#becomes-browsing-context-connected |
| 13:10 | <Noam Rosenthal> | so I think it's already formally synchronous. Though of course can be spec'ed explicitly as "the link element's insertion steps" (but it wouldn't be normatively different) |
| 13:11 | <Andreu Botella> | I see |
| 13:11 | <Andreu Botella> | I should check if that is the case for all of the other possible cases, such as modifying an attribute and so on |
| 13:40 | <Noam Rosenthal> | I believe it is. If it doesn't say "queue a task", but rather "... when an attribute has changed", it implies it's sync. |
| 16:01 | <smaug> | annevk: Do you recall if the spec and webkit behavior in this case is on purpose https://mozilla.pettay.fi/moztests/ce_registry.html |
| 16:01 | <smaug> | I think it is surprising to not reuse the registry for initial about:blank and for the real page |
| 16:01 | <smaug> | Gecko and Blink agree here |
| 16:02 | <smaug> | Webkit creates a new registry apparently |
| 16:22 | <smaug> | Filed https://github.com/whatwg/html/issues/12226 |