| 00:59 | <EveryOS> | I had gotten a bit confused. I was reading #the-style-element, which linked to #associated-css-style-sheet, and I noticed it required `HTMLStyleElement` to implement `linkStyle`. I hadn't realized that Web IDL put includes at the bottom, so I was like "where is linkStyle implemented". Eventually, I figured it out. |
| 09:21 | <JakeA> | annevk: Domenic: gsnedders: Turns out it's used on >30% of page loads, so I guess sync IPC is a no-go (https://www.chromestatus.com/metrics/feature/timeline/popularity/2719). I pitched some ideas about what 'approximate' values we could use here https://github.com/whatwg/html/issues/2018#issuecomment-671887516 |
| 09:32 | <MikeSmith> | jgraham: annevk: so it turns out that Firefox is actually failing that html5lib test I mentioned here about a week ago |
| 09:32 | <MikeSmith> | https://freenode.logbot.info/whatwg/20200805#c4645508 |
| 09:33 | <MikeSmith> | when I mentioned it last week I hadn’t realized it’s a testing fragment parsing, not normal parsing |
| 09:34 | <MikeSmith> | so the actual test that’s failing is, parsing of <math><tr><td><mo><tr> with <tr> as the context |
| 09:34 | <MikeSmith> | https://github.com/html5lib/html5lib-tests/blob/master/tree-construction/math.dat#L12 |
| 09:35 | <MikeSmith> | actually, that test and 3 other <math> fragment-parsing tests |
| 09:35 | <MikeSmith> | https://wpt.live/html/syntax/parsing/html5lib_innerHTML_math.html |
| 09:36 | <MikeSmith> | https://wpt.fyi/results/html/syntax/parsing/html5lib_innerHTML_math.html?label=master&label=experimental&aligned |
| 09:41 | <MikeSmith> | ... |
| 09:41 | <MikeSmith> | so now I wonder why those failures hadn’t been noticed |
| 09:42 | <MikeSmith> | or else if they had been noticed, why there’s not an open Firefox bug about fixing them |
| 09:43 | <MikeSmith> | and I wonder if for Firefox CI, they’re flagged as expected failures (and if so, why) |
| 09:51 | <jgraham> | MikeSmith: https://searchfox.org/mozilla-central/source/testing/web-platform/meta/html/syntax/parsing/html5lib_innerHTML_math.html.ini |
| 09:52 | <jgraham> | Looks like we added expected: FAIL on a sync in 2018 |
| 09:53 | <jgraham> | It's hard to get people to look at all the expected failures, although we're getting better (layout team in particular are doing a great job) |
| 09:56 | <MikeSmith> | jgraham: ah thanks |
| 09:57 | <MikeSmith> | well as far as looking at the failures, I’m checking the source now |
| 09:59 | <MikeSmith> | I think it has to be some problem with the code not putting the tree builder into the right insertion mode for the context node |
| 10:00 | <MikeSmith> | ...because it’s getting the same test right if it’s run with a different context node |
| 10:01 | <MikeSmith> | specifically, that test works if the context element is td, but fails if the context element is tr |
| 10:03 | <jgraham> | hsivonen: ^ |
| 10:08 | <zcorpan> | I try to use BroadcastChannel in a test. Find that it is still not implemented in WebKit. Find https://bugs.webkit.org/show_bug.cgi?id=161472#c4 |
| 10:12 | <MikeSmith> | I think Ryosuke mentitioned the same thing in an issue-tracker discussion yesterday |
| 10:14 | <MikeSmith> | or maybe that was another feature, in which case it’s a general issue blocking multiple features |
| 12:30 | <smaug____> | MikeSmith: I think hsivonen is going to merge some changes from the validator to Gecko, to ensure the behavior is the same |
| 12:36 | <MikeSmith> | smaug____: I think I know the ones he’s planning to merge (they’re changes I wrote), but for this math fragment-parsing case, there’s no change yet — the Java (validator) parser also has the same bug, unfixed |
| 12:43 | <smaug____> | I see |
| 20:39 | <shu> | where in the HTML spec is the meaning of "resolve a promise" defined? |
| 20:41 | <shu> | ah, is it using the one in webidl? https://heycam.github.io/webidl/#resolve |
| 20:41 | <domfarolino> | shu: https://heycam.github.io/webidl/#resolve |
| 20:41 | <shu> | cool, thanks |
| 20:41 | <domfarolino> | Ah you found it |
| 20:41 | <domfarolino> | Yeah I think that's it |
| 20:42 | <TabAtkins> | ah dang y'all beat me |
| 20:42 | <shu> | i am glad irccloud doesn't autolink repo pictures |
| 20:43 | <domfarolino> | lol |
| 21:19 | <EveryOS> | https://www.irccloud.com/pastebin/iqADohBo/ |
| 21:20 | <EveryOS> | Oof, accidentally posted as snippet |
| 21:26 | <Domenic> | If you abandon back-compat, you can indeed get a much simpler parser |
| 21:27 | <Domenic> | https://ygg01.github.io/xml5_draft/ is one such example, especially if you subtract all the DOCTYPE states. |
| 21:30 | <EveryOS> | Oh, that's cool |
| 21:33 | <EveryOS> | Huh, Processing Instruction state? That must be something from XML that is not in HTML |
| 21:45 | <EveryOS> | Tbh I think that, as far as parsing HTML5, the complexity is in the Insertion Modes |
| 21:45 | <EveryOS> | Yes, there are more Tokenization states than Insertion Modes |
| 21:45 | <EveryOS> | But the Insertion modes have large branches for different tokens |
| 21:45 | <EveryOS> | And also, the logic used in Insertion Modes is much more complex than that of Tokenization States, and can even call into other algorithims |
| 21:49 | <EveryOS> | https://usercontent.irccloud-cdn.com/file/OruABbaj/image.png |
| 21:49 | <EveryOS> | The blue boxes are TODO statements |
| 21:49 | <EveryOS> | I have many more in the insertion state point than my tokenization point |
| 21:54 | <Domenic> | Good point, if you have a less complex language, then tree construction becomes trivial once you've tokenized. |