07:25
<hsivonen>
Let's land.
08:04
<annevk>
Hmm we can't land as somehow https://github.com/web-platform-tests/wpt/pull/61156 ended up with conflicts. Noam Rosenthal or foolip can you take a look?
08:49
<Noam Rosenthal>
Yea we changed a couple of tests when we decided to make PI attribute case sensitive, so those were conflicting. Fixed now
09:07
<sideshowbarker>

For the repro at https://github.com/LadybirdBrowser/ladybird/issues/8584#issuecomment-4129011132 we’re trying to figure out which of the following is what the spec requires:

  • beforetoggletogglebeforeunload
  • beforetogglebeforeunloadtoggle

beforetoggle → beforeunload → toggle is what WebKit and Blink do — but as far as I can see, beforetoggle → toggle → beforeunload is what the spec actually requires.

See my comment at https://github.com/LadybirdBrowser/ladybird/issues/8584#issuecomment-5339875259 for what I found from stepping through the spec.

09:08
<sideshowbarker>
Am I wrong? Is there something I missed?
09:17
<Noam Rosenthal>
annevk: it's mergeable now.
09:46
<Noam Rosenthal>
(Happy to click the button myself if you're Ok with)
12:08
<nicolo-ribaudo>
Is garbage collection happening "in parallel"?
12:08
<nicolo-ribaudo>
https://html.spec.whatwg.org/#ports-and-garbage-collection fires an event when the object is garbage collected, and I'm not sure if it should instead schedule a task to do it
12:09
<nicolo-ribaudo>
Maybe "disentangle" itself should schedule a task, otherwise if the two ports are in two threads it will synchronously call into one from the other
12:11
<nicolo-ribaudo>
Oh yeah all three main browsers already dispatch it asynchronously when calling .close(), even for the same-thread case. It's just a spec bug
12:28
<annevk>
Where did the commits go with the tests that I added?
12:28
<annevk>
I think you deleted my work. Can you please undo?
12:29
<annevk>
nicolo-ribaudo: JS defines when garbage collection happens, no? At some implementation-defined time for these new APIs which then goes through a host callback iirc?
12:35
<Noam Rosenthal>
Oh crap sure. I will re-cherry pick those when back at the keyboard
13:20
<nicolo-ribaudo>
JS delegates to the implementation to actually decide when to do what can be done after that "objects become unreachable", and at that point it also then re-delegates to the host to schedule the callback for it
13:21
<nicolo-ribaudo>
In https://tc39.es/ecma262/#sec-weakref-execution
13:26
<nicolo-ribaudo>
Anyway, I think the answer is "you cannot synchronously run JS code in a when X is garbage collected, do ... kind of thing"
13:37
<nicolo-ribaudo>
Ah it looks like no browser dispatches the close event at all, probably it's not worth fixing the spec for it, if anything it should just be removed 😅
13:58
<annevk>
Oh yeah, I think that's another Chromium vestigial thing I've been complaining about. :-(
14:00
<annevk>
I think that's https://github.com/whatwg/html/issues/10201
14:45
<Noam Rosenthal>
Done
14:49
<Noam Rosenthal>
(Sorry for this, forgot to do the double-rebase thing)
16:52
<keithamus>
Noam Rosenthal: https://github.com/web-platform-tests/wpt/pull/62060, https://github.com/web-platform-tests/wpt/pull/62061, https://github.com/web-platform-tests/wpt/pull/62062, https://github.com/web-platform-tests/wpt/pull/62063, & https://github.com/web-platform-tests/wpt/pull/62064 are some edge cases around sanitizer I think aren't covered yet.
17:10
<Noam Rosenthal>
Nice! I will make sure they're covered when I am back next week. Thanks for the tests!
18:02
<Noam Rosenthal>
Gemini analysis is that all of this is handled: https://gist.github.com/noamr/c674101503818a6b01896c0b39162868 I will go over it tomorrow/monday to see that it's not lying but you can do the same :)
18:19
<Noam Rosenthal>
Oh these are not specific to the streaming sanitizer PR, I see now
18:30
<Noam Rosenthal>
If it's all kinds of pre existing issues with sanitizer can you open specific issues @keithamus:matrix.org: ? Otherwise if one or more of these is specific to sanitizer please be more detailed about the problem
18:32
<Noam Rosenthal>
(in any case I am happy to review the PRs but maybe @fbraun:mozilla.orgor @evilpie:mozilla.org can do a better job)
20:19
<Dominic Farolino>
Does every single reference to https://webidl.spec.whatwg.org/#legacy-platform-object-getownproperty end up in the same place for you, as it does me?
21:37
<keithamus>
Sorry yeah I was mostly looking through the tests and trying to find gaps in tests, not specific to implementation issues in chrome.