02:14
<sideshowbarker>
emilio: (or anybody else who might remember) Do you recall how we ended up with the W3C being the home for the Intersection Observer work/spec — rather than WHATWG?
06:24
<annevk>
Domenic: zcorpan: either of you around to rs https://github.com/whatwg/html/pull/10260?
06:45
<emilio>
emilio: (or anybody else who might remember) Do you recall how we ended up with the W3C being the home for the Intersection Observer work/spec — rather than WHATWG?
I think it predates my involvement with that spec. I assume because it's very css-related? But then arguably it should move to csswg-drafts, like resizeobserver
14:28
<zcorpan>
Does location.reload() end up calling "navigate" somewhere? Or no?
14:42
<Noam Rosenthal>
it does not I believe, navigate is only for regular push/replace navigations ^ zcorpan
14:43
<Noam Rosenthal>
https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigate 20.9 populates the history entry with type "navigate". when you traverse/reload you wouldn't do that
14:44
<zcorpan>
Noam Rosenthal: thanks. Yeah that's my conclusion as well, but stepping through the spec from reload() is not easy :)
14:45
<Noam Rosenthal>
zcorpan: yea, the "session history traversal queue" (aka the browser process in some implementations) is a very technical part of the spec. I get lost in it a lot
14:49
<zcorpan>
I'm working on tests for https://github.com/whatwg/html/pull/10226 - so reload or history traversal would not cancel the lazy load
14:55
<Noam Rosenthal>
zcorpan: that iframe will always be on the initial about:blank page, no? since it's lazy and hasn't been loaded yet?
14:56
<zcorpan>
Noam Rosenthal: I believe so
14:58
<Noam Rosenthal>
zcorpan: wondering what should be the behavior with same-document navigations. e.g. you pushState in that about:blank page before it's lazy-loaded
14:59
<Noam Rosenthal>
perhaps a safe-ish way to look at this is to cancel those steps when the about:blank page is about to be unloaded
14:59
<Noam Rosenthal>
though maybe that's too late for the replace case
15:02
<zcorpan>
Noam Rosenthal: the spec change only cancels lazy-load in "navigate", which should match Chromium. I think it's a sufficient fix.
15:03
<Noam Rosenthal>
zcorpan: This particular navigate in the PR is also for e.g. fragment navigations
15:04
<zcorpan>
Noam Rosenthal: yeah
15:05
<zcorpan>
My test for fragment navigation seems flaky in chromium, so maybe it doesn't exactly match
15:07
<Noam Rosenthal>
zcorpan: looking at the code for this in chromium I'm pretty sure we cancel lazy loading on any cross-doc navigation
15:15
<Noam Rosenthal>
yea I guess you'd want to do this whenever you abort a regular navigation
15:18
<zcorpan>
Noam Rosenthal: PR for my tests at https://github.com/web-platform-tests/wpt/pull/45650
15:22
<Noam Rosenthal>
zcorpan: would be interesting to test also what happens when the iframe receives lazy steps after a navigation is started but before it's committed. e.g. you have an about:blank with lazy and without a src, you navigate it with a link, then set a src, and the new document is ready to commit before the lazy steps are run
15:23
<Noam Rosenthal>
I think what chromium does here would differ from your spec PR (not saying here what the "right" solution is)
15:25
<zcorpan>
Noam Rosenthal: hmm ok, can you comment that in the PR? I can add such a test tomorrow
16:06
<Jake Archibald>
Does anyone have background on why slot.assign(...nodes) only works with nodes that are direct children of the host?
16:45
<Noam Rosenthal>
Jake Archibald: sounds like https://github.com/WICG/webcomponents/issues/574, lots of discussion there
16:58
<Jake Archibald>
Noam Rosenthal: yeah, that's it, thanks
16:58
<Jake Archibald>
ugh
16:58
<Jake Archibald>
That's a shame
16:59
<Noam Rosenthal>
yea I would probably use the same utterance
17:01
<Noam Rosenthal>
there are good/complex points there, hopefully we can revisit this in the future
17:01
<annevk>
I don't think that's it. We had the discussion again for the imperative API (which that issue is not about) and I recall we were open to revisiting that at some point.
17:03
<Noam Rosenthal>
there's some openness about revisiting it in the future also in the #574 discussion
17:06
<annevk>
It was initially a goal of the imperative API to allow that. I kinda forgot why it ended up with the same restriction.
17:09
<annevk>
https://github.com/whatwg/html/issues/3534#issuecomment-371392184 is the more relevant discussion I think.
17:10
<Jake Archibald>

Still unclear why the proposal does not state that though or why assign() succeeds despite failing.

17:10
<Jake Archibald>
Yeah, that was a real gotcha for me
17:10
<Jake Archibald>
not even a warning
17:13
<Jake Archibald>
oh well. I hope it gets revisited at some point
17:14
<annevk>
It seems like Google and Mozilla blocked it.
22:00
<Dominic Farolino>
Suppose I have a spec variable that is "initially null", and I set it to an {{any}} return value of [=invoking=] a JS callback.
22:01
<Dominic Farolino>
If that callback returns "null" in JS, is my spec variable still "null" (i.e., indicating that it was never set), or is it some special "Web IDL {{null}}" value or something?
22:01
<Dominic Farolino>
(I know {{null}} does not exist in WebIDL, but I'm trying to understand if spec prose "null" is the same as null that goes through WebIDL)
22:08
<Jeffrey Yasskin>
I think folks reading that will assume the two "null"s are the same, so you should write the spec so that assumption doesn't cause problems.
22:11
<Andreu Botella>
Infra's definition of null treats it as interchangeable with the JS null value, but WebIDL's any conversion converts JS null to the null object?, which is not explicitly said to be the same as Infra's null.
22:14
<Jeffrey Yasskin>
WebIDL 'any' is a weird beast, in that "one value of the any type is the unsigned long 150, while another is the long 150. These are distinct values." Specs often implicitly convert all those contained values into a common spec type, but that's not really justified by WebIDL.
22:17
<Jeffrey Yasskin>
I do think the null object? value is the same as the Infra null: https://webidl.spec.whatwg.org/#idl-object talks about object? adding "the null value" to the type, and it's no more distinguished from Infra than "true" and "false" are in https://webidl.spec.whatwg.org/#idl-boolean.