| 16:06 | <bkardell> | hey @Domenic - could you help me figure out the number and order of pulls and tests that we need in order to get this interface name changed? |
| 16:09 | <bkardell> | I'm happy to do whatever, but it feels like we are going in circles a little and while I'm sure we can work through it, I'm unsure how. The changed `HTMLOrForeignObject` interfafce name isn't 'observeable', but the things that reference it are and have impacts. There seems to be confusion, at least for me, about how to resolve this appropriately... would appreciate any guidance |
| 16:16 | <Domenic> | bkardell: it sounds like you need to do a PR to change tabIndex's behavior on HTMLOrSVGElement first. |
| 16:21 | <bkardell> | Domenic: so... first a pull that adds the tabIndex behaviors for links in MathML Core, very like the one reviewed earlier, right? |
| 16:22 | <Domenic> | bkardell: no, to HTML |
| 16:22 | <Domenic> | bkardell: i.e. pull out https://github.com/whatwg/html/pull/5248/files#diff-36cd38f49b9afa08222c0dc9ebfe35ebR74621 into a separate one-line PR, with its own issue template, which can have its own implementer-support debate with rniwa. |
| 16:23 | <bkardell> | that is what I meant - that behavior is decided by mathml core, based on your questions |
| 16:23 | <bkardell> | previously, it basically wasnt specified |
| 16:23 | <bkardell> | ok |
| 16:24 | <bkardell> | will do... just wanted to make sure I didn't send that and someone say "why this?" and we work backwards back to where we were :) |
| 16:29 | <Domenic> | Yeah, I mean, I prefer doing them together, but rniwa seems to feel pretty strongly, I guess because the tabIndex changes are more controversial than anticipated. |
| 16:29 | <Domenic> | (This makes me extra glad we didn't just do the renaming, and used it as an opportunity to get the appropriate scrutiny on the integration!) |
| 16:47 | <annevk> | shu: did you consider deleting SAB on Window only? |
| 16:47 | <annevk> | That TC39 discussion sure is full of confusion btw |
| 17:08 | <innovati> | Is it explained or written anywhere the reasons or motivations or benefits of HTML having tag omission built in? |
| 17:11 | <TabAtkins> | Legacy of extremely old HTML parsers written to be permissive to badly-written HTML, where people thought that tags were formatting commands rather than tree-building instructions. |
| 17:14 | <annevk> | No, it was an SGML brevity feature |
| 17:15 | <shu> | annevk: deleting SAB on window only instead of? |
| 17:16 | <annevk> | shu: we have many globals |
| 17:17 | <annevk> | shu: Window, 3 worker variants, X worklet variants, some WebRTC thing I believe never shipped |
| 17:17 | <shu> | annevk: well i'm not proposing anything for what HTML should do. on 262 i think all we're gonna do is add a sentence that says SAB might not be there |
| 17:17 | <shu> | annevk: oh workers, i see, |
| 17:17 | <annevk> | shu: wait what? I thought V8 was proposing to not expose it? |
| 17:18 | <annevk> | shu: in an HTML issue |
| 17:18 | <shu> | annevk: we are. i'm sorry i misunderstood the globals things |
| 17:19 | <shu> | annevk: the goal here is just backwards compat and i don't have data on what kinds of globals the feature detection code runs on in addition to window |
| 17:19 | <shu> | annevk: i imagine workers would need removal as well |
| 17:20 | <shu> | annevk: worklets, probably not? i just don't have the data though |
| 17:20 | <annevk> | shu: I’m also very surprised Firefox has not had one report of something being broken |
| 17:21 | <annevk> | shu: did you try Firefox Nightly on one of these sites? |
| 17:22 | <shu> | let me see if i have the data to try |
| 17:22 | <TabAtkins> | annevk: I don't think that's right? That's the <foo/> feature. |
| 17:22 | <TabAtkins> | innovati is, I believe, talking about end-tag omission and html/head/body omission. |
| 17:22 | <annevk> | Seems unlikely it would affect service workers |
| 17:22 | <annevk> | TabAtkins: DTDs encoded that kind of stuff iirc |
| 17:23 | <shu> | annevk: the thing is how do i actually check for breakage? |
| 17:23 | <annevk> | TabAtkins: it’s not new in HTML”5” |
| 17:24 | <TabAtkins> | non sequitur? nobody mentioned it being new. |
| 17:24 | <annevk> | shu: dunno, an ad that stops working seems kinda okay |
| 17:24 | <annevk> | TabAtkins: up until 5 it was SGML-based |
| 17:24 | <shu> | annevk: that is a not a product decision i can make, you know? |
| 17:26 | <TabAtkins> | annevk: Ok, I have no idea what you think you're responding to. |
| 17:26 | <annevk> | That tags being optional is related to bad parsers; it was by design |
| 17:27 | <TabAtkins> | end tags being optional was never an sgml feature |
| 17:27 | <annevk> | Some stuff is related to bad parsers, but not that |
| 17:28 | <annevk> | TabAtkins: that’s wrong |
| 17:28 | <TabAtkins> | SGML had the ability to close a tag with a plain /, but you couoldn't completely omit it afaik |
| 17:28 | <TabAtkins> | p/her'es some test in a paragraph/ |
| 17:30 | <jgraham> | DTDs which afaik are SGML-based can express optional end tags for elements |
| 17:30 | <annevk> | Yeah I recommend reading the syntax section on Wikipedia or some such |
| 17:31 | <TabAtkins> | ah indeed i'm wrong |
| 17:31 | <TabAtkins> | sorry |
| 17:32 | <TabAtkins> | https://en.wikipedia.org/wiki/Tag_omission |
| 17:37 | <jgraham> | SGML very muh had the design philosophy "there should be at least three, and preferably more than three, increasingly non-obvious ways to do it" |
| 17:39 | <shu> | annevk: okay, i don't think there's much value in having SAB omitted from only a subset of globals in html |
| 17:39 | <shu> | annevk: that would be an even weirder transitional state |
| 17:39 | <annevk> | shu: mostly to enshrine the hopefully temporary nature of this |
| 17:40 | <shu> | annevk: fair enough. though to me that enshrining is that you can workaround via wasm |
| 17:40 | <shu> | annevk: i'll raise the question internally |
| 17:40 | <shu> | about e.g. worklets |
| 17:41 | <annevk> | shu: fair, I don’t care strongly, was mostly curious |
| 17:41 | <annevk> | shu: btw, do you know why Memory requires maximum when shared is true? |
| 17:41 | <shu> | that i do not |
| 17:42 | <shu> | i've heard that wasm memory have restrictions in general, like alignment and page boundaries and such |
| 17:46 | <annevk> | shu: also, with the 262 “approach” I’m not really sure what HTML should say |
| 17:46 | <annevk> | shu: prose I suppose whenever we create a global that indicates it? |
| 17:47 | <shu> | annevk: i think HTML is safe to go ahead with speccing it as a deletion |
| 17:48 | <shu> | the 262 PR, AFAIU, is only to give allowance for being "conformant" in accordance with that paragraph, even if SAB isn't there, because there're different interpretations of "should all globals be present to be considered conformant" |
| 17:48 | <shu> | which, tbqh for me, is a pedantic non-interesting question |
| 17:51 | <annevk> | Yeah it doesn’t help |
| 17:52 | <annevk> | And the continued insistence that host equals implementation also continues to baffle me |
| 17:53 | <shu> | annevk: well, as an editor, i am happy to better define the terms up front |
| 17:53 | <shu> | annevk: what's the language HTML uses to distinguish? |
| 17:57 | <innovati> | Indeed I did mean </foo> and not <foo /> but thanks very much for the replies! very insightful <3 |
| 18:03 | <annevk> | shu: HTML directly targets user agents |
| 18:03 | <annevk> | shu: so implementation-defined is per-user-agent |
| 18:04 | <annevk> | shu: I would expect host-defined things to be consistent across user agents of a given host (unless the host makes it implementation-defined) |
| 18:07 | <annevk> | shu: also, didn’t know you were, congrats |
| 18:08 | <shu> | annevk: so the contention has always been that ecma262 can't distinguish implementation-specific and host (upstream spec)-specific observability. the reality is something like, editorially, host-defined means "go read about it upstream" and implementation-defined means "good luck" |
| 18:08 | <shu> | annevk: thanks! |
| 18:08 | <annevk> | (Did notice you resolving one of the event loop integration issues which was nice to see!) |
| 18:08 | <shu> | annevk: yeah sorry that took so long :/ |
| 18:10 | <annevk> | shu: in that case make everything a hook and let upstream decide, but I don’t think that’s what implementers want |
| 18:11 | <annevk> | shu: I suspect implementers want some stuff to not be defined and are happy with upstream deciding the remainder |
| 18:11 | <shu> | annevk: correct |
| 18:12 | <shu> | annevk: some things are legit impl-defined, like exponentiation, etc |
| 18:12 | <shu> | NaN bits |
| 18:12 | <bkardell> | dont forget those early sgml ideas are from when memory was extremely precious too ... |
| 18:13 | <bkardell> | the reasoning of something like 'a paragraph, by definition, can not be inside another' so we can save some characters made some sense |
| 18:14 | bkardell | waded into conversation late, with no good relevant input :-p |
| 18:56 | <annevk> | Some, maybe, but the fact you’d need a DTD in order to parse, maybe not from that perspective |
| 19:01 | <annevk> | shu: yeah, that matches my understanding; be great to slowly move things in that direction |
| 20:09 | <jgraham> | bkardell: It did occur to me that if I'd said something mean about SGML in 2007 there would have immediately been a thread on xml-dev complaining about how WHATWG people don't understand CS or something, so compared to that… |
| 20:23 | <bkardell> | lol |
| 21:12 | <annevk> | shu: “Or is the confusion perhaps that providing concurrent access is a dynamic property, and not a host property?” Yup |
| 21:13 | <shu> | annevk: ah ha, let me ponder that and try to wordsmith |
| 21:20 | <annevk> | I mean, I guess it’s both |
| 22:29 | <Bakkot> | annevk thoughts on changing it to "Hosts are not required to provide the SharedArrayBuffer constructor *in cases where* they do not provide concurrent access to SharedArrayBuffer objects" |
| 22:30 | <Bakkot> | (here "in cases where" has replaced "if") |
| 22:30 | <Bakkot> | unrelated: with CSP, does `strict-dynamic` allow inserting inline scripts? |
| 22:30 | <Bakkot> | chrome and firefox say yes, the spec (afaict) says no |
| 22:30 | <Bakkot> | I asked on the CSP issue tracker as well but I have lost all hope of getting responses to my questions there |