| 06:18 | <domfarolino> | annevk: Often I slowly click "resolve conversation" as I knock out individual review items on a PR locally. This is staggered due to interrupting homework or other things. If that ends up kicking off like 20 emails/notifs, lmk and I won't do that lol |
| 08:47 | <annevk> | domfarolino: I don't get email from GitHub, I only see it if it's reflected in /notifications |
| 08:51 | <annevk> | Domenic: I published Quirks as it seems you forgot that |
| 08:56 | <nox> | annevk: I think Chrome and the spec disagree about <link rel="modulepreload">, and they are the only major browser to implement that right? |
| 08:58 | <nox> | When inserting <link rel="modulepreload" href="data:text/html,"> in a document, shouldn't step 12 of https://html.spec.whatwg.org/multipage/links.html#link-type-modulepreload%3Afetch-and-process-the-linked-resource-2 immediately fire an error event? |
| 08:58 | <nox> | Is it just a case of the spec being wrong? Step 3 fires an error event too but it does so by queuing a task, is it just missing that piece in step 12 and 13? |
| 09:00 | <annevk> | nox: fetch a module script is a weird in parallel-like algorithm |
| 09:00 | <annevk> | nox: step 12 happens from a task |
| 09:00 | <annevk> | nox: it's on the list of things Domenic wants to refactor |
| 09:00 | <nox> | annevk: I feel like the weirdness sho-- ok |
| 09:00 | <nox> | If that's something to refactor I have nothing more to say then. :) |
| 09:01 | <annevk> | nox: Firefox might also support that btw |
| 09:01 | <annevk> | nox: but load/error events should never be sync ideally |
| 09:02 | <nox> | annevk: MDN said it doesn't but the support table was gigantic so maybe I didn't read it correctly, shrug anyway, if the events are not sync I can't observe them from a script being inserted at the same time so I don't care. |
| 09:02 | <nox> | annevk: FYI https://github.com/whatwg/html/pull/4354#issuecomment-463693419 :) |
| 09:06 | <nox> | annevk: "<meta http-equiv> — How do I even observe those from JS?" I should be able to observe http-equiv="default-style" right? |
| 09:09 | <annevk> | nox: yeah, I guess that should flip the disabled nature of a style sheet which you can observe synchronously |
| 09:09 | <nox> | Nice |
| 09:10 | <annevk> | nox: I guess modulepreload you could detect in theory if the script removes it? Unless removing is specified to have an effect as well |
| 09:11 | <nox> | annevk: Ah right, if it's removed before it's handled, no event should be fired? |
| 09:13 | <nox> | annevk: Nah the event should still be fired I think. |
| 09:13 | <nox> | It's not like the spec says "if it's not connected anymore by this point, just don't do anything anymore". |
| 09:14 | <annevk> | nox: yeah, but if they use some common code path and nobody tested for it, but I'm not going to block your stuff on testing for this |
| 09:15 | <nox> | annevk: Thanks. 😂 |
| 09:16 | <nox> | How come there is no emoji for "wipe sweat off forehead" |
| 10:06 | <zcorpan> | annevk: loading the quirks spec RD fails to load the stylesheet... |
| 10:06 | <zcorpan> | The FetchEvent for "https://resources.whatwg.org/spec.css" resulted in a network error response: an "opaque" response was used for a request whose type is not no-cors |
| 10:06 | <zcorpan> | spec.css:1 Failed to load resource: net::ERR_FAILED |
| 10:07 | <annevk> | zcorpan: I thought RDs did not have style sheets |
| 10:07 | <annevk> | I guess it does |
| 10:08 | <zcorpan> | <link crossorigin href="https://resources.whatwg.org/spec.css" rel="stylesheet"> |
| 10:08 | <zcorpan> | <link crossorigin href="https://resources.whatwg.org/review-draft.css" rel="stylesheet"> |
| 10:09 | <annevk> | zcorpan: ah, if you clear the service worker it'll work |
| 10:10 | <annevk> | zcorpan: it seems we forgot to clear the cache when we updated the service worker to use CORS for all the things |
| 10:11 | <annevk> | Caching is hard... |
| 10:11 | <annevk> | Or cache invalidation, rather |
| 10:12 | <zcorpan> | annevk: hmm ok. does the serviceworker need a new version or something? |
| 10:14 | <annevk> | zcorpan: maybe, it does seem like the cache key was updated since this change, not sure what's going on |
| 10:15 | <annevk> | zcorpan: no, that seems to be automatically generated based on whatever the latest version of the backing script is |
| 10:19 | <annevk> | zcorpan: I see what the problem is, we match() against all caches, including prior caches |
| 10:20 | <annevk> | I am surprised Mr. Service Worker didn't notice that! |
| 10:21 | annevk | attempts to write a patch |
| 10:29 | <nox> | annevk: All browsers handle meta after script, good thing I tested for that. |
| 10:31 | <annevk> | zcorpan: https://github.com/whatwg/whatwg.org/pull/239 |
| 10:44 | <annevk> | foolip: zcorpan: if around, could you stamp https://github.com/whatwg/html/pull/4366? |
| 10:44 | <annevk> | foolip: zcorpan: (I'll merge) |
| 10:48 | <zcorpan> | annevk: reviewed |
| 10:49 | <zcorpan> | annevk: this is supposed to prune old cache entries, right? |
| 10:49 | <zcorpan> | return Promise.all(keys.filter(key => key !== cacheKey).map(key => caches.delete(key))); |
| 10:50 | <annevk> | zcorpan: yes and it will, but it races with returning a response I think |
| 10:50 | <zcorpan> | ok |
| 11:21 | <bblfish> | Hi, I am doing research on languages and semantics. I noticed that the HTML5 standard speaks about meaning, and was wondering if there was some kind of formal semantics for it that I could refer to... |
| 11:30 | <annevk> | bblfish: example of formal semantics? |
| 11:32 | <bblfish> | annevk: I guess it could be something topological. I thought I had seen something about areas of rectangles somewhere... |
| 11:32 | <bblfish> | perhaps it is just informal, which is also fine for my needs |
| 11:39 | <bblfish> | "Because HTML conveys meaning, rather than presentation, the same page can also be used by a small browser on a mobile phone, without any change to the page. Instead of headings being in large letters as on the desktop, for example, the browser on the mobile phone might use the same size text for the whole page, but with the headings in bold." |
| 11:41 | <bblfish> | That passage is quite nice. |
| 11:42 | <bblfish> | It looks like it is quite recent, as I don't see that passage in the html5.3 on w3c |
| 11:43 | <bblfish> | I got the passage from https://html.spec.whatwg.org/#semantics-2 |
| 11:44 | <bblfish> | btw, I have to write my thesis in LaTeX, and was wondering how I could site that in bibtex... (academia stuff ...) |
| 11:46 | <nox> | annevk: I think I found yet another edge case. |
| 11:48 | <nox> | annevk: Make an empty script. Insert a script and two text nodes in empty script. Make the inserted script replace the second text node by itself. |
| 11:48 | <nox> | (or a different text node, that's not important here) |
| 11:49 | <nox> | Wait no, it's not a problem anymore with deferredStepsQueue, nice. |
| 11:49 | <nox> | And the HTML spec does absolutely nothing when nodes are removed from a script element, so it's doubly not a problem, disregard me. |
| 12:02 | <annevk> | bblfish: I don’t really know, sorry |
| 12:02 | <annevk> | nox: 👍🏻🎉 |
| 12:15 | <annevk> | nox: so <meta http-equiv=default-style> is queued as well? I guess we need to test removal then? |
| 12:18 | <nox> | Mmh? |
| 12:18 | <nox> | annevk: Damn my comment is confusing. |
| 12:20 | <nox> | annevk: No the test passes everywhere it seems. |
| 12:20 | <nox> | I just wrote the opposite of what I wanted to say, I think. |
| 12:21 | <nox> | annevk: I will double check when I’m back from lunch. |
| 12:22 | <nox> | Just realised I didn’t even push the damn test ugh |
| 13:57 | <nox> | annevk: So yes, it's queued. |
| 13:58 | <nox> | annevk: Fixed my comment https://github.com/whatwg/html/pull/4354#issuecomment-465078124 |
| 13:58 | <nox> | Safari obviously handles it after script, given it inserts nodes from fragments one by one. |
| 13:58 | <nox> | And I pushed the WPT test. |
| 13:58 | <annevk> | nox: but if you have a script after the meta it'll execute after the style sheet change? |
| 13:59 | <nox> | annevk: Let me quickly check that. |
| 14:00 | <nox> | annevk: …no except in Safari, omg this is so bad |
| 14:01 | <annevk> | so it's from a task, possibly async in some browsers |
| 14:01 | <nox> | annevk: Not exactly. |
| 14:01 | <annevk> | It has to be one or the other, no? |
| 14:01 | <nox> | annevk: If I comment https://github.com/web-platform-tests/wpt/blob/9c8d1abc1f409bd01799cac2409367f5a5a4248c/dom/nodes/Node-appendChild-script-and-default-style-meta-from-fragment.html#L25 |
| 14:02 | <nox> | Never mind I checked the wrong thing when I commented that. |
| 14:02 | <nox> | Let me check what .display says after the entire appendChild call. |
| 14:03 | <nox> | annevk: Ok yes, it's a queued task in Firefox |
| 14:03 | <nox> | and in Chrome too. |
| 14:12 | <nox> | annevk: Wait no, |
| 14:12 | <nox> | annevk: I'm not even sure Firefox supports http-equiv="default-style" now… |
| 14:15 | <bblfish> | Ah yes, I was thinking that the css box model could be thought of as a model for html. |
| 14:17 | <annevk> | nox: hmm https://software.hixie.ch/utilities/js/live-dom-viewer/saved/6654 and https://software.hixie.ch/utilities/js/live-dom-viewer/saved/6655 suggest it does to me |
| 14:17 | <nox> | Mmh… |
| 14:18 | <nox> | Wtf am I doing wrong then… |
| 14:18 | <annevk> | nox: contrast with https://software.hixie.ch/utilities/js/live-dom-viewer/saved/6657 |
| 14:18 | <annevk> | nox: there might be some issues here with dynamic updates |
| 14:19 | <annevk> | nox: if I start playing with the <meta> element in that textarea some browsers persist the http-equiv stuff (though maybe that's how it should be) |
| 14:19 | <annevk> | zcorpan: testing blur() does nothing means something else has to do something |
| 14:19 | <annevk> | zcorpan: it means focus() has to result in something being focused |
| 14:21 | <nox> | annevk: That's so weird. |
| 14:21 | <nox> | annevk: If I open my test in Firefox, I can read "hello". |
| 14:22 | <nox> | annevk: Oh. I have a clue. |
| 14:23 | <nox> | Or not. |
| 14:24 | <nox> | annevk: "data:text/css,#div{display:none}" 😂 |
| 14:26 | <annevk> | nox: that # wants to be escaped |
| 14:26 | <nox> | Yep |
| 14:26 | <nox> | annevk: That's a bug in Safari too. |
| 14:27 | <annevk> | Oh, I thought only Chrome had that bug |
| 14:27 | <annevk> | That's too bad, though Chrome is close with regards to fixing it |
| 14:27 | <nox> | annevk: Chrome doesn't have that bug anymore AFAICT. |
| 14:28 | <nox> | annevk: I.e. if I don't escape '#', the div is never display:none. |
| 14:28 | <nox> | annevk: Next problem, |
| 14:29 | <annevk> | ok |
| 14:29 | <nox> | https://irccloud.mozilla.com/pastebin/v4cya5CY/ |
| 14:29 | <nox> | if it's a queued task, shouldn't the task run between the two tests, and my last assertion about .display be ok? |
| 14:29 | <nox> | s/the two tests/the two scripts/ |
| 14:29 | <annevk> | nox: script's are not queued as tasks |
| 14:30 | <nox> | annevk: I know that, but doesn't the loop run queued tasks between scripts or whatever? |
| 14:30 | <annevk> | nox: well, I guess the parser queues, but the priority could be different |
| 14:30 | <nox> | Ok |
| 14:31 | <annevk> | nox: not sure what a reliable signal would be tbh |
| 14:31 | <nox> | annevk: So, should I file a different HTML issue about making <meta http-equiv=default-style> queue a task? |
| 14:32 | <annevk> | nox: yeah, though maybe not be that certain about the solution, since the queueing might have to be in whatever it calls |
| 14:32 | <annevk> | (thanks!) |
| 14:33 | <nox> | annevk: I will file one about how the change doesn't happen immediately and the spec implies it does, that's enough right? |
| 14:34 | <annevk> | nox: aye |
| 14:35 | <nox> | I removed the test from my PR, and will file the issue and add a link to it to my summarising comment. |
| 14:35 | <annevk> | tusen takk |
| 14:40 | <nox> | annevk: MFW I try to reproduce our discovery in Live DOM Viewer but the last browser I tested it is Safari and I keep tweaking my sample in it, the only browser which does observe the change immediately… |
| 14:41 | <annevk> | nox: sorry, I should have given you glitch.com examples |
| 14:41 | <nox> | Nah it's ok. |
| 14:41 | <nox> | Now my changes don't apply anymore at all in Firefox when I add the meta element, this is confusing. |
| 14:41 | <annevk> | nox: I think glitch.com is the way forward as there are far fewer surprises there; Live DOM Viewer has quite a few downsides |
| 14:42 | <annevk> | Only downside with Glitch I've run into is that it creates a named window if you click on the preview link (for arguably good reasons) |
| 14:43 | <nox> | annevk: http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=6660 |
| 14:43 | <nox> | Am I going crazy? |
| 14:44 | <Ms2ger> | Probs |
| 14:45 | <nox> | I made a standalone HTML file and the background never goes green. |
| 14:48 | <nox> | https://irccloud.mozilla.com/pastebin/SWQcGNQX/annevk.html |
| 14:49 | <nox> | This writes rgb green in Safari and Chrome, so the thing doesn't actually happen through a queued task AFAICT. |
| 14:50 | <annevk> | nox: sounds correct |
| 14:51 | <annevk> | nox: perhaps Firefox only supports this if it comes from the parser? |
| 14:51 | <nox> | annevk: Which is the worst. |
| 14:51 | <nox> | annevk: Yeah probs. |
| 14:51 | <nox> | annevk: Ok, I checked the thing I was scared of, and it doesn't happen, yay. |
| 14:52 | <nox> | https://irccloud.mozilla.com/pastebin/sodX8QU2/chrome.html |
| 14:52 | <nox> | I thought this was failing in Chrome, |
| 14:52 | <nox> | which would mean the switch happened after all scripts, which would mean we would need a second queue somehow. |
| 14:52 | <annevk> | nox: filing follow-ups on these seems fine, since I think the general model for <script>, <style>, and <iframe> et al is sound and it seems like the remainder can be slotted into that if needed |
| 14:52 | <nox> | But it passes, so just disregard that. |
| 14:53 | <annevk> | nox: though focus handling might be good to test |
| 14:53 | <nox> | annevk: I didn't find any behaviour to observe for focus. |
| 14:56 | <nox> | annevk: I'm still quite confident you can merge the DOM part, all the different behaviours I found can be implemented in terms of deferredStepsQueue. |
| 14:58 | <zcorpan> | annevk: you can test win.onblur = t.unreached_func(); win.blur(); frame.remove(); win.blur(); |
| 15:00 | <annevk> | nox: I can get Chrome to fire onblur while a script invokes remove() on a focused element, but no other browser |
| 15:00 | <annevk> | fire blur* |
| 15:00 | <annevk> | nox: FWIW, the reason I haven't merged that is because it seems cleaner to also fix dependencies at the same time |
| 15:01 | <annevk> | nox: not because I think it's wrong or some such |
| 15:01 | <nox> | annevk: Ack |
| 15:02 | <nox> | annevk: https://bugzilla.mozilla.org/show_bug.cgi?id=1528982 |
| 15:06 | <nox> | annevk: Link me to your onblur sample please. |
| 15:06 | <nox> | I will try to make it a WPT test. |
| 15:07 | <annevk> | nox: https://wistful-notify.glitch.me/ |
| 15:07 | <nox> | zcorpan: We are trying to test focus/blur as part of insertions with scripts. |
| 15:07 | <annevk> | nox: I'm not sure what we want to do here though |
| 15:07 | <annevk> | nox: not firing blur at all might be great? |
| 15:07 | <annevk> | nox: zcorpan's comment was about some unrelated changes I'm making |
| 15:07 | <nox> | annevk: No clue. :D |
| 15:08 | <nox> | annevk: Hah, ok. |
| 15:10 | <annevk> | zcorpan: so my main problem is that it's not sufficient to make the feature a no-op |
| 15:10 | <annevk> | zcorpan: since a browser could bail out if it's not focused |
| 15:11 | <annevk> | zcorpan: then if we start testing focusing it, it'll turn out that that doesn't work in all browsers, at which point... |
| 15:11 | <annevk> | zcorpan: seems good for a follow-up? |
| 15:12 | <zcorpan> | annevk: i don't understand what "a browser could bail out if it's not focused" means, but follow-up sounds good |
| 15:12 | <nox> | annevk: Why would blur not be emitted in Firefox? |
| 15:12 | <nox> | fired* |
| 15:12 | <annevk> | zcorpan: I mean that unless there's a reliable way to focus a window and we use that way before invoking blur(), we might well end up testing only a very early return in the blur() implementation |
| 15:13 | <annevk> | nox: I'm not very familiar with focus/blur |
| 15:13 | <annevk> | nox: and even less with edge case focus/blur |
| 15:13 | <nox> | :D |
| 15:16 | <zcorpan> | annevk: i see. yeah, if firefox or some other browser does something it would be good to exercise that something. as far as i can tell from chromium it's literally no-op |
| 15:18 | <nox> | annevk: Re: filing follow-ups: it's not like my PR can be merged until someone from Chrome chimes in and discusses with bz about which behaviour should be specified. |
| 15:18 | <nox> | So far, no one on the Chrome side of things commented in any of the three PRs. :( |
| 15:21 | <annevk> | nox: did I copy tkent? |
| 15:22 | <nox> | I don't think so. |
| 15:22 | <nox> | bz may have. Let me find his comment. |
| 15:24 | <annevk> | nox: you did |
| 15:24 | <nox> | Hah! |
| 15:40 | <nox> | annevk: Fun for the whole family https://bugzilla.mozilla.org/show_bug.cgi?id=1528982#c1 |
| 15:42 | <annevk> | nox: if it involved dinosaurs, maybe |
| 15:42 | <nox> | Hah |
| 16:43 | <domfarolino> | annevk: I believe everything has now been addressed for image{srcset,sizes} PR. Thanks for the reviews |
| 18:52 | <annevk> | domfarolino: I can look tomorrow I suspect |
| 18:52 | <annevk> | domfarolino: feel free to ping me again if I don’t |
| 18:55 | <domfarolino> | 👍 |
| 23:33 | <Nepose> | Hi, if I can ask (and if there is anyone at this hour ;) ) because I'm just thinking now about it - what does W3C specifications and namespaces actually mean, especially for HTML5.x when you are making a web standard in fact? |