03:26 | <Domenic> | hm. maybe our patch to add that was in error anyway. doesn't fail any of our local tests to remove it 😅 |
03:29 | <akaster> | None of the other engines produce a result with the xml ns applied. We just slapped that into our XML document parser while referencing https://html.spec.whatwg.org/multipage/infrastructure.html#xml |
03:30 | <akaster> | / To ease migration from HTML to XML, user agents conforming to this specification will place elements in HTML // in the http://www.w3.org/1999/xhtml namespace, at least for the purposes of the DOM and CSS. // The term "HTML elements" refers to any element in that namespace, even in XML documents. Basically asserting that the spec is telling us "any element placed in any XML or HTML document shall have the xhtml namespace" |
03:30 | <akaster> | which seems... unlikely to be the desired effect |
03:34 | <akaster> | There's a PR reverting that behavior that causes us to now pass https://github.com/web-platform-tests/wpt/blob/24c2e5fb6c/domparsing/XMLSerializer-serializeToString.html#L34 🤷♂️ |
03:35 | <akaster> | https://github.com/LadybirdBrowser/ladybird/pull/2579/files#diff-607aaf214af29d5eaa606d04c2e53b4a0e931f713843fd158cf1f47a6f84d2cbL95 |
03:50 | <akaster> | Oh I guess I missed this part on my read-through: "An XML parser, for the purposes of this specification, is a construct that follows the rules given in XML to map a string of bytes or characters into a Document object. NOTE: At the time of writing, no such rules actually exist" ... I guess we're purely in "wing it and run the tests" territory |
04:32 | <Domenic> | / To ease migration from HTML to XML, user agents conforming to this specification will place elements in HTML |
04:33 | <Domenic> | You can kind of tell that because it says "will place" instead of "must place", it means "there's a normative requirement somewhere else". |
09:55 | <annevk> | keithamus: https://github.com/whatwg/html/pull/9841 still has a number of (hidden) unresolved conversations |
10:01 | <keithamus> | annevk: I've resolved a couple that I believe are outdated (namely one around linking "no state", an outdated one about the table enumeration, and one around event retargeting which I feel I addressed but didn't get a response on). |
10:02 | <keithamus> | That means a few are left:
Is that all of them or am I missing some? |
10:06 | <keithamus> | annevk: I just resolved all but the -- vs - one, as I think they're addressed with the changes from yesterday. I think the -- vs - one is resolved, certainly feedback from OpenUI folks landed on -- as an ergonomic preference. |
10:07 | <keithamus> | In fact I'll resolve that too as you say in the comment you don't feel strongly and that we can relax it later if we see a need. I'd like to go ahead with -- considering the feedback from OpenUI. |
10:21 | <annevk> | keithamus: I've seen more. It also seems the latest rebase wasn't proofread. There are concerning rebase artifacts in the commit. |
10:22 | <keithamus> | :( |
10:28 | <nicolo-ribaudo> | annevk Ms2ger 🇧🇪 I prefer 10AM this Thursday because next week it conflicts with TC39, but I can adapt |
11:54 | <annevk> | akaster: when you parse XML and there's no namespace, you can't infer a namespace, not during parsing or serialization |
14:56 | <smaug> | I wonder if there could be some useful APIs to detect memory leaks, or give hints to devs about problematic patterns (like anti-AsyncContext 😉 ). Just debugging a youtube leak where iframe's window adds an event listener to window.top, and then iframe is removed from DOM. |
14:57 | <annevk> | We should just make it harder and harder for windows to reach each other without postMessage(). |
14:58 | <smaug> | that might be the best solution yes |
15:00 | <smaug> | There are also other common leaks, like the one Element has atm, where it accidentally keeps large disconnected subtrees around because of some DOM event kept alive by JS, and event's *target points to that subtree. |
15:11 | <Noam Rosenthal> | The WebPerf WG might be an interesting place to incubate this; perhaps <brainstorming> marking some interfaces in WebIDL as being "short lived" and having some way to report this to the timeline/reporting API if they're held for a long time |
15:12 | <smaug> | ("short lived" sounds like the webidl annotation Gecko has ProbablyShortLivingWrapper 😉 though that is a GC optimization ) |
15:41 | <Ms2ger 🇧🇪> | annevk: Panos Astithas would that work as well? |
15:52 | <Panos Astithas> | I only attend this week's slot when I'm in Europe, so Anne or Domenic will arrange for it to be discussed. |
16:18 | <annevk> | smaug: for event listeners there was that proposal to have a signal to remove them on disconnect |
16:18 | <annevk> | Now having such a feature doesn't mean it'll get used, but maybe the larger frameworks can get it right at least |
16:23 | <Noam Rosenthal> | Now having such a feature doesn't mean it'll get used, but maybe the larger frameworks can get it right at least |
16:25 | <annevk> | Yeah that seems fine, especially if Domenic can attend as well. |
16:30 | <smaug> | In this youtube case the listener is added to a target which isn't disconnected. And the Element case doesn't involve listeners. In other words, there are lots of ways to leak, and leaks happen often. |
16:56 | <annevk> | Ah fair. Hard to guard against folks thinking objects are cheaper than they are. (Or perhaps not thinking about it very much at all.) |
17:14 | <Shannon Booth> | Hey Ms2ger 🇧🇪 (and please let me know if there is a better way I can ask questions about shadow realms!) - the next point which I'm running into with shadow realm integration is for high resolution time. Currently, that takes a global object so that it can access the relevant ESO to determine if cross-origin isolated. Clearly, that doesn't work for shadow realms as there is no ESO unless we go up to the principal. This is needed by HTML spec for stuff like https://html.spec.whatwg.org/multipage/interaction.html#sticky-activation. Would HTML spec still be passing through global object with shadow realm introduction to solve this case? |
17:18 | <Shannon Booth> | And also DOM events type things, maybe that specific one isn't exposed, I didn't check |
17:24 | <annevk> | I hope sticky activation isn't exposed. I do think we might have to pass some kind of time resolution thing in for Temporal stuff. |
17:25 | <Shannon Booth> | Yeah, I shouldn't have used that example, the actual case I was running into is for DOM events |
17:25 | <Shannon Booth> | https://dom.spec.whatwg.org/#inner-event-creation-steps |
17:27 | <annevk> | Shannon Booth: I think we'd pass in the principal global object for this case, FWIW, but I haven't verified if this is actually specified properly in the PR. |
17:29 | <annevk> | For some of these it would arguably be nice if the ShadowRealm could configure things as well, such as being able to simulate a low resolution environment, but I think the idea is that eventually maybe ShadowRealm would get ways to configure certain host hooks, provided the technology is useful enough and gets enough traction. |