03:35
<EveryOS>
Section 4.2.4.3 (https://html.spec.whatwg.org/multipage/semantics.html#fetching-and-processing-a-resource-from-a-link-element) of the HTML spec references setting the synchronous flag of a fetch request, and links to https://fetch.spec.whatwg.org/#synchronous-flag
03:36
<EveryOS>
However, that section of the fetch spec seems to no longer exist
03:36
<EveryOS>
So I think it may be out of date
03:47
<Domenic>
Looks like everything else has been updated but we forgot to delete that step. PR welcome!
03:48
<EveryOS>
Sure, will make a PR tomorrow! (It's late here)
04:03
<sideshowbarker>

TIL that if you’ve got the GitHub command-line tool installed, and you’re looking at a git commit history for a GitHub repo, then you take run gh browse with the commit hash, like this:

gh browse 12dd6fa8ca76bd3bdff0c65a0c5a84b3ca870c3d

…and it’ll open up https://github.com/whatwg/fetch/commit/12dd6fa8ca76bd3bdff0c65a0c5a84b3ca870c3d in your browser. (Maybe I already knew this but subsequently forgot…)

04:07
<EveryOS>
I just implemented a proper event loop and network task queue in the code for my browser, but I'm not properly blocking rendering So now you can see the page load each individual external stylesheet. It's quite hilarious, especially on a website with many external stylesheets
04:12
<EveryOS>
sideshowbarker: That's pretty cool. Now I'm wondering if it has a way to open the commit history for a specific file in the browser
04:14
<sideshowbarker>
gh browse fetch.bs does take you to the file page at least
05:39
<sideshowbarker>
*

annevk: Now I begin to wonder if the parameters in all those Location member functions are misnamed — flipped. Specifically, the first parameter should rightly be named activeWindow (or something) and the second one should be named incumbentWindow (rather than firstWindow).

Does the code seem to make more sense to if it used those names?

Regardless, I can see now that I need to just do firstWindow.document()->urlForBindings() to get the right URL — rather than frame->tree().parent())->document()->urlForBindings(). So I’ll make that change, and push an update.

09:45
<annevk>
evilpie: document.createElementNS(null, "blah").namespaceURI === null
09:47
<evilpie>
I am not sure that is possible when parsing something?
09:47
<annevk>
evilpie: <div xmlns=""> is also null
09:47
<annevk>
evilpie: empty string is canonicalized to null
09:48
<evilpie>
Ok
09:48
<annevk>
evilpie: data:text/xml,<root><script%20xmlns="http://www.w3.org/1999/xhtml">alert(document.documentElement.namespaceURI%20===%20null)</script></root>;
09:49
<annevk>
evilpie: now, whether the HTML parser can do this, not sure
09:50
<annevk>
evilpie: but it seems best to design the API with the DOM in mind
09:51
<annevk>
evilpie: at least presumably we're not planning on throwing for namespaces the HTML parser cannot create
09:52
<evilpie>
I think we had discussed at some point throwing for unknown namespaces, because we have a hardcoded list baselines/default/whatever for elements/attributes (per NS)
09:57
<annevk>
If we do that we could have a narrower type as it comes down to the same thing, but it might be less confusing to have an equally wide type and just throw for null. I'm not entirely convinced it's a good idea to throw though.
10:10
<Noam Rosenthal>
Domenic: I gave a first shot at the navigation.activation thingy, if you want to take a look: https://github.com/whatwg/html/pull/9856
Still need to add tests (and implementation of course) but want to make sure I'm on the right track
10:13
<Domenic>
Will try to take a look tomorrow!
10:22
<Noam Rosenthal>
Thanks, no rush!
12:57
<annevk>
Does Gecko have a prototype of declarative shadow roots and if so what does http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3Ew(document.createElement(%22template%22).shadowRootMode%20%3D%3D%3D%20%22%22)%3C%2Fscript%3E log?
12:57
<annevk>
smaug: ^^ (last open question on the spec PR from my perspective; Chromium and WebKit both log false due to using null, which isn't allowed by the proposed spec text)
13:14
<zcorpan>
annevk: no prototype yet
13:14
<zcorpan>
https://bugzilla.mozilla.org/show_bug.cgi?id=1712140
18:12
<meacer>

Hello everyone, we are updating the Fetch spec to add HTTPS-Upgrades. I've been thinking how HTTPS-Upgrades works with Service Workers and I gathered some thoughts in a doc (with a very short explanation of how HTTPS-Upgrades works):

https://docs.google.com/document/d/1J5AkicHtSsCq2YVzLYwcFNj27Ah0-9VVTvkyevYxxPQ/edit

So far my conclusion is that:

  • HTTPS-Upgrades is a navigation only feature. It doesn't modify subresource fetches.
  • SWs can't intercept http:// navigations (since they are almost always cross origin). They can intercept http:// subresource fetches.
  • Therefore, we don't need special handling of HTTPS-Ugprades in SWs. We might need to clear the "is HTTPS upgrade" boolean when the navigation completes successfully, but besides that, we shouldn't need to handle HTTPS-Upgrade fallbacks or any other error cases.

Does this sound reasonable? Please feel free to leave comments on the doc as well.

18:39
<annevk>
meacer: yeah that sounds good overall. I think my main feedback on the PR was just that it ought to be moved to https://fetch.spec.whatwg.org/#concept-http-network-fetch
18:41
<annevk>
meacer: as in, putting it in HTTP fetch is too high-level
18:42
<annevk>
(I gotta go for the day)
18:42
<meacer>
annevk: Thanks!