2017-09-01 [18:09:52.0000] oh wow the new Github embedded-code-snippets feature is much awesome [18:10:01.0000] https://github.com/blog/2415-introducing-embedded-code-snippets [18:10:31.0000] I guess I’m probably late to the party, as far as figuring out how to use it [18:11:41.0000] it’s not super-intuitive that you must choose “Copy permalink” from the context-menu widget [18:12:17.0000] and I still haven’t figured out how to selecte multiple lines from the GUI view [18:12:47.0000] I just manually add the end line to the range in the URL after pasting it [18:16:08.0000] ah [18:17:02.0000] /me only just now trial-and-error discovers the way to select multiple lines is shift+click [01:48:48.0000] annevk: seems iteration order of stacks and queues in infra are the same. Is this by design or is this an oversight? [02:01:21.0000] aww darn it https://cia.webkit.org/changeset/216851/webkit [02:02:05.0000] tobie: seems like the consistency we see in HTMLAllCollection behaviors among different browsers won't be that consistent after all :(( [02:04:14.0000] TimothyGu: :-/ [02:04:37.0000] TimothyGu: that said: what consistency!? [02:05:14.0000] basically returning undefined when nothing is found (Chrome, Edge, Safari) [02:05:45.0000] Spec and Firefox (and now apparently Safari nightly) returns null [02:06:29.0000] TimothyGu: sounds like it's not a webcompat issue? [02:06:56.0000] probably not [02:07:04.0000] TimothyGu: so we can fix and file issues against vendors either way [02:07:30.0000] DocumentAllLegacyCallNoArguments is <=0.000001% [02:07:44.0000] yeah I think so [02:08:56.0000] is Sam Weinig on GitHub or IRC? [02:09:40.0000] would like to let him know at the minimum [02:09:53.0000] TimothyGu: yes [02:11:09.0000] TimothyGu: samweinig on github [02:11:40.0000] tobie: cool thanks [02:12:10.0000] TimothyGu: and SamWeinig on w3's irc [02:12:57.0000] If I add one more channel to WeeChat my VPS is going OOM lol [02:13:09.0000] TimothyGu: please do loop me in on that conversation [02:13:36.0000] I'll just use GitHub [02:14:02.0000] TimothyGu: I'd like to 1) apologize for the screw-up and 2) see what we can do to lessen the risk of that happening in the future [02:15:08.0000] tobie: well it's not really your fault, the commit happened in May when I haven't even starred whatwg/html yet :) [02:16:07.0000] only started looking at legacycaller when I was implementing legacy platform objects in jsdom [02:20:02.0000] TimothyGu: Well, that commit was triggered by a cleanup I made earlier this year. [02:21:44.0000] TimothyGu: this wouldn't have been an issue if we had better tests. [02:25:35.0000] I don't understand how WebIDL can both claim: "The order that members appear [on an interface] has significance for property enumeration in the ECMAScript binding." and "The order of appearance of an interface definition and any of its partial interface definitions does not matter." [02:25:55.0000] Which is it? [02:26:42.0000] tobie: Oh heh. Speaking of tests, how is https://github.com/w3c/web-platform-tests/pull/6786 coming along? [02:27:25.0000] TimothyGu: it's on my todo list. :-/ [02:27:48.0000] TimothyGu: You're welcome to contribute. :D [02:28:41.0000] :/ school will start pretty soon for me, I'll do what I can! [02:29:19.0000] TimothyGu: I'll get back to it. [05:30:18.0000] annevk: were you referring to WPT my latest HTML PR? [05:30:34.0000] I assume so but wasn't sure [05:34:32.0000] domfarolino: yeah [05:34:45.0000] cool [05:34:49.0000] domfarolino: as per https://whatwg.org/working-mode#changes [05:35:24.0000] annevk: ah make sense, thanks [06:54:21.0000] So I'm really seeing mixins as named interface partials that can extend > 1 interface with a more limited set of members. [06:55:02.0000] Can you relate to this mental model or is it completely off-marks? [07:07:25.0000] tobie: nah is fine [07:35:11.0000] what's the current status of >>>? [07:35:34.0000] gsnedders: controversial still [07:35:42.0000] gsnedders: and maybe renamed? [07:35:48.0000] gsnedders: never know with CSS [07:36:06.0000] annevk: I don't care so much about renaming, but I want to know if we're going to have some way to select elements within a shadow tree [07:41:42.0000] gsnedders: there's a "part" proposal that has some agreement [07:42:15.0000] gsnedders: outsideShadowTree::part(x) [07:46:29.0000] tobie: Yes, it's intended, they're both just lists. [07:46:52.0000] gsnedders: >>> is not in the dynamic (stylesheet) profile, but it is in the static (querySelector) one. [07:47:16.0000] ::part() is indeed how we'll be exposing things outside of the shadow for stylesheets. [07:48:03.0000] I don't think WebKit agreed to implement >>> though and I'm not sure Mozilla has either [07:48:10.0000] TabAtkins: it's sort of surprising to enumerate a stack in FIFO order, though. [07:48:36.0000] tobie: Standard result of doing it in JS tho, where it's just an Array that you're using push/pop on. [07:50:24.0000] TabAtkins: I think this warrants a note in the spec. [09:00:49.0000] Sneak peek at WebIDL mixins: https://github.com/heycam/webidl/pull/433 (WIP) [09:02:02.0000] And with this, have a nice w-e, all! [09:14:22.0000] you too tobie [09:18:08.0000] wanderview: r? https://github.com/whatwg/fetch/pull/584 [09:19:34.0000] annevk: r+... I don't have perms to merge [09:19:50.0000] wanderview: ta [09:20:19.0000] wanderview: yeah, we keep master fairly restricted for standards since we're pretty nitpicky about commit messages and such 2017-09-02 [07:17:15.0000] Hello [15:27:47.0000] Is there any API that exposes a non-normalized TimeRanges object? 2017-09-04 [03:24:04.0000] annevk: do I recall correctly that focus handling is pretty much the only thing in Shadow DOM spec which hasn't been merged to elsewhere? [03:26:53.0000] smaug____: yeah, kochi wanted to fix that iirc [03:27:07.0000] smaug____: maybe also some event stuff? [03:28:10.0000] just trying to figure how to implement this all [03:28:17.0000] or where to look at what to implement [03:30:03.0000] /me is about to start to update wchen's patches [03:46:44.0000] smaug____: okay, another thing I realized is that https://w3c.github.io/DOM-Parsing/ isn't updated [03:47:17.0000] smaug____: I'll look into and create a new tracking issue on upstreaming if we don't have one already [03:48:46.0000] annevk: what should be updated there? [03:49:40.0000] smaug____: ShadowRoot.prototype.innerHTML is a thing iirc [03:50:05.0000] smaug____: https://github.com/w3c/DOM-Parsing/issues/21 [03:50:57.0000] aha, I thought DocumentFragment had innerHTML in some spec [03:51:25.0000] smaug____: that was a plan at some point, but didn't happen [03:51:37.0000] smaug____: putting it on DocumentFragment is more complicated because there's no context node [03:52:14.0000] and what is the context node in ShadowRoot case? the host? [03:52:21.0000] smaug____: yup [03:58:21.0000] smaug____: https://github.com/w3c/webcomponents/issues/377#issuecomment-250693594 [03:58:35.0000] smaug____: I added a comment there asking some questions from hayato [03:58:50.0000] smaug____: and added a couple pointers to some issues I'm aware of [03:58:58.0000] smaug____: hope that helps [04:09:38.0000] smaug____: looking through things it seems like there's still many open issues around shadow trees that have gone unresolved [04:12:12.0000] hm, can an AudioBuffer instance be passed to a Worker ? [04:17:21.0000] DOMException: Failed to execute 'postMessage' on 'Worker': An object could not be cloned. [04:17:24.0000] okay, apparently not. [04:31:00.0000] gsnedders: see https://github.com/w3c/webcomponents/issues/78 for the >>>-controversy [06:36:08.0000] is the private mailing dead and buried along with any notion of membership gone? [07:04:10.0000] JakeA: did anyone sign up to remove foreign service workers from Fetch? [07:04:45.0000] JakeA: there doesn't seem to be a tracking issue against Fetch either; I can probably write a patch though [07:05:15.0000] annevk: as in browsers or spec? [07:05:27.0000] There's https://github.com/w3c/ServiceWorker/issues/1188 for the spec [07:05:45.0000] JakeA: spec, there's a bunch of text in Fetch [07:06:05.0000] annevk: it's on my todo list, but happy for you to do it [07:06:37.0000] JakeA: I'm a little bit afraid of creating a bunch of rebase conflicts for your abort work whenever I touch Fetch [07:07:54.0000] annevk: I can deal with those. Going to do another push on the abort spec tomorrow. The whole thing's been like pulling on a thread, especially given that XHR needs changes now :( [07:08:57.0000] JakeA: yeah, none of it was really in shape yet and the API really lays that bare [07:09:27.0000] JakeA: this is why I try to advocate we first revamp existing things; e.g., with the storage work you're planning [07:10:18.0000] But what typically happens is that folks add new features and the infrastructure is left broken for quite a while... Glad that's not the case here though [07:11:39.0000] gotta do it properly :D [13:49:56.0000] yay https://github.com/w3c/csswg-drafts/commit/371d0a1e60e8a2045393fc4db2f1110b9418b2f2 2017-09-05 [22:16:13.0000] smaug____: yeah, it's on my list in THIS quarter :) [22:16:35.0000] Do you guys know if browsers send the Basic HTTP Auth header when doing a fetch() request ? [22:16:59.0000] XHR seems to do it, fetch does not seem to do it. I just want to know if its possible [23:15:20.0000] nootan: not sure what you mean. XHR doesn’t send the Authorization header automatically. It only sends it if your application code adds it [23:16:17.0000] though if it’s a cross-origin request, neither fetch nor XHR will send it unless the server responds to the browser CORS preflight OPTIONS request to say it’s OK to send requests that have the Authorization header [00:21:28.0000] MikeSmith: Let me rephrase it. I've a nginx server setup with Basic Http Auth (which I believe looks for Authorization: Basic xxx) , I've a site setup on that server. When I perform an XMLHttpRequest to get some data, I get it, no questions asked. When I do a fetch() call and see the Network tab on my browser devtools, the server response is 401 [00:22:21.0000] the server response to the OPTIONS request? [00:23:21.0000] let me check [00:24:12.0000] 401 [00:25:08.0000] OPTIONS with Authorization header ==> 405 [00:26:43.0000] nootan: pass credentials:"same-origin" as second argument to the fetch() call [00:27:26.0000] nootan: I plan on making that the default in https://github.com/whatwg/fetch/pull/585 but it hasn't happened yet much less landed in browsers [00:27:38.0000] but that just sends the cookies, right? [00:27:50.0000] nootan: nope [00:28:26.0000] nootan: if it controlled just cookies I'd have named the argument cookies [00:31:27.0000] annevk: from MDN: same-origin: Send cookies if the URL is on the same origin as the calling script. [00:31:45.0000] because it didn't work while doing that too. [00:32:34.0000] I'll give it another try [00:34:36.0000] nootan: well MDN isn't the spec [00:36:33.0000] annevk: thanks! It worked. [00:37:07.0000] I'm sure i did try that before, I must have been looking at a different server. :/ [01:01:54.0000] smaug____: https://github.com/w3c/webcomponents/issues/661 [01:01:58.0000] smaug____: hope that helps [01:02:32.0000] thanks [01:08:47.0000] nootan: sorry wasn’t paying enough attention when you said it it was the same server [01:08:57.0000] anyway, glad annevk was around :) [01:09:06.0000] and glad you got it working [01:35:26.0000] annevk: thanks for creating a tracker for remaining issue! [01:35:49.0000] s/issue/issues/ [01:37:23.0000] it seems clicking on the checkbox directly edits the content... (if you have an editor bit, of course) :) [01:37:39.0000] yup [02:47:20.0000] thanks MikeSmith // annevk [03:25:42.0000] annevk: are the w3c-test commands documented anywhere? [03:30:07.0000] TimothyGu: https://github.com/w3c/web-platform-tests#publication [03:30:26.0000] TimothyGu: I don't think that works for anyone though, probably need to be privileged somehow [03:31:34.0000] annevk: I've got commit access to wpt repo if that matters? [03:31:40.0000] TimothyGu: kinda sucks how WebKit gets punished a lot for following the spec, though maybe it happens less frequently than I think [03:31:49.0000] TimothyGu: then it prolly works [03:32:44.0000] annevk: yeah that was meh [05:10:56.0000] annevk: yeah :-/ [05:52:29.0000] zcorpan: https://github.com/w3c/web-platform-tests/pull/4966#issuecomment-327163613 [05:55:35.0000] annevk: thanks, replied. [07:00:43.0000] Hey all, can I get added to the @whatwg org? I don't necessarily need (or want) commit access to any repos but would be nice to have a badge on my GitHub profile ;) [07:07:27.0000] sure thing [07:08:28.0000] annevk: thanks! [07:13:11.0000] Any idea why http://w3c.github.io/media-source/ has a ™ in the title? [07:16:54.0000] anyone know if someone is working on ES Module loader hooks ? [07:17:38.0000] bradleymeck: I don't think so [07:18:28.0000] is there a place I could start a discussion / start use case requirements? WICG ? [07:18:50.0000] bradleymeck: there's https://github.com/whatwg/html/issues/2640 and https://github.com/whatwg/loader [07:19:13.0000] bradleymeck: either of those seems better than doing yet another thing [11:56:35.0000] foolip: What's the link to your WPT-template gist or whatever? [11:56:41.0000] Gonna go build something into Bikeshed with it. [11:59:59.0000] annevk: JakeA: are we sure about giving up on mixed-content in service workers? https://twitter.com/AdamRackis/status/905131845188284417 [12:03:07.0000] wanderview: What if it's a malicious jpg that got mitm'd into an ad? [12:03:27.0000] TabAtkins: thats what mixed-content UX is there for? [12:06:57.0000] I was mostly being unserious. ^_^ I don't have an opinion on this or any connection to its resolution. [12:07:09.0000] wanderview: I'd prefer that, it's rather complicated 2017-09-06 [00:49:53.0000] blink has the some 0.x% usage limit for removing APIs [00:50:03.0000] anyone recalls what that number is [00:50:11.0000] was it something like 0.01? [00:50:19.0000] or 0.1 [00:50:33.0000] foolip: ^ [00:55:15.0000] smaug____: 0.003 iirc [00:55:30.0000] smaug____: but they use it more as an indicator of sorts these days, not as a hard line [00:55:35.0000] sure [00:57:09.0000] TabAtkins: do you mean the thing I've added to lots of specs? [00:57:40.0000] foolip: I pasted that in https://github.com/tabatkins/bikeshed/issues/1001, but I imagine that's not what you're asking for? [00:58:29.0000] smaug____: we used to say that 0.03% was some magic limit, but we've removed mention of that from everywhere now I hope [00:58:45.0000] certainly chromestatus.com no longer has a different color for things below that cutoff [00:59:01.0000] smaug____: things with >1% usage have been removed, it all depends on likely breakage in the wild [00:59:21.0000] ok [02:11:15.0000] I presume NPAPI was a bit above [02:34:16.0000] annevk: how documents get destroyed isn't spec'ed anywhere, right? I mean, how the DOM tree is unraveled and so. Since internally there are operations similar to 'remove' http://w3c.github.io/webcomponents/spec/custom/#concept-node-remove but of course we don't want to call the custom element callbacks then. [02:47:34.0000] smaug____: no, expectation is that is not observable [05:29:47.0000] foolip: No, you had a gist or codepen or something containing a template for a wpt test, that you'd start from when writing one. [05:32:13.0000] TabAtkins: http://searchfox.org/mozilla-central/source/testing/web-platform/mach_commands.py#165 might be similar to what you want [05:37:00.0000] TabAtkins: ah, that was from https://docs.google.com/document/d/1LSuLWJDP02rlC9bOlidL6DzBV5kSkV5bW5Pled8HGC8/edit?usp=sharing [05:37:24.0000] and https://jsbin.com/pazubak/edit?html,output is the template [05:37:46.0000] Excellent. [07:04:08.0000] TabAtkins: note that the test needs to use /resources/testharness.js as the URL, unlike in that template [07:12:31.0000] smaug____: annevk: yeah that limit is not real anymore and really should stop being repeated. We have no limit; it's all case by case judgment. [07:12:52.0000] I see foolip said that too [07:15:07.0000] annevk: what do you mean by "the test (subtest two in particular) you pointed to above should also be fixed" ? [07:16:19.0000] Domenic: it does an array.length assert where it equals 5 and then shortly after compares the array to another array of 4 items [07:17:28.0000] Domenic: looks like that was my fault [07:17:31.0000] Domenic: patch coming up [07:18:32.0000] OK. So LGTM on spec patch but will wait to see test changes as I think it'll be easier to tell what's going on there with a patch. [07:20:26.0000] Domenic: you already changed the existing tests last time around [07:20:56.0000] Sure, but now we have a full rewrite, and maybe also some fix about 5 vs. 4, I'm not sure what the actual plan is anymore [07:21:23.0000] Domenic: I don't understand [07:21:51.0000] So the plan is not to merge https://github.com/w3c/web-platform-tests/pull/7266 , right? Since that tests something we haven't agreed on. [07:22:27.0000] https://github.com/whatwg/html/pull/3013#issuecomment-327493192 says that's the plan, but I'm assuming it's not the plan anymore. [07:23:19.0000] Then some test (still not sure which one) has some 5 vs. 4 issue, so you're thinking about submitting a separate patch for that? Is that the new plan for testing whatwg/html#3013? [07:23:31.0000] Or do we not need to test whatwg/html#3013 at all since it was already tested way back when? [07:23:35.0000] Domenic: those tests need to be reviewed, but I don't think that should block this simple bug in the HTML Standard [07:23:59.0000] Right, as I said, spec patch LGTM, but I'll wait to see what's going on with test changes. [07:24:02.0000] Domenic: yeah, I don't think we necessarily need tests for this change [07:24:20.0000] Domenic: I submitted a patch for the 5/4 thing [07:24:24.0000] Domenic: https://github.com/w3c/web-platform-tests/pull/7267 [07:24:43.0000] Domenic: the assert is redundant with the assert_array_equals, which does that length check already [07:24:52.0000] Got it [07:27:04.0000] If I don't forget I'll look into those tests some more tomorrow [10:10:29.0000] Domenic: While not real, the limit is still an okay eyeball figure, I think. [15:59:22.0000] TabAtkins: I'm wondering why in http://wpt.fyi/css the css-page-3 subdir doesn’t show up, despite being in https://github.com/w3c/web-platform-tests/tree/master/css/css-page-3 [15:59:45.0000] is there something different about those tests that would cause them to not get picked up? [16:00:01.0000] MikeSmith: I haven't a single clue about any of that. [16:00:03.0000] like, those tests can’t be automated [16:00:04.0000] OK [16:04:48.0000] I guess maybe they’re print-only [16:05:26.0000] anyway the specific thing I was looking for is a @bottom-right test [16:05:54.0000] They, those tests appear to all be manual tests that you need to print and verify yourself. [16:05:56.0000] and looking at http://w3c-test.org/css/work-in-progress/hp/margin-boxes-012.xht it seems like it’s maybe a print-only thign [16:05:59.0000] yeah [16:06:05.0000] > This test requires 3 pages. When printed, the green box on this page should be equidistant from the blue boxes above and below it. 2017-09-07 [17:04:10.0000] tobie, annevk, Domenic: should I just apply https://github.com/w3c/web-platform-tests/pull/7254? [17:09:46.0000] and https://github.com/whatwg/html/pull/2932 too [17:56:19.0000] wiki is once again open for business [17:56:37.0000] foolip, annevk, MikeSmith: ^ [17:58:02.0000] GPHemsley: super [19:11:51.0000] TimothyGu: sorry we haven't had time for review; it's on my to-do [19:12:12.0000] no worries [21:22:00.0000] GPHemsley: excellent! 🎉 [22:57:14.0000] GPHemsley: sweet, thank you! [01:27:24.0000] annevk: for same-origin requests, the XHR API provides no way to prevent credentials from being included, right? [01:29:21.0000] MikeSmith: nope [01:29:36.0000] or I suppose, you are right [01:32:55.0000] k [01:34:31.0000] annevk: another question, why does the XHR spec use the term *user credentials* https://xhr.spec.whatwg.org/#user-credentials while the Fetch spec uses just *credentials*? https://fetch.spec.whatwg.org/#credentials [01:34:43.0000] do those to mean the same thing? [01:34:50.0000] *those two [01:35:17.0000] MikeSmith: yeah, XHR should probably just reference Fetch for that [01:35:29.0000] OK I can make a PR [01:35:35.0000] thanks! [01:36:02.0000] but there’s another difference: [01:36:14.0000] Fetch says, “ are HTTP cookies, TLS client certificates, and authentication entries. [01:36:18.0000] oofs [01:36:42.0000] Fetch says, “Credentials are HTTP cookies, TLS client certificates, and authentication entries.” [01:37:28.0000] Nah, just different words [01:37:32.0000] while XHR says, “The term user credentialsfor the purposes of this specification means cookies, HTTP authentication, and TLS client certificates.” [01:37:40.0000] yeah well [01:37:49.0000] different words are pretty important [01:37:52.0000] And Fetch has the better words [01:37:57.0000] not sure about that [01:38:07.0000] technically it does of course [01:38:21.0000] but to a web-developer reader of the spec, maybe not [01:39:11.0000] I guess we should mention HTTP authentication more explicitly somehow in https://fetch.spec.whatwg.org/#authentication-entries but otherwise I think it's fine [01:39:21.0000] in particular, the specific mention of *HTTP authentication* in the XHR definition is more clear to web-developer readers [01:39:25.0000] yeah [01:39:28.0000] that is all I meant [01:39:32.0000] I will work on it, anyway [01:40:00.0000] if nothing else, will add a note [01:40:30.0000] in practice, notes mean as much to non-implementors as the normative statements do [01:41:57.0000] my main worry with notes is that I sometimes see implementors cite them as if they contain the truth [01:42:07.0000] yeah [01:42:13.0000] that is the downside [01:42:31.0000] and I strongly believe the specs should be optimized for implementors [01:43:15.0000] but fortunately that's easier to teach than not looking at forked variants that end up higher in search results [01:43:23.0000] :) [02:18:29.0000] TimothyGu: today's a bank holiday, here. [04:03:41.0000] jgraham: where do w3c reftests live these days? [04:04:03.0000] aha, https://github.com/w3c/web-platform-tests [04:04:58.0000] Also testing/web-platform/tests/css in m-c [04:05:03.0000] Or, therefore, rather [04:05:30.0000] hmm, I wonder if there are css tests for shadow dom [04:05:34.0000] I mean reftests [04:05:51.0000] Oh not sure, there could be but not under css probably [04:08:06.0000] kochi: perhaps you know [04:09:18.0000] smaug____: james@ginny:~/develop/web-platform-tests/shadow-dom$ rg -l 'rel=.(:?mis)?match' | wc -l [04:09:21.0000] 6 [04:09:32.0000] what kind of css tests for shadow dom? [04:10:07.0000] I guess some are covered in csswg tests (now in wpt anyway) [04:12:16.0000] kochi: just some tests ensuring that if one uses shadow dom, the layout is still correct [04:13:30.0000] like comparing layout without use of shadow dom to some page with shadow dom [04:13:38.0000] hmm, the scope sounds too broad :) [04:13:52.0000] ah, in shadow-dom/ directory we have several reftests [04:13:55.0000] that is very broad sure [04:14:01.0000] ah, looking [04:15:27.0000] kochi: hmm, where [04:15:56.0000] Using Blink's layout test runner infrastructure, running reftests automatically compares generated PNGs so its automatic, but running it manually is tedious. [04:16:10.0000] oh, you mean in blink [04:16:19.0000] I was wondering if wpt has them too [04:16:39.0000] we do have some reftests in gecko too [04:17:15.0000] I guess csswg tests are mostly reftests [04:18:13.0000] you can find '*-ref.html' in shadow-dom directory. I found 7 tests under shadow-dom/untriaged. [04:19:19.0000] smaug____: Blink imports wpt in its layout test subdirectory (external/wpt), and run them as a part of commit queue. [04:20:28.0000] Under "shadow-dom/untriaged" directory, we have several dozens of ancient tests. [04:20:54.0000] (ancient = created in Shadow DOM V0 era, converted to use V1 API) [04:21:25.0000] they test something, but their values are questionable, therefore needs triage... [04:26:06.0000] tobie: oh ok, I'll wait then [04:31:27.0000] annevk: Any idea what https://xhr.spec.whatwg.org/#stop-timeout-flag is for? It isn't exported, and it doesn't really seem to be used [04:32:54.0000] annevk: seems like the use of it was removed in https://github.com/whatwg/xhr/pull/133/files [04:40:29.0000] ~, [04:53:54.0000] validator.w3.org: [04:53:56.0000] 503 Service Unavailable [04:53:58.0000] No server is available to handle this request. [04:56:39.0000] /me MikeSmith ^ [04:56:41.0000] it works for me though [04:57:43.0000] right, works now [04:58:20.0000] checking which of these "scissor" symbols happens to be valid: [04:58:22.0000] --->8--- [04:58:24.0000] ---8<--- [04:58:36.0000] apparently only the first one is okay [05:00:30.0000] JakeA: oversight I suppose then [05:00:52.0000] annevk: cool, I'll remove it [05:26:21.0000] https://misc0110.net/web/files/keystroke_js.pdf [05:39:08.0000] jgraham: I am not sure how exactly their 6-liner works [05:39:29.0000] jgraham: what exactly happens/changes when a key is pressed in an unrelated context? [05:41:51.0000] hm, I may see now [05:42:07.0000] they measure how many increments happened in every 5ms timeslot [06:52:26.0000] zcorpan: hey while you're looking at data [06:52:37.0000] zcorpan: for https://github.com/whatwg/html/issues/3005 it would be interesting to know usage of charset + cross-origin URL [06:53:03.0000] zcorpan: and usage of a utf-16 charset, including utf-16le and utf-16be [06:56:01.0000] annevk: I find two utf-16s [06:56:11.0000] i'll comment in the issue [06:56:52.0000] hmm, that's potentially bad news [06:57:16.0000] thanks [07:01:20.0000] I'll need to write a new query to get the src attribute and compare origins, but need to go. Can you remind me tomorrow? [09:22:28.0000] I can [09:23:01.0000] One of those results was rather sad, suggesting that treating utf-16 as utf-8 would fail, but the upside is that it was same-origin, so maybe there's still hope cross-origin [12:32:21.0000] annevk: what is "topic: javascript" as opposed to "topic: script"? seems confusing [12:40:13.0000] Domenic: javascript was meant for host integration stuff [12:40:28.0000] script for the script element [12:40:39.0000] I dunno that's a blurry line [12:40:48.0000] guess I'm okay with merging them [12:40:51.0000] Like all module stuff is host integration too [12:40:54.0000] Ok cool [13:25:49.0000] gsnedders or whoever: The WPT introduction page mentions how to work with the GH repo, *but doesn't actually link to the repo*. [13:26:13.0000] hah, a+++ me [13:26:21.0000] TabAtkins: can you throw together a PR? [13:26:28.0000] No, because I can't find the GH repo. [13:26:32.0000] TabAtkins: wpt/doc [13:26:33.0000] *docs [13:27:03.0000] TabAtkins: i.e., in the wpt repo [13:27:18.0000] Which, again, I cant' find, because it's not in the docs. [13:27:42.0000] the docs are bad :( [13:27:47.0000] I mean they're better than they were a year ago [13:27:52.0000] but that's not saying much [13:27:58.0000] JUST LINK ME TO THE REPOSITORY [13:28:18.0000] https://github.com/w3c/web-platform-tests/blob/master/docs/introduction.md [13:28:26.0000] Danke. ^_^ [13:28:37.0000] I thought you could find a directory in the wpt repo :P [13:29:39.0000] I can find a directory, yes. Couldn't find the repository. [13:29:49.0000] Thus my original complaint. [13:30:31.0000] (At some point I definitely could have just googled for it again, but you seemed to be purposely avoiding actually telling me where the repository was, and I wanted to see how far it would go.) [13:31:04.0000] (until you realise I'm just an idiot [13:31:06.0000] ) [13:31:41.0000] Correct. ^_^ [13:32:12.0000] Your trickery (telling me about a fake "wpt/docs" repo) was really confusing me for a while. [13:32:26.0000] /me goes back to trying to sort out an earlier screw up with more… financial consequences [13:32:38.0000] (financial consequences are the best consequences) [14:09:22.0000] I have a few questions. I notice the URL object is not recommended to be used in APIs, rather string URLs should be passed. Is there a strong reason for this? If URL was made immutable it could've saved us some reparsing between objects maybe? [14:28:50.0000] MikeSmith: sideshowbarker.net seems to not be working, causing HTML build failures, hrm https://travis-ci.org/whatwg/html/builds/272976905#L586 [14:36:53.0000] Domenic: thanks will check and get it fixed [14:38:33.0000] Domenic: working again now [14:38:47.0000] Thanks! [14:39:08.0000] and I’ll put some kind of watchdog in place so I get alerted when it’s down [14:39:36.0000] I think my `certbot renew` cron job is what caused it to go down [14:40:13.0000] that cron job stops nginx before running `certbot renew` and then restarts it after [14:41:00.0000] I think I am &&’ing the `certbot renew` and nginx restart [14:41:16.0000] which I guess I shouldn’t be [14:41:59.0000] yeah [14:42:01.0000] > 59 22 * * * sudo /etc/init.d/nginx stop > /dev/null && /opt/workspace/letsencrypt/letsencrypt-auto -q renew > /dev/null && sudo /etc/init.d/nginx start > /dev/null [14:42:20.0000] that’s not so smart [14:43:29.0000] OK, fixed that [15:12:29.0000] yay the chair of the W3C Service Workers WG has now actually joined the group [15:12:38.0000] progress! [15:19:28.0000] https://news.ycombinator.com/item?id=15196280 [15:25:00.0000] TabAtkins is not the only one here that has worked for Google. [15:36:41.0000] Fucking hell, now I'm gonna have to talk to Legal. That jackass. [15:44:11.0000] On the plus side, comments are surprisingly good for HN. [15:45:24.0000] Notice the question I asked though. [15:45:50.0000] The one pretending this his conspiracy theory actually has some validity? Thanks for that. [15:46:06.0000] I was making an important point. [15:47:02.0000] "How often does random personal blog posts like this make it to the top in the first place " [15:47:31.0000] A lot? Especially when they're linked from the person's own blog? [15:48:01.0000] And several other high-Page Rank news-ish sites linked to it at one point. [15:48:29.0000] I'm super surprised at the longevity actually. Go look at my damn site, there's no special juicing going on. I just have a normal blog. [15:49:08.0000] But for serious, he's a paranoid jerk with an axe to grind. Don't feed his delusions. [15:49:18.0000] Yea, I just edited the comment to point that out too. This post is more than one year old. [15:49:24.0000] this current go-around might promote it higher. It's on my first page of duck duck go results now. [15:50:31.0000] I don't see any other news article about it on the first page either. [15:50:33.0000] Yeah, every time he complains he cements it. [15:51:04.0000] Other than the GamerGate interview. [15:51:40.0000] Which is also more than one year old too. [15:53:13.0000] And you are also talking about the blog article being in the third position of page one. [15:56:23.0000] Go look at my fucking blog and find a lick of SEO (beyond "write good markup, good content, and make it fast"). Otherwise you're accusing me of having the power and access (and complete lack of morals) to juice Search results, our company's bread and butter, the thing that we firewall from employees *precisely to avoid the possibility of this kind of thing*. [15:57:23.0000] This seems a bit off-topic; I'd appreciate if you two had the chat in private conversation? [15:57:43.0000] Yuhong, in particular, please don't use this channel as a way to just discuss other members of the channel [15:58:58.0000] Domenic also happens to work for Google though. [15:59:28.0000] I don't, and I'd also like this off the channel [15:59:33.0000] Yuhong, discussing personal characteristics of members and their employment for purposes of some flagged hackernews channel is not on topic in #whatwg. If you wish to discuss that, please do so in another channel. [16:00:25.0000] I have joined #google [16:12:16.0000] annevk: https://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource/46099357#46099357 describes an interesting case with CDNs and Access-Control-Allow-Origin getting cached across origins [16:14:05.0000] just getting server config alone done right for CORS seems to be pretty error-prone and problematic for a lot of developers. But from that I can see how much adding a CDN to the mix can further complicate it [16:15:56.0000] it definitely feels like one of those "fragile" things where the slightest change breaks everything [16:16:07.0000] CORS that is [16:17:46.0000] yeah there’s multiple knobs to turn [16:18:44.0000] including the arcane need to deal with HTTP OPTIONS, for which I think the average web dev doesn’t have a huge amount of prior knowledge [16:19:13.0000] does anyone actually use HTTP OPTIONS for anything in the web stack or rather for what use-cases? [16:19:31.0000] dunno [16:19:55.0000] so I guess I am one of the people who has never had need for it other than for CORS [16:20:59.0000] TabAtkins: is there a definition for "valid CSS syntax"? [16:21:02.0000] For conformance requirements [16:21:38.0000] tantek: heh, quick search leads me to https://www.mnot.net/blog/2012/10/29/NO_OPTIONS [16:22:10.0000] Folks, where can I get an up-to-date list of WHATWG members? And the companies they represent? [16:22:18.0000] > To make OPTIONS work well, you’d be forced to design your own caching model – silly when HTTP already has one. [16:22:38.0000] /me checks his site code for how he supports CORS [16:22:40.0000] that is what CORS does (special caching model for OPTIONS) [16:23:24.0000] oops no sorry I meant CSP [16:23:38.0000] yeah no explicit CORS support on my site yet. just CSP [16:24:07.0000] yeah one line of PHP [16:24:30.0000] tantek: you can do CORS with one line too [16:24:42.0000] and yuck btw [16:25:21.0000] tantek: you should be using Python https://stackoverflow.blog/2017/09/06/incredible-growth-python/ [16:25:34.0000] lol no I can't do CASSIS with Python [16:26:06.0000] no idea what CASSIS is but if you can’t do it in Python it can’t be important :) [16:26:32.0000] anyway, time for you to leave 1999 behind and get on the Clue Train [16:26:40.0000] cassisproject.com [16:26:45.0000] /me looks [16:28:14.0000] can you not do CASSIS with node? [16:28:32.0000] runs on more servers / services than node [16:28:36.0000] which is almost as good a python, but with lots more collateral drama for free [16:28:39.0000] more webhosts = cheaper etc. [16:29:08.0000] OK, sold. I’m switching :) [16:29:15.0000] hey I run it on my site [16:29:28.0000] you can check which version directly: tantek.com/cassis.js [16:29:50.0000] (literally that file is executed by both my clientside pages in JS and backend in PHP) [16:30:11.0000] whoah that code, my eyes my eyes [16:30:26.0000] cantom: the WHATWG is a community with no formal notion of membership. If you participate on GitHub or elsewhere, I'll be happy to consider you a member. [16:30:34.0000] didn't say it was pretty. just that it works. and I only have to write it once turn in both JS and PHP [16:30:55.0000] s/turn in/to run it in [16:32:00.0000] tantek: sorry, you haven’t been on this channel much lately so I am mostly just trying to meet my quota for trolling you :) [16:36:35.0000] Domenic: that's great, but I was hoping for some overview to see which browser-making companies are involved. [16:36:55.0000] cantom: oh, all of them participate [16:37:07.0000] MikeSmith: all good. I'm here a lot, just nearly completely lurking. [16:37:33.0000] Domenic: let me put the question differently: who moderates, and who elects the moderators [16:38:12.0000] cantom: are you concerned with IRC, or elsewhere? [16:38:15.0000] MikeSmith: your reaction is pretty tame actually, I've had friends give me the weirdest looks (in person) after hearing of the concept/goals of cassis.js and then actually looking at the code. something between horrified and disgusted. [16:39:03.0000] I once argued about the idea of W3C using the WHATWG webdev edition as a base. [16:39:22.0000] Remember the 2022 prediction? [16:41:02.0000] the webdev edition would be a better fit. [16:43:11.0000] Yea, it is a compromise, and I know that caniuse.com does a better job. [16:43:55.0000] Domenic: nag the group itself [16:44:27.0000] cantom: each editor moderates their own spec. [16:49:35.0000] Domenic: I see [16:49:50.0000] https://lists.w3.org/Archives/Public/public-w3process/2014Oct/0073.html [16:50:18.0000] "One could imagine having multiple "views" of the spec, with newer features omitted from some." [16:50:35.0000] "In practice this isn't viable because when you add new features you often have to make pretty invasive changes to the core model, and so maintaining multiple branches becomes hellish."/ [16:50:44.0000] Why I suggested the web developer edition. [16:51:36.0000] Yuhong: as a web developer I'd always go to the "real" spec because anything else is doomed to be out of date [16:52:23.0000] Yes, but it is unlikely that what makes to the web developer spec snapshots will be particularly inaccurate. [16:52:40.0000] It might not have some newer features of course. [16:53:12.0000] Especially as the web developer spec lack things like implementation details. [16:54:09.0000] So it is less complex and will likely change less often. 2017-09-08 [17:09:13.0000] cantom: so, we actually generate the dev edition from the real spec these days, so that should be OK :). https://blog.whatwg.org/developers-edition-comeback [17:10:10.0000] the point is doing snapshots based on the dev edition. [17:11:00.0000] Domenic: :D [17:11:25.0000] Big question. Why is the slogan of WHATWG "Please leave your sense of logic at the door, thanks!" [17:12:23.0000] Haha. It's just an IRC channel topic, but yeah, it's about how the web is designed over a long time and has no sense of logic to it sometimes [17:12:45.0000] We often say "see topic" when someone complains about some old historical thing like "why is typeof document.all 'undefined'???" [17:13:52.0000] Domenic: I've been neck deep into URL, HTTP, Unicode + charsets, MIME + multipart, HTML etc. specs and I felt the slogan might refer to that :/ [17:14:07.0000] lol, yep, sounds right [17:15:00.0000] Which also reminds me of the title of https://whatwg.org/specs/url/2014-07-30/ [17:15:33.0000] Now URL is less complex and less likely to change than the main HTML spec. [17:17:06.0000] https://github.com/whatwg/url/commits had not even an editorial commit for a month. [17:35:48.0000] Domenic: No, but you can require that there's no syntax errors or unrecognized constructs when using one of the parsing entry points in Syntax. [17:36:09.0000] I ended up linking to https://drafts.csswg.org/css-syntax/#conform-classes [17:36:32.0000] Sure. [18:09:37.0000] And government officials are actually another good reason. [18:10:26.0000] It should be pretty rare that a page will not work in future browsers if it confirms to a good snapshot and works in current browsers. [00:44:30.0000] smaug____: what's the status of https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html? [00:46:47.0000] implemented in some form, but the spec hasn't got much updates as you can see [00:46:53.0000] there are some open bugs, I think [00:47:05.0000] annevk: why? [00:47:46.0000] smaug____: mostly want [Exposed] added to the interfaces [00:47:52.0000] Gecko has the synthesis part, and recognition API is implemented too, but I don't know recall when it is enabled. never or only when platform has the support [00:47:56.0000] ah [00:48:11.0000] smaug____: and since there's not even a GitHub repo I'm wondering where I can reliably file bugs [00:48:23.0000] w3 bugzilla [00:48:41.0000] smaug____: I see, but not mentioned in the spec somehow? [00:49:27.0000] aha, I see it is not mentioned there [00:50:37.0000] smaug____: I filed a bug; I guess I'll file another one about mentioning Bugzilla in the spec [00:50:54.0000] annevk: curious, will you attend TPAC this year? [00:53:03.0000] smaug____: I can't, if all goes well I have a second child to take care of that's a couple weeks old by then [00:53:46.0000] aha. I think I had heard that but forgot. Hopefully everything goes well. [00:53:57.0000] /me is wondering who from Mozilla will be there [00:54:25.0000] smaug____: wanderview will go [00:55:53.0000] There's a couple more people, but I don't remember all the names 😕 [01:27:28.0000] if it wasn't in Trumpland, I'd attend. [02:02:37.0000] annevk: I guess being woken up by a new baby is better than being woken up by the SFO flights passing overhead :) [02:04:24.0000] Haha [02:04:30.0000] That really depends on how much sleep I've had [02:05:12.0000] First six months with Oscar were rather rough [02:07:29.0000] Not being woken up at all is for sure the best option :) [02:08:15.0000] I hope that this time things are a little smoother [02:39:52.0000] zcorpan: hey, where can I find tests for ? [02:41:49.0000] grep suggests html/semantics/embedded-content/the-img-element/ [02:44:02.0000] Seems someone already wrote all the tests I needed [02:44:04.0000] hurray [02:55:48.0000] TimothyGu: if you have the time, I'd love a pointer for this magic [[Call]] affecting inheritance stuff [02:57:52.0000] annevk: html/semantics/embedded-content/the-img-element/update-the-source-set.html [02:58:01.0000] annevk: huh? what about inheritance [03:00:06.0000] TimothyGu: why custom [[Call]] means there's no .call [03:01:07.0000] annevk: because .call is on Function.prototype, and document.all's [[Prototype]] is HTMLAllCollection.prototype [03:01:26.0000] and HTMLAllCollection.prototype's [[Prototype]] is Object.prototype [03:01:36.0000] like any other interface prototype object [03:04:30.0000] so -- no .call, no .bind, no .apply [03:06:18.0000] likewise, Object.setPrototype(function () {}, Object.prototype) doesn't have .call either [03:07:18.0000] Is there a dedicated channel for discussing http1/http2 (push, preload, prefetch, preconnect, prerender; as/mime-types/crossorigin; block/async/defer)? [03:39:57.0000] TimothyGu: aah right, I was confusing this with methods [03:39:59.0000] TimothyGu: thanks [03:40:33.0000] inoas: probably this channel [03:40:42.0000] inoas: yoav ^^ [03:46:24.0000] hey inoas! [03:46:34.0000] let's discuss :) [03:59:51.0000] Well it is more questions, but not "programming details" [04:01:17.0000] When a document loads, depending on the loading and the execution priority of the ressource you can use: h2 push (preload header on http2) OR preload (preload header on h2 with nopush, or I am working on some kind of CMS (with staging, revisions, translations, templates) and I want to pass the options to make this right for linked code assets instead of doing combination and/or inlining (http1 tricks) [04:02:55.0000] and for the execution it can be "blocking" (no attribute), async (non-blocking, in any order) or defer (non-blocking, but in order specified) [04:03:23.0000] crossorigin=anonymous needs to be setup for fonts and otherwise just for remote origins [04:03:34.0000] is that "about" correct so far? [04:05:35.0000] another thing: I have done some http2 tests (with localtunnel.me and a vagrant box) using 100-140 image tiles and apache2 / http2 and while there are huge gains when moving from HTTP1.1 to HTTP2 there are little gains or even losses when moving from regular loading to pushing... sure there is a header that is up to about 7kb larger (max 8kb) but that can't be the reason (testing in chrome and firefox, I have also tested with sitespeed.io (chrome)) [04:10:54.0000] and then another question would be: you can also "preload" domain resolve, tcp/tls handshake, links and even prerender them... aside prefetch which can also be used on pure ressources on the document itself (say which could but maybe not later used by elements loaded dynamically, say a chat window popping up), the other ones such as preconnect and prerender should be used with links (or domains for preconnect, but links would work, right?)? [04:11:41.0000] so. ressources: h2 push, preload, prefetch & links: pefetch/preconnect/prerender [04:34:10.0000] yoav: is that about correct? [04:36:45.0000] RE "h2 push (preload header on http2)" - a preload header *may* be used as an indication for the web server to push down that resource [04:37:01.0000] H2 push does not require link preload headers [04:37:19.0000] and link preload headers don't mean that you're using h2 push [04:38:14.0000] sure it does not require them, I am just saying there are these ways to handle ressource loading and execution priorities [04:38:24.0000] h2 push, document header preload etc etc [04:39:11.0000] h2 push would be via http header with a very similar semantic to document rel preload [04:39:17.0000] "there is a header that is up to about 7kb larger" - headers this big can definitely result in slowed initial processing, as your effective initial congestion window is reduced from ~14K to ~6K [04:39:47.0000] so what do you think a good header size is? [04:39:57.0000] like a sweet spot? it isn't easy to answer, right? [04:40:14.0000] as small as it can be [04:40:26.0000] :) [04:40:30.0000] well but if you want H2 Preload it has to be in the header instead of the [04:40:49.0000] H2 push is something that works well when your HTML has some "think time" [04:40:57.0000] (so server side processing) [04:41:38.0000] You can use that time to start pushing critical resources so that they will be available in the network stack once the browser got the HTML and realized that it needs them [04:41:44.0000] What I consider is in the software allow to select when/how a code asset is loaded/executed: H2 Push with Fallback Preload (If the maximum H2 Push header size is exceeded OR only HTTP1.1 available), then direct Preload etc. [04:41:53.0000] https://blog.yoav.ws/being_pushy/ [04:42:18.0000] It seems like using nopush in conjunction with http2 would make little sense unless you reload only very very few ressources anyway? [04:42:31.0000] because the trade off (header bigger vs the client knowing earlier) isnt worth it? [04:42:47.0000] preload only kicks in after the HTML started sending down to the browser (and you can use preload both in its header form as well as inside the markup) [04:43:25.0000] yes but in header form it is using push on h2, unless nopush is declared, right? [04:44:03.0000] I'm not a fan of using the link preload header as a push signal. You could maybe use an HTTP server which strips those headers when it pushes [04:44:13.0000] so say I limit the amount of preload directives in http headers to maximum of 2kb... and then I prefer the ones without "nopush" then if still space left = the ones with nopush... if there is an overflow... "yes but in header form it is using push on h2, unless nopush is declared, right?" depends on your server implementation. It doesn't have to [04:44:50.0000] well I am talking about apache 2.4x or so [04:45:18.0000] I cannot change to nginx or H2O [04:45:23.0000] mod_http2 then [04:45:53.0000] push, preload, etc are not magic dust that you can spray over your sites to make them faster [04:46:07.0000] they are tools you can use to fix specific bottlenecks in your site's loading [04:46:26.0000] H2 push should be used to fill in the gaps before your HTML is sent down and right after it [04:46:28.0000] that's the reason I want to yield some control to setting up templates and documents in our CMS [04:46:49.0000] preload should be used for critical resources that are late discovered [04:47:00.0000] as far as magic dust goes. the only magic dust so far is HTTP2... just enabling it really improved performance without any pushing [04:47:11.0000] preconnect can help you establish TLS connections to third party domains ahead of time [04:47:26.0000] Yes I understand, they would be in say a 50kb html document, at the very bottom with async [04:48:17.0000] I understood preconnect so far that it only makes sense for us if we use cdns for static assets or non-origin domain JS APIs etc [04:48:22.0000] async scripts are tricky to preload, as I've seen cases where loading them earlier actually makes things slower (they run earlier, delaying more critical work) [04:48:23.0000] I hope that's about correct [04:48:49.0000] well the async script then needs to be aware of DOMContentLoaded? [04:49:59.0000] you can just avoid preloading it, turn it into a "defer"ed script (if you don't care about e.g. IE9) https://calendar.perfplanet.com/2016/prefer-defer-over-async/ [04:50:05.0000] or load it dynamically [04:50:21.0000] if it's not critical content, you shouldn't preload it, at least not upfront [04:50:34.0000] there's no way to tell preload "this is a non-critical async script" [04:50:38.0000] we probably should [04:50:52.0000] Pushed responses go into this special push-only cache, and they go into the HTTP cache only when there’s an actual request for them. <= however prefetch would put things in http-cache right? (it would be about loading ressources that may or may not get used... whereas push/preload would load ressources that 99% are going to be used on the same page, "soon") ?! [04:51:14.0000] as part of https://github.com/WICG/resource-priorities perhaps [04:51:23.0000] tell preload + non-critical execution? [04:51:43.0000] thought if I push or preload and set async true it would work!? [04:51:58.0000] no [04:52:10.0000] `async` is not taken into account on link elements [04:52:21.0000] https://blog.yoav.ws/tale-of-four-caches/ for explanation on the different browser caches [04:52:50.0000] yeah I remember push cache, memory cache, http cache or so [04:53:00.0000] but it depends on the browser I suppose [04:53:30.0000] yeah [04:54:29.0000] if i push/preload a ressource and the browser uses it (otherwise maybe it wasnt a good idea to push it in the first place) then that is going to end in http cache (if cache headers are setup) AFAIU [04:55:01.0000] the non-visible (say: below the fold and the user does not scroll) content however would eventually not be requested and thus would not enter http cache? [04:55:35.0000] would it not be better if there was a flag for preload/push that says: and-also-put-it-into-http-cache? [04:57:16.0000] Not sure but I think there are some security protections in the fact that pushed resources only live during the H2 session unless actually requested [04:58:21.0000] Would the following semi-automated logic be okay: Setup Code Assets (JS/CSS) and Media Assets (SVG, JPG, PNG, Audio, Video) in templates/documents. While assigning them, set their Load Priority (Push or Preload, Preload, Prefetch) and their Execution Priority (Defer, Async, Blocking) as well as a natural order for loading and execution? [05:01:37.0000] sounds somewhat reasonable, only that you don't necessarily have those controls today [05:01:54.0000] which brings us to https://github.com/WICG/resource-priorities again... [05:03:05.0000] Why don't I have those controls? What is missing? [05:03:33.0000] "Even though ASYNC and DEFER don’t block the HTML parser, they can block rendering. This happens when they’re parsed and executed before rendering is complete and take over the browser main thread. <= if " if I wrap scripts with DOMContentLoaded checks would the blocking of the main thread not just be very short for async=true? [05:13:21.0000] @ https://github.com/WICG/resource-priorities having relative priorities may be nice but maybe also complex because ressouces "need to know" about each other [05:14:00.0000] what about supporting weight - layering in CSS is also done via this (z-index) instead of saying below-layer-a [05:16:11.0000] having something like unix nice/weight/z-index means there is a defintiion of say -20 to +20 and then even remote scripts that load remote scripts can give them an execution priority?! [05:16:13.0000] A few missing pieces: no way to indicate async/defer in preloaded resources, no way to indicate relative priority of resources of similar types, no way to define resources so they won't block more critical resources even if discovered before them [05:17:34.0000] No way to indicate async/defer in preloaded resources <= so it is not possible to set defer (or async) attribute on the push header/preload link - and just on the tag where the ressource is requested ain't enough? Preloading should not mean pre-execution, does it? [05:18:19.0000] Relative loading priority (for the same type) would be the priority in the http header / push promise or the order [05:18:27.0000] execution order: dom order? [05:19:32.0000] "no way to define resources so they won't block more critical resources even if discovered before them" I don't understand? - would it still not be wise to start implemeting things like suggested above and then just hope for the browsers to do the best. Users would not need to use push/preload, it would be an opt-in feature [05:37:01.0000] I ll make a note that we should drop the preload headers after the http server processed them (right? there is no point sending them if the connection is http2) [06:14:53.0000] smaug____: annevk: marcosc is going I believe [09:58:53.0000] What objects actually implement PerformanceNavigationTiming? [13:10:43.0000] Hello, when i enumerate getBoundingClientRect properties of an element, why do I get toJSON function ? [13:57:52.0000] Probably because they have a toJSON function! [14:00:45.0000] Domenic: haha but it wasn't there in previous version of chrome :p [14:00:58.0000] Probably Chrome is getting more spec-compliant :) [14:33:29.0000] Domenic: where can I find in spec [14:33:45.0000] that toJSON should be part of getBoundingClientRect [14:41:40.0000] virmaha: https://github.com/w3c/fxtf-drafts/pull/220 [14:45:42.0000] tobie: thanks. You are the guy who works on web IDl holy shit that's so cool :D [14:48:55.0000] virmaha: there's a number of us, tbh. Currently, this behavior is specified in the spec using serializers. But we've changed that recently to use toJSON instead to make it more explicit. [14:50:28.0000] tobie: yeah but I am talking to one of them:) Also, tbh this is first time I am delving into specs so this serializers and all confuses me [14:51:26.0000] virmaha: well, you were talking with Domenic earlier—he's done loads more for the WebIDL spec (and others) than I have. [14:51:56.0000] virmaha: that said: serializers are super confusing, which is why we're replacing them with toJSON [14:52:38.0000] tobie: oh nice. thank you Domenic ! [14:52:40.0000] virmaha: they were basically a long and complex way of describing different flavors of toJSON methods [14:53:00.0000] tobie: umm if so, why did in previous version of chrome, everything worked fine? What 'serializer' did it use? [14:53:21.0000] what do you mean by "worked fine" [14:54:19.0000] tobie: earlier, getBoundingClientRect didn't have toJSON. So I could easily JSON.stringify the output [14:55:19.0000] virmaha: what do you mean by "easily JSON.stringify" the output? [14:55:31.0000] tobie: props = myElement.getBoundingClientRect(); for (var p in props) console.log(p); [14:55:47.0000] this never printed 'toJson' in chrome 60 but it does print toJSon in chrome 61 [14:55:56.0000] oh, well, now you should just pass the object itself. [14:56:46.0000] virmaha: so just do: jsonString = JSON.stringify(myElement.getBoundingClientRect()); [15:00:46.0000] thanks tobie! [15:01:10.0000] virmaha: glad I could help [15:02:18.0000] glad I could learn from members who drive the web standards! [15:06:31.0000] err tobie , why can't I see toJSON here : https://chromium.googlesource.com/chromium/src/+/89bc0736a6c3d48eb426ffad99ff87fb6fd4e695/third_party/WebKit/Source/core/geometry/DOMRectReadOnly.idl [15:06:52.0000] that's from changelog of chrome..or am I looking at wrong file? [15:07:31.0000] There's the serializer [15:08:17.0000] virmaha: which now should be [Default] toJSON(); instead [15:08:26.0000] virmaha: but which basically means the same thing [15:09:37.0000] virmaha: see explanation here: https://github.com/w3c/fxtf-drafts/issues/200 [15:15:38.0000] alright tobie. Thanks a lot. [15:15:53.0000] np 2017-09-09 [09:06:36.0000] Anyone around for me to bounce a crazy idea off of? 2017-09-11 [22:46:41.0000] I'm not entirely sure which parts of Servo made it into Gecko, so asking here.. Is this https://dxr.mozilla.org/mozilla-central/source/servo/components/script/dom/htmllinkelement.rs used by Gecko? [00:04:14.0000] sangwhan: seems highly unlikely [00:04:39.0000] sangwhan: for now it's text encodings and part of the style system [00:08:49.0000] annevk: Thanks, was just checking if apple-touch-icon is whitelisted in link rel within Gecko, seems like it's dealt with on the Android platform side? [00:25:34.0000] annevk: we could cite https://tc39.github.io/ecma262/#sec-ecmascript-language-types-string-type for a definition of UTF-16 [00:26:19.0000] esp. when one of the refs to UTF-16 is DOMstring conversion to ES String [00:26:27.0000] *USVString [00:35:43.0000] TimothyGu: as I said, once the real fix is in all those UTF-16 references go away [00:35:51.0000] TimothyGu: so I don't think we should worry too much about it [00:35:56.0000] ok [00:36:19.0000] sangwhan: I don't really know anything about that [00:37:28.0000] sangwhan: I've at various times suggested we create some kind of icon finder algorithm in HTML that deals with all this crap once and for all, but nobody picked up on it and I haven't made the time [00:40:49.0000] I could sit down with wireshark and see what implementations do and document that in the form of a PR if anyone has time to review it.. [00:41:53.0000] TIL: ids in implementations are weird, and also zcorpan is living proof that I can't read English [00:44:13.0000] sangwhan: hehe. ids used to be weirder I believe [00:45:51.0000] None of the implementations I checked seem to acknowledge or enforce the uniqueness though, and also let whitespaces through. This probably is worth fixing, but not sure at which layer [00:46:03.0000] Whoa, this latest thread on whatwg@ is rather surprising to me [00:46:39.0000] Third email is from someone I think I haven't seen before, but basically spot on with advice [00:46:42.0000] That doesn't happen a lot [01:07:24.0000] hayato: https://github.com/w3c/web-platform-tests/pull/4541#issuecomment-328285388 [01:13:04.0000] annevk: thanks. That looks good to me. [02:56:24.0000] Which spec might define that modifying .style modifies style attribute too...perhaps HTML [03:00:34.0000] hmm, no [03:00:38.0000] foolip: perhaps you know [03:01:14.0000] I guess https://drafts.csswg.org/cssom/#the-elementcssinlinestyle-interface [03:02:33.0000] smaug____: looks like it, yeah [03:04:59.0000] foolip: I wonder if DOM attribute should be set, when one sets a declaration to its current value [03:05:31.0000] That seems to cause https://bugzilla.mozilla.org/show_bug.cgi?id=1395767 [03:14:00.0000] "Mutating the declarations must set the style content attribute on the context object to the serialization of the declarations." [03:15:38.0000] nox: exactly [03:15:50.0000] that is vague [03:15:55.0000] I don't see how. [03:16:12.0000] does setting declaration to its current value mutate it? [03:16:44.0000] If I don't see wording that special cases that, I take it as always doing the thing. [03:18:31.0000] it is not really a special case, I think. It is more about what the word "mutate" means [03:19:21.0000] Setting = mutating to me. [03:20:57.0000] And AFAIK there would be no precedent for such a behaviour. [03:21:10.0000] Replacing an element by itself queues a mutation record, etc. [03:54:32.0000] That sentence could be clarified, but I agree with nox's sense of what should happen [03:55:11.0000] In particular it would be better if declaration mutation was a defined algorithm that ended up invoking something that updates the style content attribute [05:18:20.0000] bah, no hsivonen [05:26:27.0000] He sent dev.platform an email not long ago, so you could try email? [05:26:37.0000] In unrelated questions [05:27:01.0000] Does a websocket connection really not make a page unsalvagable? [05:27:16.0000] How are you supposed to keep that alive in the bfcache? [05:27:22.0000] What am I missing? [05:27:53.0000] gsnedders: Oh I see. [07:27:33.0000] jgraham: yeah, I went for #content instead [07:38:28.0000] jgraham: and now replied to his email. was just trying to be fast before I ran out. [12:37:52.0000] With respect to Fetch, is the following statement from RFC 7231 Section 7.1.1.1 germane? [12:37:54.0000] "When a sender generates a header field that contains one or more timestamps defined as HTTP-date, the sender MUST generate those timestamps in the IMF-fixdate format." 2017-09-12 [18:24:59.0000] When WHATWG recommends URL over URI, does that mean the specification is just for URLs, and they don't pay attention to URIs, or does it mean that they prefer everything is called URLs. [18:30:41.0000] ? [18:30:53.0000] what is the difference between URL and URI to you? [19:19:02.0000] tantek: to me? [19:19:14.0000] tantek: whatever you tell me :P [19:19:34.0000] tantek: I do understand the difference, but I'm curious what's the official position of WHATWG [19:23:32.0000] cantom: everything should be called URLs [19:23:45.0000] cantom: "Standardize on the term URL. URI and IRI are just confusing. In practice a single algorithm is used for both so keeping them distinct is not helping anyone. URL also easily wins the search result popularity contest." [19:24:05.0000] https://url.spec.whatwg.org/#goals [19:27:43.0000] TimothyGu: Thanks, thing is I quoted this exact sentence to someone and they're adamant that this means "because browsers mostly need URLs they focus on URLs, and use the same parser for URLs and URIs, doesn't mean they call all URIs URLs" [19:28:41.0000] cantom: uh well, that's exactly what it says "Standardize on the term URL" [19:28:56.0000] TimothyGu: another thing "this is just how WHATWG deals with it internally, it doesn't mean they want anyone else not calling it URIs" [19:29:41.0000] TimothyGu: I know but... Sigh. [19:29:45.0000] TimothyGu: thanks. [19:30:06.0000] this is written in a STANDARD, not a W3C working group note or TAG guide. those latter things are "internal", but standards are public standards [19:30:19.0000] well, WG-NOTE isn't really internal [19:31:04.0000] TimothyGu: BTW what this guy says aside, it's interesting to me that it says "this standard obsoletes the IETF RFCs" [19:31:18.0000] TimothyGu: it's curious to me how one organization obsoletes the standards of another ;-) [19:33:40.0000] TML, I asked Timothy Gu and Tantek Çelik, and they said this is a published standard that intends to obsolete the IETF RFCs that call it URIs, and so they want everyone to use the URLs term for all link schemes. [19:33:55.0000] Oops [19:33:58.0000] Wrong place. [19:46:54.0000] cantom: btw I don't really consider the RFCs *fully* obsoleted, just their normative requirements [19:47:32.0000] TimothyGu: all right :) thanks [19:47:50.0000] they still have some information that's helpful, like explanations of each fields of a URL [19:48:01.0000] TimothyGu: last question, is there a good test suite for URL parsing WHATWG provides (or someone)? [19:48:06.0000] yep [19:48:16.0000] https://github.com/w3c/web-platform-tests/tree/master/url [19:48:20.0000] Thanks!! [19:48:35.0000] if you are only intersted in parsing: https://github.com/w3c/web-platform-tests/blob/master/url/urltestdata.json [19:49:01.0000] (the others test URL() APIs too [19:50:33.0000] Beautiful, I'm so happy I asked, I was about to write this myself hehe (poorly) [19:56:55.0000] cantom: oh, in case you are implementing the parsing algorithm, there's an unofficial JS reference implementation at https://github.com/jsdom/whatwg-url [19:57:47.0000] and Node.js' implementation is kept up-to-date too, though it's written in C++: https://github.com/nodejs/node/blob/master/src/node_url.cc [19:57:56.0000] (grep for url::parse) [19:58:00.0000] :D [19:58:04.0000] URL::Parse() [02:59:04.0000] zcorpan: as a sidenote I'd prefer unlessViewed to notIfViewed [03:36:35.0000] tobie: thx [04:30:31.0000] https://www.khronos.org/registry/webgl/specs/latest/2.0 is the very latest, right? [04:31:17.0000] Ms2ger: well maybe something newer in the GitHub repo [04:38:00.0000] Ugh, apparently so [04:38:31.0000] but idk if that actually reflects consensus in any real sense [04:40:09.0000] Well, does anything? [04:41:02.0000] Do we have a statement anywhere about how the web is supposed to be portable? E.g. how we don't generally expose hardware/OS capabilities directly and require feature testing to figure out what works, but instead we build a slightly higher-abstraction API that covers general situations [04:42:27.0000] Ms2ger: gsnedders: in my experience the delta from GitHub merge to publication was very low, possibly zero? [04:43:51.0000] Domenic: https://www.w3.org/TR/html-design-principles/#media-independence [04:44:39.0000] That seems OKish I guess. It seems pretty small for something so foundational, and you have to squint to see how it would apply to e.g. the Notifications API [04:45:01.0000] Does chromium code search have blame? [04:45:32.0000] Yeah, and media is a little different from platforms arguably... Maybe at some point we should redo that document and makes it apply more generally [04:45:47.0000] And bring it back home to the WHATWG... [04:51:35.0000] Ms2ger: under layers [04:51:48.0000] Thx [04:52:31.0000] > blink-reformat⊙co [04:52:34.0000] <.< [04:52:36.0000] >.> [07:58:30.0000] JakeA: service worker scripts can redirect same-origin, right? [07:58:53.0000] hmm, no... I guess it sets redirect mode to "error" [08:05:36.0000] yeah, errors [08:06:01.0000] JakeA: sorry, I should have checked the spec before pinging you [08:06:07.0000] np :D [08:06:16.0000] I wonder if we have a WPT for that [08:42:10.0000] well, at least both browsers prevent install when redirected: https://sw-script-redirect.glitch.me/ [08:47:49.0000] JakeA: but I guess imports can redirect [08:48:12.0000] wanderview: yeah, they can be cross-origin too [08:59:09.0000] JakeA: I'll add a WPT test for the importScripts() redirect... I don't think we test that today [08:59:17.0000] we had a bogus assertion that path was hitting [09:06:51.0000] JakeA: btw, I think we've made the call not to ship ReadableStream in FF57... doesn't look like the remaining issues will be fixed in time [09:19:09.0000] wanderview: more important for it to be right than early imo [09:19:43.0000] well, it definitely won't be "early" :-) [09:28:03.0000] In specs: If I'm going to resolve a promise with an object, say a Request, do I need to queue a task before creating that object? [09:29:46.0000] JakeA: are you already on the js thread? [09:29:50.0000] JakeA: if you use the shorthands from https://www.w3.org/2001/tag/doc/promises-guide#shorthand-manipulating, then "If the algorithm using these shorthands is running in parallel, the shorthands queue a task on p’s relevant settings object’s responsible event loop to call the stored function." [09:29:57.0000] but that doesn't help with creating the Request itself of course... [09:30:29.0000] well, "resolve with a newly created X object" should be fine, while "1) create a new Request object, 2) resolve with that object" wouldn't [09:30:49.0000] or maybe not [09:33:30.0000] Mek: Makes sense, cheers. I guess if I need two steps I could propose something like "Resolve p with the result of these steps:" [10:56:46.0000] Did the delegatesFocus flag (mentioned in https://developers.google.com/web/fundamentals/architecture/building-components/shadowdom#focus but not in DOM) get replaced by anything, or is it just gone? [11:06:43.0000] (I don't need to use it; I'm reviewing a spec that propagates it from one place to another.) [12:57:05.0000] Has there been any movement on declaratively attaching a shadow tree to an element? Someone gave me a proposal to attach