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