2016-05-01 [20:42:43.0000] Did https://philip.html5.org/tests/canvas/suite/tests/ ever make it into web platform tests? [20:44:18.0000] I guess https://github.com/w3c/web-platform-tests/tree/master/2dcontext seems pretty similar if you squint [00:47:47.0000] Domenic: yeah the wpt 2dcontext tests are the same Philip`’s [00:48:06.0000] there’s a build script to (re)generate them [00:49:26.0000] it’s one of the parts of the wpt suite where the process for revising the tests is not to edit the (generated) HTML files but instead edit the python sources and data files from whiche they’re generated [00:58:26.0000] Writing code is boring, it's much better to write code that writes code [01:27:44.0000] I like the pseudo-archaic "whiche" [09:19:44.0000] hi, i have found a bot chanserv in some channels... is that a service from freenod? who can i acess this boot? to request @ for exemple? [09:30:52.0000] -ChanServ- You are not authorized to (de)op daFonseca on #RPG. [12:31:15.0000] MikeSmith: \o/ 2016-05-02 [18:55:59.0000] kochi: yt? [18:56:02.0000] hayato: yt? [19:13:28.0000] does anybody know if bloomberg and zdnet use the same technique or library to implement navigation transitions? [19:16:08.0000] ugh... what a shit show :( wordpress.com breaks if we make deepPath a method because they assume it's an attribute :( [19:16:17.0000] annevk: ^ [19:16:18.0000] hayato: ^ [19:16:30.0000] what I mean is if you go to http://www.zdnet.com/article/xerox-scanners-alter-numbers-in-scanned-documents/ and scroll past the end of that story to the next, the navigation seamlessly transitions to http://www.zdnet.com/article/ai-selfie-drone-takes-13mp-photos-and-4k-video-wows-gmic-beijing-2016/ [19:17:03.0000] and if you scroll back up it navigates back to the URL of the first story [19:17:54.0000] rniwa: nice stuff, bravo once again for wordpress [19:18:02.0000] MikeSmith: yup :( [19:18:19.0000] rniwa: btw you are back in the US now right? [19:18:28.0000] MikeSmith: it's great that all these web devs are rushing to adopt the latest stuff without ever considering the possibility of it ever changing... [19:18:30.0000] I’m in Matsumoto this week [19:18:34.0000] yup [19:18:35.0000] MikeSmith: I am [19:18:37.0000] MikeSmith: oh enjoy! [19:18:40.0000] ah OK [19:18:44.0000] MikeSmith: oh, right, your wife is from Matsumoto, right? [19:18:52.0000] MikeSmith: enjoy your stay there :) [19:18:57.0000] thanks yeah it’s nice up here [19:19:03.0000] MikeSmith: I wanted to go to Matsumoto castle while I was in Japan but I didn't have a time [19:19:11.0000] yeah we are at her parents’ place [19:19:25.0000] MikeSmith: have you been to わさび農園? [19:19:30.0000] yeah Matsumoto castle is one of the nicest in Japan [19:19:33.0000] in 安曇野? [19:20:14.0000] I know 安曇野 but not わさび農園 [19:20:28.0000] it is very close and my wife has a friend in that town [19:20:34.0000] so we will go [19:21:28.0000] MikeSmith: https://ja.wikipedia.org/wiki/大王わさび農場 [19:21:32.0000] it’s a park or 牧場? [19:21:38.0000] /me looks [19:21:42.0000] MikeSmith: you can eat fresh Wasabi! [19:21:47.0000] oh [19:21:48.0000] nice [19:21:52.0000] It's pretty chill there [19:21:54.0000] yeah, will go for sure [19:22:07.0000] you can even make some わさび漬け there [19:22:19.0000] picking vegetables and wasabhi stems with nuka [19:22:25.0000] this is such a local topic LOL [19:22:38.0000] I feel bad for spamming #whatwg with it but whatever [19:22:39.0000] heh [19:22:58.0000] well it’s off-hours here anyway [19:23:10.0000] not sure hayato and kochi are the office today [19:23:23.0000] most people taking it as a holiday I think [19:23:54.0000] MikeSmith: oh that's right, it's golden week! [19:24:10.0000] this whole web components related new DOM feature has been such a mess! [19:24:43.0000] MikeSmith: e.g. s://github.com/whatwg/dom/issues/241 [19:24:53.0000] no pain, no gain 😄 [19:25:20.0000] /me looks at https://github.com/whatwg/dom/issues/241 [19:25:25.0000] ah yeah saw that [19:25:50.0000] I hope hayato changes his mind on that one [19:27:07.0000] mailchimp.com is pretty widely used, and I think it is clear there are likely to be more [19:27:20.0000] MikeSmith: yup [19:27:25.0000] MikeSmith [19:27:41.0000] MikeSmith: the fact such a popular website got broken is a good indication that there are a lot more to come [19:28:05.0000] I don't really understand this whole discussion of wait & see if it's bad enough thing [19:28:10.0000] breaking any websites is bad :( [19:28:33.0000] the idea of "insignificant" number of websites being broken due to a new feature seems like an entirely misguided concept [19:29:18.0000] yeah, agreed [19:29:36.0000] wrong priorities [19:30:34.0000] it's one thing if the existing feature is broken between browsers but breaking a website with a brand new feature seems completely unwarrented [19:33:24.0000] MikeSmith: there's also: https://github.com/whatwg/dom/issues/23 [19:55:08.0000] rniwa: yeah gotta agree with wycats there [19:56:17.0000] hoping this thing of google pushing through with changes that break web compat over of objections from web developers and other browser projects is not a trend [20:00:12.0000] That one's different, because timeStamp never worked cross-browser anyway [20:01:09.0000] Domenic: indeed, it's a little bit more nuanced but I don't think breaking existing code doesn't make much sense IMO [20:01:23.0000] there are a plenty of APIs we keep around even though we added a new thing [20:01:25.0000] rniwa: well, it was existing code that was already broken in Firefox and in some cases other browsers [20:01:46.0000] Domenic: that's just a bug in Firefox. [20:02:02.0000] sure, but it gives us room to upgrade the DOM into something better [20:02:08.0000] Domenic: we can't use one broken browser as an excuse to break code that was working in many other browses [20:02:20.0000] Hmm, I guess I disagree [20:02:25.0000] Domenic: I don't like the whole idea of "upgrading DOM" [20:02:37.0000] Domenic: that's just a synonym for breaking code that was working just fine. [20:02:42.0000] Domenic: it's quite ridiculous IMO. [20:03:05.0000] Well, as I said, I disagree [20:03:09.0000] Domenic: one of the reasons Web succeeded so well is because it kept backwards compatibility unlike other platforms [20:03:19.0000] I think taking something that didn't work the same everywhere, and making it better, is a good idea. [20:03:20.0000] Domenic: yeah i guess we agree to disagree there. [23:10:22.0000] MikeSmith, Domenic: sorry, I had to get out of a cafe in Berkeley earlier. [23:10:54.0000] MikeSmith, Domenic: FYI, https://github.com/whatwg/dom/issues/242 [00:07:30.0000] which spec defines load event's special case for propagation these days? [00:09:37.0000] smaug____: DOM [00:10:11.0000] smaug____: 'A document’s get the parent algorithm, given an event, returns null if event’s type attribute value is "load" or document does not have a browsing context, and the document’s associated Window object otherwise.' [00:11:32.0000] thanks [00:19:26.0000] @annevk: it would be really useful to have cross-linking across HTML & DOM [00:19:42.0000] rniwa: there generally is [00:19:56.0000] rniwa: what's not linked? [00:19:58.0000] @annevk: or some sort of cross searching feature? [00:20:33.0000] @annevk: like... that question could easily be answered if load event's definition in HTML spec had all references including that one in DOM [00:20:43.0000] (or maybe it already has such a hyperlink?) [00:21:03.0000] Well, the problem with events is that event names get reused [00:21:10.0000] So there's no such thing as a "load" event [00:21:15.0000] There's dozens [00:21:21.0000] All with different semantics [00:21:41.0000] oh I see [00:21:52.0000] And the special case in DOM applies to all of them, not just a particular one [00:21:53.0000] @annevk: what if we had full text search on specs? [00:22:12.0000] rniwa: isn't that what a browser provides? [00:22:23.0000] @annevk: I can't do that across DOM & HTML though [00:22:34.0000] @annevk: as well as seemingly hundreads of CSS modules :( [00:22:50.0000] Ah I see, a search engine solely for specs [00:22:54.0000] yea [00:22:56.0000] something like that [00:23:11.0000] @annevk: google kind of works but it finds all sorts of irrelevant stuff [00:23:36.0000] I think with TabAtkins and plinss's linking infrastructure there could be something that finds all the terms and where they are defined [00:23:51.0000] Still wouldn't really solve this case though [00:25:08.0000] @annevk: yeah, it would be super useful to have a W3C spec search engine [01:37:28.0000] annevk: yt? [01:37:37.0000] Ms2ger: yt? [01:38:20.0000] Ack [01:38:34.0000] rniwa: yeah, I'm around [01:38:59.0000] @annevk, Ms2ger: I'm not sure if I'm reading the spec right but it looks like the new HTML spec text seems to indicate that document.currentScript is null [01:39:15.0000] if the script element happens to have been removed from the tree at the time of the script execution [01:39:35.0000] @annevk, Ms2ger: this is problematic for a script that gets momentarily inserted into a document and then removed [01:39:47.0000] because all browsers currently returns the "right" script element in this case. [01:39:51.0000] Do you have a test for it? :) [01:40:36.0000] I suspect this was intentional [01:40:51.0000] Ms2ger: can I send you a zip? [01:40:57.0000] Ms2ger: or would you prefer gist posts? [01:41:15.0000] rniwa: I don't think that's true [01:41:37.0000] @annevk: https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block [01:41:37.0000] rniwa: currentScript is set to the script element, then the script is executed, then after it's executed it's set to its old value [01:41:55.0000] @annevk: well, the problem is that an async script could be inserted to a document [01:41:56.0000] then removed [01:41:59.0000] and then get executed [01:42:14.0000] @annevk: in that case, browsers currently return the script element while that async script executes [01:42:28.0000] I see [01:42:43.0000] I prefer wpt PR [01:43:00.0000] Ms2ger: I don't have a cleaned up test case yet. [01:43:06.0000] rniwa: so instead of "in a document" we want to test "whose root is not a shadow root" [01:43:19.0000] No hurry, but it would be nice to have one at some point [01:43:26.0000] rniwa: file an issue? [01:43:26.0000] Ms2ger: definitely [01:43:32.0000] @annevk: will do [01:43:40.0000] ta [01:43:42.0000] Ms2ger, @annevk: there is a subtle issue with that approach [01:44:48.0000] Ms2ger, @annevk: which is that then those script element that gets inserted and then removed before it gets executed will be running like an ordinary script element outside the shadow tree [01:45:27.0000] Ms2ger: I guess I can upload a PR anyway [01:45:43.0000] rniwa: yeah, but since they can't leak shadow trees it seems okayish [01:45:52.0000] @annevk: hm... [01:46:28.0000] @annevk: but what if a script element was initally inserted into a document tree, then re-inserted into a shadow tree? [01:46:33.0000] (before it was executed) [01:46:46.0000] @annevk: would we then return null in document.currentScript? [01:46:51.0000] rniwa: yeah [01:46:57.0000] rniwa: it's root would be a shadow root [01:47:24.0000] @annevk: i guess that kind of makes sense [01:47:36.0000] you don't want to be exposing the script element in that case. [01:47:55.0000] Yeah, otherwise it has all the problems of a normal script element in a shadow tree [01:53:31.0000] @annevk: https://github.com/whatwg/html/issues/1161 [01:54:04.0000] @annevk, Ms2ger: right, okay, I'll adjust my test & code and put a PR up for wpt. [01:55:01.0000] Thanks! [02:07:52.0000] Ms2ger: here's a PR: https://github.com/w3c/web-platform-tests/pull/2934 [02:08:23.0000] Thanks, will try to look later [02:09:29.0000] meanwhile I'm gonna sleep like a cat. [05:19:14.0000] Can someone explain to me why in Firefox and Chrome, removing "overflow:hidden" removes the gap between the Test boxes and the red border: https://dump.testsuite.org/css/annevk-mobile-nav.html? [05:19:38.0000] Seems like a bug of sorts [05:23:28.0000] i am new in this channel [05:24:21.0000] Anyone is new in web development [05:24:40.0000] and wanna build website [07:19:43.0000] jochen__: bit curious about https://github.com/w3c/webappsec-referrer-policy/pull/42 [07:19:52.0000] jochen__: afaik all implementers have to implement from WHATWG HTML [07:20:35.0000] jochen__: why put effort into a fork that's a disaster from the get-go? https://annevankesteren.nl/2016/01/film-at-11 [07:21:04.0000] jochen__: seems like a waste of engineering resources [10:38:43.0000] Are there any other elements in HTML that can have link href behavior, other than a and area?\ [10:39:09.0000] People always forget area, so I don't know if there are any more. I couldn't find anything with a quick look in the standard. [10:39:14.0000] Jasper: what kind of behavior are you looking for? [10:39:37.0000] annevk, the link behavior. Gets a pointing cursor, and when you click on it, you navigate to the href in question. [10:39:54.0000] Can style it with :link, :visited, etc. [10:39:55.0000] Jasper: , in some UAs, iirc [10:40:02.0000] Hm, really? [10:40:07.0000] (also per spec iirc) [10:40:09.0000] I thought that was for stylesheet and icon references... [10:40:24.0000] It's certainly not just for that [10:40:43.0000] I guess I don't know what the element is for then. [10:41:31.0000] Works fine in Firefox [10:41:40.0000] . [10:41:44.0000] Huh. [10:53:21.0000] annevk: that's pretty weird, but I guess unsurprising if you style link with :link [10:54:26.0000] I'm genuinely surprised it gets the click-y behavior too. [10:55:12.0000] Anyway, those and svg:a are the elements that have this kind of behavior [10:57:54.0000] annevk: https://lists.w3.org/Archives/Public/public-webappsec/2016May/0002.html [10:58:13.0000] > Accordingly, I believe it is appropriate to make normative reference[6]to Fetch as the SRI spec goes to Proposed Recommendation. [11:02:15.0000] Wendy should not have to work on shit like that [11:02:23.0000] I'm really surprised she puts up with it [11:03:54.0000] she has to put up with worse than that :) [11:04:02.0000] I do too [11:04:16.0000] as far as our job responsibilities go [11:04:32.0000] but that one certainly affected a lot more people [11:04:39.0000] and held up a lot more things [11:05:06.0000] If you've done amazing things like Chilling Effects, I'm having a hard time seeing how you can be comfortable doing this [11:05:21.0000] I guess I should ask if I make it to Lisbon [11:05:23.0000] yeah, that does put it into perspective [11:06:44.0000] but glad she finds a way, because she is a major asset to have on the team [11:14:43.0000] this isn't exactly a ringing precedent; it looks like this will have to continue to be fought for every spec, based on examining what terms are xrefed [11:49:16.0000] It is rather strange 2016-05-03 [19:15:30.0000] do any UAs support the as= attribute in e.g. ? [19:15:59.0000] and does anybody know the point of that attribute? [19:16:23.0000] it basically just seems to repeat the element name [19:16:51.0000] , etc [19:16:56.0000] http://w3c.github.io/preload/#attributes [19:17:45.0000] igrigorik_: [19:17:59.0000] igrigorik_: ⬆ [19:18:38.0000] I am trying to decide whether to add support for as= to the HTML checker [19:19:08.0000] https://github.com/validator/validator/issues/276#issuecomment-216287257 [00:31:23.0000] MikeSmith: Chrome supports that to some extent. yoav will have details. [00:35:32.0000] MikeSmith: Yeah, Chrome supports it and the point is to start a Fetch for that resource with the proper destination so that it could be matched when later requested by an element uses that resource, fetched while taking the proper CSP directives into account, and with the right request headers (e.g. Accept) [00:36:22.0000] `as` is the main difference between preload and its (not-very-useful) predecessor subresource [00:41:13.0000] what happend to the whole "browsers try not to break pages" thing [00:43:56.0000] (re: Object.observe suddenly going away in a chrome update and now android systrace is broken, and now I get to do the extra hazardous thing of updating Android tools near the end of a project and hoping everything doesn't explode) [00:48:09.0000] zewt: they try, but not always succeed? [00:48:34.0000] zewt: I think Object.observe() had a deprecation period of several releases [00:48:48.0000] zewt: and it was never implemented by more than one browser, another sign it was rather unstable [00:49:12.0000] all I care about at the moment is that a tool I was using regularly just stopped working, and as far as I can tell I'm just screwed [01:04:21.0000] MikeSmith: spam at https://www.w3.org/Bugs/Public/show_bug.cgi?id=12845#c39 [01:12:21.0000] google sure is going to a lot of effort to make sure I can't do my job [01:18:24.0000] whats wrong zewt? [02:15:02.0000] annevk, yt? [02:48:23.0000] Ms2ger: what's up? [02:48:54.0000] I was stupid enough to look into about:blank [02:50:56.0000] Do you think it would make sense to defined Document's "ready for post-load tasks" and "completely loaded" flag in DOM? Then we could set then explicitly for createDocument/createHTMLDocument/new Document() [02:51:06.0000] HTML seems to miss new Document() right now [02:58:24.0000] annevk: a) it's a W3C WG for better or worse [02:58:48.0000] w3c specs can reference whatwg specs [02:58:50.0000] annevk: and b) I think documenting all the places where the W3C html spec doesn't even satisfy the requirements of other W3C specs is a worthwhile execise [02:59:13.0000] it's problematic once you want to move beyond WD [02:59:17.0000] Ms2ger: sounds reasonable [02:59:23.0000] see the SRI stuff currently going on [02:59:57.0000] https://lists.w3.org/Archives/Public/public-webappsec/2016May/0002.html [03:00:30.0000] Seems like it's not problematic? [03:00:47.0000] Anyway [03:02:45.0000] i'm not saying you're wrong [03:02:51.0000] i'm saying you're having the discussion with the wrong person [03:03:12.0000] you should totally bring this up on the mailing list [03:06:39.0000] I don't have time for that [03:07:01.0000] Also, the mailing list post you linked seemed to completely disprove your point [04:57:18.0000] whaat, browsers supporting focusin/out seem to dispatch them at really odd time [04:57:26.0000] totally against the spec [05:00:30.0000] Is that the kind of specification where you have to read between the lines? Because last I checked they were not really defined... There's an open issue against HTML for them. [05:02:26.0000] it is defined [05:03:25.0000] but I'm seeing focusin dispatched after focus [05:03:53.0000] am I on crack here [05:04:01.0000] http://mozilla.pettay.fi/moztests/focusin_focusout.html is my testcase [05:05:23.0000] Defined where? [05:05:56.0000] That resource doesn't load for me by the way [05:06:47.0000] annevk: defined in UI events spec [05:06:54.0000] oh, what happened to pettay.fi [05:07:41.0000] smaug____: that is rather hand wavy, e.g., it doesn't define the interaction with focus()/blur(), presumably not with autofocus="" either, or click(), etc. [05:08:00.0000] oh, sure, but at least it defines whether focusin should happen before focus etc [05:08:21.0000] I guess that is something... [05:23:05.0000] smaug____: any ideas for an alternative name for rootNode? Are you fine with the suggested alternatives? E.g., treeTop? [05:23:53.0000] treeTop would be ok [05:24:31.0000] not very great, but I don't think we can really find anything much better [05:28:16.0000] /me wonders what's wrong with rootNode [05:28:26.0000] (treeTop sounds very strange to me) [05:28:50.0000] /me isn't following wherever this discussion is happening [05:29:36.0000] jgraham: rootNode isn't compatible with the web [05:29:51.0000] it is being used by script libraries, apparently [05:30:34.0000] jgraham: it's rather sad, https://github.com/whatwg/dom/issues/241 [05:30:44.0000] Doh [05:34:11.0000] when did the prescan move to being 1024? I remember it being 512, and that's what html5lib implements. [05:34:13.0000] FWIW I think the reason that treeTop doesn't match is because it's a screwy mental model were the top of the tree and the root of the tree are the same point [05:37:17.0000] jgraham: interesting, why is that the wrong model? [05:37:48.0000] jgraham: note that furthestAncestor doesn't work for the root itself [05:38:06.0000] annevk: Why doesn't it work for the root iself? [05:38:30.0000] jgraham: you want root.rootNode === root [05:38:52.0000] annevk: I'm comfortable with the root being its own furtestAncestor [05:39:07.0000] jgraham: hmm, the spec calls those inclusive ancestors [05:39:15.0000] More comfortable than I am with the top and the bottom of the tree being the same point [05:39:45.0000] annevk: Well no one reads the spec (apart from like a dozen implementors and language lawyers), so that doesn't seem like a very strong argument ;) [05:40:57.0000] I suppose, but if ancestor is used elsewhere and means something different it'll be confusing [05:41:14.0000] Is it used elsewhere? [05:41:58.0000] (apart from XPath) [05:44:12.0000] jgraham: I don't know [05:48:10.0000] anybody got an opinion about disallowing alert and friends in microtasks? [05:48:24.0000] jochen__: How about disallowing them in macrotasks too? [05:48:34.0000] the reasoning is that while an alert is displayed, if you e.g. resize the browser windows, all browser dispatch events at the web page [05:48:48.0000] which kinda violates the idea of microtasks being ran outside of the main message loop [05:48:52.0000] mkwst: working on that :) [05:49:23.0000] jochen__: what kind of events? [05:49:54.0000] jochen__: oh, I see what you mean [05:50:45.0000] resize for example [05:50:52.0000] or whatever happens to come in on the message loop [05:51:23.0000] i'm toying with the idea of blanked disallowing those apis: https://codereview.chromium.org/1940253002 [05:54:00.0000] /me can't imagine much opposition to that [05:54:09.0000] Well unless it's already a compat issue [05:54:51.0000] Of course it is [05:55:21.0000] Ms2ger: In microtasks? [05:55:33.0000] I mean removing alert entirely is a huge compat issue ofc [05:55:34.0000] /me points at the topic [06:08:48.0000] To answer my own question: https://github.com/whatwg/html/commit/51babfe760a1dbe28c4521b2070e692ac872550a [06:17:55.0000] annevk: thanks, banned that bugzilla spammer [06:18:43.0000] yoav, mkwst thanks I guess I’ll go ahead and add as= support to the HTML checker [06:19:19.0000] MikeSmith: Sorry. I told yoav to stop being awesome and implementing new things, but he never listens to me. :( [06:20:11.0000] hahah [06:20:33.0000] you two are keeping the W3C in business [06:21:30.0000] I'm not sure that's a good thing? [06:50:43.0000] mkwst: I’ll leave that up to you to decide for yourself :) [06:51:14.0000] mkwst: by the way, have y’all moved to autopublishing for your specs yet? [06:51:19.0000] CSP, tc. [08:05:45.0000] annevk: Hey! Is there a particular reason that "Accept-Encoding" is in the forbidden headers list in Fetch? [08:06:10.0000] Are there security risks involved with SW changing it to add support to new codecs, etc? [08:07:47.0000] yoav: I think one of the problems is that the browser handles that entire layer in principle [08:08:15.0000] Oh, so content encoding gets decoded before the bytes get to SW? [08:08:18.0000] yoav: we don't expose the content before content codings have been handled, and there's a number of schemes for which that would not even make sense, as I understand it [08:08:21.0000] yoav: yes [08:08:35.0000] got it! Thanks! :) [08:08:49.0000] yoav: see "handle content codings" [08:09:44.0000] invoked as "handling content codings" (though you can also click the definition to find where it's invoked) [08:49:18.0000] https://w3c.github.io/unicode-xml/#Bidi recommends browsers ignore Bidi Embedding control characters (since users are supposed to use markup instead), but they apparently don’t: data:text/html,&%23x202e;Test renders as tseT in both Firefox and Chromium [08:50:49.0000] so there’s probably content out there that rely on these code points [08:57:34.0000] zcorpan: (and others) Do we seriously really want to have the HTML checker emit a warning for every single document that’s missing a lang attribute on the HTML element? [08:57:59.0000] because once I add that is it going to instantly become the #1 most common error [08:58:36.0000] and I think some authors/developers are going to see it as noise [08:59:29.0000] on the other hand, if we think it is that important that every single document on the Web really should have a lang attribute on the html element, then I guess this would be a good way to help make that happen [08:59:47.0000] so maybe my question is, just how important is this to us? [09:00:00.0000] or how important is it for the Web [09:00:20.0000] what real problems does it solve for users in practice [09:00:36.0000] context is https://github.com/validator/validator/issues/284 [09:00:40.0000] MikeSmith: it affects users of AT primarily, when reading content that is in a different language than their system language [09:00:55.0000] and https://www.w3.org/Bugs/Public/show_bug.cgi?id=26942#c13 [09:01:03.0000] zcorpan: OK [09:01:09.0000] MikeSmith: i suppose that may be a smaller set of people than the people who will be annoyed about validator errors, i dunno [09:01:25.0000] /me reads recent comments at https://www.w3.org/Bugs/Public/show_bug.cgi?id=26942 [09:01:41.0000] I hope this is just not another table@summary [09:03:11.0000] i think what would be best for users is probably for ATs to do language analysis themselves, but that's not the situation today [09:04:59.0000] yeah, doing language analysis over an entire doc when you load it is a pretty big deal [09:05:34.0000] or even trying to programatically determine some subset to analyze [09:05:49.0000] don't need to run it over the whole document, just a few words is typically enough to get a confident answer [09:05:56.0000] iirc [09:06:04.0000] yeah but which words do you choose? [09:06:34.0000] the words you're about to read next? :-) [09:07:24.0000] imho this should also work if the user types into a textarea [09:07:36.0000] MS Word deals with it [09:08:11.0000] for spell checking, i mean [09:09:04.0000] OS X has language detection for spell checking in general also [09:12:17.0000] Chrome already detects languages to see if it should show the Translate prompt, and it has an extension API to do it (https://developer.chrome.com/extensions/tabs#method-detectLanguage). I wonder if we should synthesize lang attributes, or an equivalent aria attribute... [09:13:03.0000] zcorpan: it is a lot easier to do in that case than in the case of trying to analyze text nodes in document order in real time as I parse a document [09:13:29.0000] do I just check the first text node? or the first 10 text nodes? or what [09:23:24.0000] I feel like this should be a separate tool [09:23:51.0000] It totally seems like the AT should try to do the linguistic analysis here [09:23:53.0000] that users could opt into [09:24:31.0000] jgraham: yeah well as we know the vendor of the most widely used AT is not going to add it [09:25:05.0000] I now am wondering if Richard Ishida has not already implemented a tool for doing this [09:25:13.0000] Would be nice if eventually the most widely used AT wasn't any more due to others implementing better features [09:35:33.0000] NVDA devs are trying [09:57:40.0000] jyasskin: do you have any idea how much of the text of a document Chrome checks before showing the Translate prompt? [09:57:50.0000] or what it checks? [09:58:15.0000] I am wondering if there is some existing literature on how best to do this for HTML documents [10:00:45.0000] MikeSmith: I haven't worked on the system, but it is open source. ;) [10:00:56.0000] OK [10:01:11.0000] will look at the sources [10:05:34.0000] language detection of single-language strings is pretty much solved by now, and it's certainly practical to run over the entire doc, cost isn't that high [10:07:07.0000] the problem is you can't guarantee a single HTML page is a single language [10:09:36.0000] https://sites.google.com/a/chromium.org/dev/developers/design-documents/translate doesn't seem to have been updated since it's initial version, so no idea if that still bears any resemblance to the implementation [10:10:31.0000] gsnedders: it is not practical for me if I am not building a DOM or any other in-memory representation [10:12:22.0000] the checker only does anything with text nodes at all just for particular elements that the spec puts requirements on the text content of [10:13:44.0000] and the checker is currently extremely fast and it is hard to see how doing this is any form is not going to add a measurable performance cost [10:14:08.0000] Mek: thanks will look at it anyway [10:14:44.0000] hmm, “The renderer already extracts the text from each loaded page for indexing purpose” [10:16:05.0000] MikeSmith: there's some silly fast and accurate langid tools out there, but maybe not practical [10:49:36.0000] yoav: up for reviewing https://github.com/whatwg/html/pull/1141? :) [10:59:07.0000] Domenic: will review later tonight. Seems like the email fell through my mail filters... :/ [11:01:21.0000] \o/ [12:06:17.0000] I wonder why IDL has so many special cases for RegExp objects [12:18:21.0000] you mean like `If V is a native RegExp object, then throw a TypeError.` [12:18:22.0000] ? [12:19:27.0000] TabAtkins: which SVG spec should I look at for a new implementation? [12:20:37.0000] or, is the SVG 2 draft mostly additive or does it rewrite the basic stuff? [12:23:06.0000] SimonSapin: it drops some of the stuff nobody really supports and makes optional stuff that people want to get rid of, mostly [12:23:12.0000] SimonSapin: I /think/ it's probably the best reference [12:24:56.0000] (I’m thinking of making a toy implementation to play/experiment with some stuff. Nothing that’s gonna ship :)) [12:42:58.0000] MikeSmith: I'd read your initial discussion as wanting to decide whether your checker should check for a lang= attribute, and was arguing for not-checking because browsers can fairly straightforwardly infer the language without that attribute. Later it looks like you're trying to make the checker infer the lang= attribute, which my and Mek's comments don't [12:42:58.0000] help as much with. [12:57:04.0000] annevk: URL spec doesn't allow fatal handling of errors? :( [12:58:20.0000] caitp: yeah, it's everywhere. Any object is allowed to be treated as an implementation of a callback interface.... except RegExps. [13:07:20.0000] webidl seems to distinguish between "a native RegExp" and a RegExp type [13:07:32.0000] for some reason [13:07:42.0000] I dunno, interesting [13:36:46.0000] I think one is the Web IDL type corresponding to the JS type [13:36:55.0000] Just like there is a Web IDL boolean type with two possible values, true and false [13:37:01.0000] Guess how you convert a Web IDL boolean to a JavaScript value [13:37:03.0000] Guess [13:37:08.0000] I bet you can't guess [13:37:27.0000] (sorry, I am being weird) [13:49:02.0000] is it not the ToBoolean internal op because webidl thinks it has to be able to support non-JS languages too? [13:52:35.0000] it is: if the value is the IDL boolean value true, return the JavaScript value true. If the value is the IDL boolean value false, return the JavaScript value false. [13:52:57.0000] ToBoolean is for the other direction, JS values -> IDL boolean values. [13:53:26.0000] ah [13:53:52.0000] Basically, the separate type system seems pretty silly sometimes. But I am not sure I have a principled alternative. [13:54:20.0000] Something about it all being JavaScript values and just doing conversions between them (like ToBoolean) when necessary [14:03:07.0000] annevk: yt? [14:34:13.0000] Do we have any patterns yet for events that you might want to register for from the foreground but receive in a designated Worker? I see http://w3c.github.io/push-api/#the-push-event, which is done with a dedicated manager on ServiceWorkerRegistration, but that doesn't give the page much flexibility. [15:29:45.0000] jyasskin: I don't think we have any patterns that have received wide review and approval. The service worker specs and maybe some houdini specs are probably leading the way here. A survey of what all they're doing would be nice. [16:09:01.0000] uhhhh [16:09:10.0000] so it turns out that reparsing to change the encoding never actually worked in html5lib [16:09:13.0000] o_O 2016-05-04 [21:12:08.0000] jyasskin: while browsers can infer the language without lang=, accessibility software / screen readers like JAWS do not, which leads to a lot of problems for users who do their browsing with those [21:14:14.0000] jyasskin: one common problem is that the lang value does not actually match the language of the content of the page (due to authors cargo-cult copy/pasting the html element and attributes from, e.g., a lang=en page into a page whose contents are actually in Chinese or whatever [21:16:16.0000] jyasskin: so in order to help authors catch those kinds of mistakes, and help users of screen readers, the proposal is that the HTML checker would do language detection on the content of each document, and warn if the lang value does not match the detected language [21:19:03.0000] Oh, it doesn't use the browser's accessibility tree? That would break my suggestion, yeah. [21:19:51.0000] I don’t know that the detected lang information gets into the accessibility tree from the browser [21:20:29.0000] but anyway the best solution to the problem for screen-reader users would be if screen readers also did language detection the way that browsers do [21:20:49.0000] because of course they operate on content other than Web content [21:20:56.0000] But second-best might be the browsers putting detected information into the tree. [21:21:01.0000] yeah [21:27:10.0000] jyasskin: btw do you know what Chrome does in cases where the lang value does not match the detected language? I mean as far as the Translate prompt or any other user interaction? Does it just ignore the lang value? [21:27:47.0000] I don't know offhand. I'd guess it ignores the lang value, especially if it's 'en', but would have to check. [21:27:53.0000] OK [21:28:56.0000] well if it does just ignore it, that suggests the presence of top-level html@lang is not actually very useful in practice on the Web (though having lang values on other sections of the document that are in other languages would be) [21:35:24.0000] it is sad that so many of our discussions about making user experience better for screen-reader users come down to, “Vendors of screen readers can’t or won’t make their products smarter, so let’s all do a bunch of extra work in N different browsers and other tools to work around all the longstanding deficiencies in screen readers.” [21:41:33.0000] MikeSmith: After searching, the code to detect the page's language does use the declared lang attribute and Content-Language HTTP header: https://code.google.com/p/chromium/codesearch/#chromium/src/components/translate/core/language_detection/language_detection_util.cc&l=184. Once the language is detected, the rest of Chrome appears to only use the return [21:41:34.0000] value of DeterminePageLanguage() to drive the actual translation. [21:42:37.0000] jyasskin: OK, thanks [21:43:14.0000] yeah that makes sense, given that the lang value and header really should not be trusted [21:44:52.0000] but that makes me really wary about having the HTML checker warn about a missing html@lang value. Given the circumstances, Not sure how helpful that will actually be for end users in practice [21:45:33.0000] I mean without having the checker also implement language detection [21:48:00.0000] I think I should probably only have the checker emit a warning for missing lang if it is able to detect the language, so the warning would be of the form, “The contente of this document appears to be in Chinese, consider putting an lang=zh value on the html element.” [22:00:56.0000] MikeSmith: that seems reasonable [22:04:47.0000] just wish I had a streaming langague-detection library [22:05:32.0000] I guess I could write a streaming implementation on top of an existing library [22:52:15.0000] rniwa: am now... [23:20:49.0000] Ugh, Permissions API going straight for the API instead of figuring out the model is biting us now 😟 [23:22:17.0000] I wonder when we'll learn that in order to make a good API you first need to figure out how the system works [23:32:22.0000] @annevk: I was gonna ask you about this: https://github.com/w3c/webcomponents/issues/494 [23:33:52.0000] :( why are we keep finding all these new problems [23:35:12.0000] rniwa_: because monkey patching doesn't really work in engineering... [23:35:49.0000] @annevk: huh, we do monkey patching all the time and it works [23:36:11.0000] @annevk: I think the problem here was that Google for the longest time worked on these specs on their own & also implemented things [23:36:25.0000] rniwa_: we do? [23:36:29.0000] @annevk: and they didn't benefit from having other vendors reading & verifying specs & implementations [23:36:45.0000] @annevk: at my work that is re: monkey patching [23:36:49.0000] rniwa_: sure, that's part of it too [23:37:21.0000] rniwa_: maybe the definition we use in standards https://annevankesteren.nl/2014/02/monkey-patch differs from the definition Apple uses? [23:40:55.0000] TabAtkins or astearns or somebody, where is @supports defined? [23:41:29.0000] @annevk: we run scripts after applying a patch to the script [23:41:35.0000] nm found https://drafts.csswg.org/css-conditional-3/#at-supports [23:41:41.0000] @annevk: or at runtime, we override some other class's selectors in objective-c LOL [23:41:57.0000] MikeSmith: aww, just found it too [23:43:00.0000] rniwa_: yeah, I guess I'm saying that if you write standards that way, it's gonna suck [23:43:25.0000] annevk: yeah @supports seems like a handy feature [05:17:01.0000] annevk, you make a good point; thoughts on where to put it? [05:20:04.0000] Ms2ger: I usually put it above the first instance if there's no good place [05:20:34.0000] Ms2ger: also, use ", then ..." after if statements [05:20:45.0000] Ms2ger: looked good to me otherwise [05:22:15.0000] Will do in a bit [09:17:52.0000] MikeSmith: For future help in finding where things are defined: https://drafts.csswg.org/indexes/ [09:18:15.0000] /me looks at https://drafts.csswg.org/indexes/ [09:18:17.0000] w00t [09:18:21.0000] TabAtkins: much thanks [09:21:44.0000] SimonSapin: Yes, SVG2 is the best reference. It's SVG1 plus new things minus dumb things and with some stuff rewritten to be better. [09:54:06.0000] so Trump is the last GOP candidate... [10:25:46.0000] AutomatedTester: wrong channel [10:25:59.0000] boogyman: so it is... [10:26:02.0000] my bad [10:26:06.0000] sorry all [13:43:45.0000] annevk: yt? [13:44:57.0000] Domenic: yt? [13:45:06.0000] rniwa: yep [13:45:15.0000] Domenic: what a shit show we're in :( [13:45:19.0000] yeah :( [13:45:24.0000] Domenic: TinyMCE 4.3.10 shipped with a wrong use of rootNode [13:45:34.0000] it's hard for me to understand why everything is breaking because of rootNode/deepPath [13:45:38.0000] what coding patterns are causing this [13:45:42.0000] ugh [13:45:48.0000] (i don't really want to know) [13:45:59.0000] Domenic: oh, doing if (event.deepPath) event.target = event.deepPath[0] [13:46:10.0000] Domenic: which is obviously undefined :( [13:46:19.0000] oh right the attribute to function switch [13:46:23.0000] i guess that's not completely crazy [13:46:29.0000] they're trying to feature test [13:46:32.0000] Domenic: I don't even know the point of that code because event.target would have that value anyway [13:46:38.0000] lol true [13:46:43.0000] Domenic: except nobody supported deepPath with v1 [13:46:51.0000] Domenic: as an attribute :( [13:47:06.0000] but in general code in the form `if (something.chromeSpecificAttribute) { use(something.chromeSpecificAttribute); }` is not crazy [13:47:09.0000] Domenic: so it seems that they were speculatively using the feature... [13:47:13.0000] Domenic: oh sure [13:47:18.0000] Ideally nobody writes chrome-specific code, but in the real world, people do [13:47:42.0000] flatPath or flattenedPath or whatever seems reasonable... [13:48:10.0000] or we just declare that from now on all new platform properties have to be symbols [13:48:20.0000] Domenic: I like piercingPath though [13:48:33.0000] hmm yeah that's pretty good. [13:48:45.0000] Domenic: flat is a bit misleading in the sense that it could contain unslotted contents for events. [13:48:51.0000] ah, i see [13:49:15.0000] Domenic: composedPath has the same issue I pose [13:49:26.0000] and I don't think we refer to "composition" anywhere else so that's also somewhat misleading [13:49:36.0000] introducing a new "piercing" concept is a bit annoying but if it's truly a new concept then it makes sense [13:52:43.0000] Domenic: well, we do still have shadow piercing combinators in dynamic profile of CSS selectors [13:52:55.0000] oh, true! [13:52:58.0000] that's nice [13:53:02.0000] Domenic: regardless of our opposition to the feature [13:53:15.0000] Domenic: the terminology seems to exist elsewhere [14:22:05.0000] terinjokes: robertkowalski: one of you want to fix https://github.com/whatwg/console/issues/54 ? should be a pretty simple IDL change :) [14:24:21.0000] Domenic: making it now, was just revieiwng my GH notifications for today [14:24:28.0000] \o/ [14:24:47.0000] It's pretty sweet how this spec is actually making implementers start wanting to converge [14:24:54.0000] yay! [14:24:55.0000] Not to mention getting unbound console methods [14:25:02.0000] i didn't think that was going to happen [14:25:18.0000] then all of a sudden chrome and webkit both are like 'yes let's do it, look at this long issue where people are asking if we can. we totally can.' [14:27:59.0000] merged the PR for CoC. Forgot I had left that opened [14:31:19.0000] https://github.com/whatwg/console/issues/56 might make sense to fix too [14:33:37.0000] i agree [14:34:44.0000] Domenic: think i should open a PR for the IDL namespace change to, or hold off for now? [14:34:58.0000] terinjokes: so I think if you actually change the IDL it will break Bikeshed -_- [14:35:22.0000] i meant add the note [14:35:23.0000] terinjokes: that was why I was thinking of a warning or something while I update IDL and then someone will update the Web IDL parser bikeshed uses and then bikeshed will update [14:35:25.0000] ah yeah [14:35:33.0000] go for it [14:35:53.0000] wonder what various UAs do for missing labels in count [14:36:57.0000] good question 2016-05-05 [21:02:51.0000] dglazkov: https://github.com/whatwg/dom/issues/241 is where we track rootNode regression [21:38:06.0000] rniwa: oh, so blink did revert it? [21:38:28.0000] ah yeah [21:38:32.0000] /me sees https://github.com/whatwg/dom/issues/241#issuecomment-217072501 [21:41:24.0000] I like radicle [21:43:05.0000] I have the feeling though that without root folks will just iterate the parent chain [21:56:10.0000] MikeSmith: yup [21:56:35.0000] @annevk: radicle? [21:58:12.0000] what is radicle? [21:58:30.0000] @annevk: I think radicle is a sufficiently unusual word that people outside the English speaking wouldn't even find it [21:58:39.0000] speaking world* [21:58:40.0000] and rniwa how come you put @ in front of nicks sometimes? [21:59:03.0000] MikeSmith: I don't know that's how annevk's name show up [21:59:12.0000] oh, wait... I think that's a quirk in my IRC client :( [21:59:13.0000] rniwa: I think even people in the English-speaking world do not know what radicle is [21:59:14.0000] ugh... [21:59:31.0000] rniwa: ah yeah I think it is just because annevk is an op [21:59:43.0000] I thought you were doing it on purpose [22:00:06.0000] is radicle some CS term [22:00:18.0000] is it not the way the math term is spelled, right? [22:00:35.0000] botany wtf [22:02:59.0000] I am not seriously suggesting it, I just like the word [22:03:06.0000] Blame miketaylr [22:05:53.0000] rhizome [22:05:59.0000] annevk: I think we should pick either treeTop or highestNode [22:06:16.0000] crux [22:07:22.0000] rniwa: the problem with treeTop is that tops of (real) trees are... leaves [22:07:38.0000] why not treeRoot [22:08:01.0000] MikeSmith: unfortunately, that name is also quite popular in Github [22:08:19.0000] ah OK [22:08:30.0000] I guess baseNode probably is too [22:08:52.0000] or deepestNode [22:08:54.0000] MikeSmith: 24,242 hits [22:09:03.0000] MikeSmith: deepestNode sounds like a leaf [22:09:25.0000] MikeSmith: we usually say going up a tree to mean going to the root in ADT sense [22:09:26.0000] rniwa: I guess I think more in terms of real trees [22:10:20.0000] yeah but that is teh opposite of what how we normally look at trees intuitievly, so it is ambiguous [22:10:44.0000] anyway, I give up because it seems like all the right terms are already in use [22:10:54.0000] MikeSmith: https://en.wikipedia.org/wiki/Tree_(data_structure)#Terminologies_used_in_Trees [22:11:03.0000] MikeSmith: root is the top node [22:11:08.0000] MikeSmith: but I can understand your sentiment [22:11:43.0000] yeah they should call ADT trees upsideDownTrees [22:11:45.0000] annevk: radical is even better [22:12:35.0000] oldestNode [22:12:57.0000] MikeSmith: that sounds like the oldest node in the creation order [22:13:06.0000] but I guess that doesn’t work either [22:13:08.0000] rniwa: yeah [22:13:17.0000] how about nodeAtRoot! [22:14:36.0000] oh [22:15:11.0000] yeah [22:15:37.0000] Google is nearly completely unaware of that string [22:16:10.0000] https://github.com/search?q=%22nodeAtRoot%22&type=Code&utf8=%E2%9C%93 shows only 1 hit [22:16:33.0000] same thing as treeTop [22:16:37.0000] and highestNode [22:17:16.0000] I like nodeAtRoot better than those [22:17:26.0000] or treeTopNode? [22:18:15.0000] Tree Top sounds like the name of a blues piano player [22:18:46.0000] Mike "Tree Top" Taylor at the piano [22:21:41.0000] MikeSmith, annevk: another option is to make a method and rename it to findRootNode or something [22:22:05.0000] MikeSmith, annevk: since this attribute needs to the work of walking up the ancestor chain in many cases, it's not O(1) operation anyway [22:22:16.0000] unlike things like .shadowRoot and .document [22:22:48.0000] With a method we could add pierces:true at some point… [22:23:02.0000] annevk: indeed. [22:23:14.0000] Not a bad idea [22:26:09.0000] annevk: oh, better yet, we can even find the highest node that matches a given criteria [22:26:30.0000] annevk: like... findRootNode('div .foo') [22:26:55.0000] annevk: or findRootNode(function (node) { return node.contentEditable; }) [22:29:12.0000] annevk: btw, could you update https://github.com/w3c/webcomponents/issues/495 if you know of any other issues we need to resolve for v1? [22:29:37.0000] annevk: it's getting harder to track all the issues related to shadow DOM and I don't want to forget fix things in WebKit / write tests [22:30:39.0000] rniwa: yeah, will do later today [22:30:46.0000] annevk: thanks [22:31:05.0000] ttyl, guys [22:31:07.0000] .closest() exists [22:31:38.0000] Maybe .closest(":root") is the way to get root [23:58:32.0000] It's not [00:24:27.0000] annevk: https://github.com/whatwg/dom/issues/242#issuecomment-216115262 [00:24:39.0000] so I'm missing now where someone objects 'composed' [00:25:16.0000] earlier today on IRC rniwa mentioned he didn't like composed [00:25:35.0000] aha [00:25:52.0000] smaug____: http://logs.glob.uno/?c=freenode%23whatwg&s=4+May+2016&e=5+May+2016#c994215 [00:26:36.0000] I know composed and composition is all a buzz-wordy thing [00:26:44.0000] I'm at the point where I have stopped caring and am just getting annoyed, so I should probably take a break [00:33:01.0000] (we should have just used 'composed' consistently everywhere. isInComposedDocument, composedPath ...) [00:33:04.0000] oh well [00:36:50.0000] annevk: saw the comment on open ended dictionary but didn't get a chance to think about it properly. commented on the issue, but will see if I get a chance to think about it more tomorrow. [00:37:33.0000] heycam: kk [00:38:15.0000] smaug____: yeah, naming is hard. Naming when reasonable names break the web is nigh impossible. [00:39:12.0000] smaug____: with that naming scheme we would have had composedDocumentInsertedCallback? [00:45:32.0000] why would there need to be such [00:45:59.0000] connectedCallback should have deal with all the ancestor changes, not just binding to document [00:46:25.0000] smaug____: that's not how it's defined and agreed upon... [00:46:33.0000] smaug____: you were at the meeting [00:47:00.0000] I disagreed wit the resolution, but gave up with fighting [00:47:34.0000] Except when we're discussing hypothetical names? [00:50:05.0000] hypothetical names? annevk is cranky today ? :) [00:51:01.0000] ding ding ding [00:51:40.0000] though, I can totally see web components making people cranky. After 15 years of web components, we're still in progress to figure out how it all should work. [04:22:45.0000] does the meta encoding prescan work correctly for ISO-2022-JP? [04:29:23.0000] gsnedders: it doesn't account for it, right? [04:33:26.0000] annevk: no, it doesn't. but ASCII bytes are encoded as ASCII, right? or can they be encoded in other ways too? so it should always pick up a , but it might pick up something bogus too? [04:34:28.0000] /me doesn't have a good memory as to how ISO-2022-JP works [04:34:31.0000] gsnedders: it might pick up something bogus, but I haven't verified whether that is the case and I'm not aware of anyone else researching it either [04:34:45.0000] gsnedders: https://encoding.spec.whatwg.org/#iso-2022-jp [04:36:30.0000] annevk: okay, I'll look into this at some point [04:37:00.0000] annevk: just wondering about how well encoding detection works; UTF-16 can safely be dealt with by BOMs leaving only ISO-2022-JP as the interesting case [04:37:21.0000] gsnedders: since 0x20 is required and not a thing for non-ASCII ISO-2022-JP I suspect you cannot really pick up something bogus [04:39:02.0000] annevk: http://stackoverflow.com/questions/37048440/what-is-the-explanation-for-this-inconsistent-behavior-related-to-document-domai [04:39:05.0000] annevk: ok, therefore it works fine? good to know. [04:40:28.0000] gsnedders: I suspect so, you can only have incorrectly identified ASCII bytes in the 0x21-0x5F range for ISO-2022-JP [04:42:38.0000] annevk: thx! [04:43:57.0000] MikeSmith: answered [04:44:30.0000] MikeSmith: I've also answered some CORS questions at some point, folks are still upvoting those... [04:44:43.0000] MikeSmith: mainly why I now have over a thousand points on stackoverflow I think [04:48:35.0000] good [04:48:52.0000] people need the help [04:49:03.0000] so it’s a measure of real gratitude [04:50:50.0000] but yeah in this case I guess part of the answer is just “Don’t use document.domain” [05:25:26.0000] MikeSmith: I've clarified the credentials case around CORS a bit btw and just submitted a PR for more examples (based on a contribution by Rory from Akamai) [05:27:07.0000] yeah, saw that [05:27:25.0000] I think that will really help [05:29:17.0000] the biggest problems people actually have on SO with CORS is not CORS itself, but just specific to whatever server-side environment/CMS/whatever they are using, and trying to figure out how to get that send the right headers under the right conditions [05:29:37.0000] yeah [05:29:42.0000] That was my impression too [05:29:49.0000] And sometimes subtle browser bugs [05:30:33.0000] yes that too [07:24:39.0000] \o/ [07:46:09.0000] hey dglazkov, I can see now why you quit pushing the components wagon for a bit [07:46:18.0000] dglazkov: it can get rather frustrating [07:48:27.0000] dglazkov: having said that, we're closer than ever before I think [07:49:50.0000] 😀 [07:50:10.0000] Thank you for pushing the train! [08:16:31.0000] Domenic: "All new platform properties have to be symbols" yes plz thx [08:18:13.0000] Domenic: What IDL change will break Bikeshed? [08:20:53.0000] annevk, rniwa: "radicle" is sufficiently unusual *in* the English-speaking world that it shouldn't be used. It's also far too close to "radical", an actually common word. [08:24:23.0000] TabAtkins: if we updated the Console Standard to use new speculative IDL syntax like `namespace Console { ... }` instead of interface, I imagine Bikeshed would barf. We need to update the IDL spec first then the IDL parser Bikeshed uses, then Bikeshed. [10:48:08.0000] Domenic: Ah, yes, it would indeed barf. Parser is based on the IDL spec, so update that first. ^_^ My parser is plinss/widlparser [11:21:02.0000] Domenic: Here's my survey of how we register events that get dispatched to workers. I didn't find many: https://gist.github.com/jyasskin/b44ae6d1cf6c209e063447babee8a764 [11:21:53.0000] jyasskin: you're at least missing background sync from that [11:22:57.0000] (although it's pretty much the same as push/notifications; by adding stuff to SWRegistration) [11:28:37.0000] also SW events aren't generally send to a particular global/service worker, but instead to whatever the active worker is for a particular registration (the "Handle Funcitional Event" algorithm takes a SW registration, not a specific worker) [11:31:39.0000] Mek: Thanks; I'll add that. And yeah, there's a handle in the main world that's used to identify a set of workers. That'll be true for Worklets too. [12:39:57.0000] smaug____: yt? [12:42:14.0000] rniwa: not really. holiday in Finland like in many other countries. but ask. [12:42:23.0000] smaug____: oh I see [12:42:34.0000] smaug____: https://github.com/whatwg/dom/issues/242 [12:42:54.0000] smaug____: how about escapingPath, leakingPath, emanatingPath, or exitingPath? [12:44:11.0000] I don't know what escapingPath would mean in this context... or definitely not what emanatingPath means [12:44:18.0000] /me looks for dictionary [12:57:03.0000] smaug____: or we could call it dispatchPath, propagationTargets (can't use path) [12:58:16.0000] rniwa: why not path there? [12:58:44.0000] is propagationPath being used elsewhere? [12:58:56.0000] smaug____: yup, it's quite popular [12:59:30.0000] smaug____: another one i had along that line of naming was bubblingPath [13:00:03.0000] makes no sense, unfortunately [13:00:20.0000] since bubbling is just one phase [13:00:31.0000] which not all the events even have [13:04:17.0000] in Gecko we call the thing eventTargetChain, but I doubt people like that too much [13:08:36.0000] rniwa: ok, perhaps dispatchPath then 2016-05-06 [23:44:17.0000] https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/O9_XnDQh3Yk is about https://html.spec.whatwg.org/#dom-form-requestautocomplete right? [23:50:36.0000] smaug____: Yeah [23:51:29.0000] smaug____: https://w3c.github.io/browser-payment-api/specs/paymentrequest.html [23:51:46.0000] is intended as the replacement for it [23:54:45.0000] ok, https://github.com/whatwg/html/issues/1207 filed [23:58:34.0000] MikeSmith: that assumes a physical address for the shipping address, correct? That means e-fulfilment has a lower/incomplete priority [00:04:54.0000] /me hopes PaymentRequest will work with all sorts of payment options, since those vary quite a bit from country to country, I think. [02:18:35.0000] Hixie: it would be useful if https://software.hixie.ch/utilities/js/live-dom-viewer/ visualized template contents [02:18:42.0000] is there a similar tool that does? [02:23:53.0000] annevk, could you have a look at https://github.com/w3c/web-platform-tests/pull/2925? [03:03:34.0000] /me sent Hixie a patch to add template contents visualization to the Live DOM Viewer [03:07:16.0000] I now realize that my patch doesn't visualize nested templates very well [03:07:25.0000] /me should have used border instead of background-color [05:59:37.0000] Ms2ger: likely not before Monday [05:59:59.0000] Ms2ger: walking around a bit [06:00:27.0000] Ok [10:37:59.0000] Domenic: just realizing my PR didn't update the method sections :( [10:38:33.0000] terinjokes: IIRC it doesn't need to [10:38:56.0000] oh, you're right. still waiting for the coffee to start working [10:39:01.0000] The algorithm will act on the post-IDL result, so it will always receive a string. [10:39:07.0000] :) 2016-05-07 [15:03:28.0000] I just read this note from csv-conf (yes, the format has a conf) and they suggest a rather nice use of CSV: [15:03:37.0000] has this been talked about before? [15:04:49.0000] Huvet: pretty sure, yes [15:05:46.0000] looks like a great idea, could maybe make some scraping unnessesary as you could just right-click as "save as" instead [15:08:47.0000] ah, seems w3 has some docs about it here: https://www.w3.org/standards/techs/csv#w3c_all 2016-05-08 [00:02:48.0000] annevk: the dom tree in https://dom.spec.whatwg.org/#ranges looks a bit weird (compare p vs. ) [00:30:56.0000] zcorpan: hmm, maybe bikeshed conversion regressed that [02:36:29.0000] +i 2016-05-09 [00:08:05.0000] hayato: we also need your feedback for https://github.com/whatwg/dom/issues/242#issuecomment-217281317 [00:08:42.0000] hayato: in case you missed it, in https://github.com/whatwg/html/issues/1160 we concluded we should flip the default for scoped [00:11:14.0000] annevk: Thanks! Let me take a look soon. I am catching up. Thank you for your patience. [00:11:43.0000] hayato: no worries, hope you had a nice break [09:13:07.0000] I'm trying to build some code that renders XHTML, but I'm having trouble with
s. In the Web browsers I've used, unless told to do otherwise, set table column widths in such a way that it minimizes table height. Does anyone have any advice as to how I'd calculate the optimum column widths to implement that? The best that I can come up with is a guess/check method that renders the table with every [09:13:08.0000] possible combination of widths and chooses the shortest table, but that seems highly inefficient. [09:17:08.0000] Yst: Table layout is still heavily unspecified, but someone's finally starting to spec it out in https://drafts.csswg.org/css-tables/ [09:22:07.0000] Thank you TabAtkins! I'll read over that. [10:37:46.0000] annevk: so the problem here is that your statement is inconsistent [10:38:07.0000] annevk: if we didn't care about styling of elements at all, then flatten: true option shouldn't be needed [10:38:17.0000] annevk: because there is nothing special about slots that are assigned to another slot [10:39:00.0000] annevk: if, on the other hand, we cared about slots being assigned to another slot because those assigned nodes would appear as if they're direct children of the outer slot, then that's about us caring about the styling of the inner slots which are display: contents by default [12:28:59.0000] rniwa: perhaps it's confusing that we call it flatten and we should call it composed there too, and only the layout tree cares about flattening [12:29:16.0000] @annevk: yea [12:30:04.0000] I mostly see it as getting assigned nodes recursively and taking care of fallback, not really getting the layout tree results [12:30:24.0000] We wouldn't exclude display:none elements, for instance, either [12:30:47.0000] So yeah, maybe getAssignedNodes({composed:true}) would be a better API and draw the boundary more clearly [12:32:11.0000] We wouldn't exclude display:none elements, for instance, either [12:32:23.0000] So yeah, maybe getAssignedNodes({composed:true}) would be a better API and draw the boundary more clearly [12:32:54.0000] Ugh [12:58:17.0000] Domenic: where does HTML set the [[HostDefined]] of the module record returned from ParseModule? I see it read at https://html.spec.whatwg.org/#hostresolveimportedmodule(referencingmodule,-specifier), but not set anywhere [12:58:34.0000] oh, duh [12:58:47.0000] ES sets it for you [12:58:48.0000] nm [12:58:54.0000] :) [13:08:43.0000] looks like the change that screwed up the android tracer was making the second argument to History.pushState required [13:09:48.0000] which seems like an obviously bad change--no point in breaking pages and forcing people to pass an unneeded argument instead of just working [13:17:22.0000] oh, that's from a previous time chrome broke systrace (last may, not this may) ... too bad, might have been able to monkey patch around that one [14:00:29.0000] annevk: are you still there?? [14:01:36.0000] rniwa: it's pretty late in .ch [14:03:07.0000] hober: it's only 10PM there, right? [14:03:37.0000] oh I guess 11PM? [14:03:47.0000] nah, I'd consider it mid-day still :P [14:03:54.0000] rniwa: hahahaha, i suppose you would [14:04:11.0000] /me would be in bed already if he were in europe 2016-05-10 [23:40:10.0000] /me goes to bed early too [00:06:31.0000] hayato: does the change to DOM to go from scoped to composed look okay? [00:09:22.0000] annevk: Let me take a look.. [00:10:05.0000] annevk: LGTM-ed in https://github.com/whatwg/dom/pull/244 :) [00:13:22.0000] ta [02:09:40.0000] annevk: I don't quite understand what https://github.com/w3c/webcomponents/issues/432 is about, but aren't we still mixing Nodes and other event targets since Window object is in the path [02:12:14.0000] smaug____: the problem is only when we start with a non-node event target I think [02:35:47.0000] hayato: https://github.com/whatwg/dom/pull/247 [02:35:59.0000] smaug____: I tried to explain the reasoning why we can revert it in https://github.com/whatwg/dom/pull/247 [02:53:07.0000] has anyone reviewed PerformanceObserver API? [02:55:53.0000] Small aspects of it [02:55:57.0000] iirc [03:05:04.0000] smaug____: Want to review https://github.com/w3c/web-platform-tests/pull/2920 ? [03:05:39.0000] (should be v quick I think, and you made the other test changes in the gecko repo) [03:38:33.0000] annevk: I'm trying to understand the vulnerability in content addressable caching (https://github.com/whatwg/fetch/issues/301#event-654674683). So, I can do a timing attack by measuring the response time of an asset based on it's integrity hash to check if this asset is already in the cache. First of all, timing attacks usually require multiple roundtrips, and after the first try the asset would ba cached, so the attack only gets one reliable data point. [03:39:40.0000] And is it really a problem at all? With content addressable caching the asset could come from anywhere. It's not nessesarily possible to relate that back to a specific domain. Or am I wrong here? [03:39:40.0000] Munter: that might be enough [03:40:29.0000] Munter: if the content is widespread it's not necessarily possible, but if it's not it is [03:43:12.0000] Munter: and I think you could do multiple attempts if your version ends up erroring somehow or doesn't permit itself being cached [03:43:31.0000] But I'm not really getting a lot of information from this. It this much different that checking Element.matches(':visited') for an anchor to the same asset? [03:44:05.0000] Munter: some browsers go out of their way to protect the :visited leak [03:46:07.0000] annevk: So content addresable caching could potentially be used to detect users browsing habits? [03:46:25.0000] Munter: yeah [03:46:34.0000] :( [03:55:46.0000] Munter: https://lists.w3.org/Archives/Public/public-webappsec/2014Oct/thread.html#msg0 has a bit of past ramblings, not all coherent [04:10:38.0000] Thanks [08:33:54.0000] JakeA: ping [08:34:04.0000] hey! [08:34:34.0000] JakeA: hi! so how strongly do you feel about throwing in the fetch event handler not triggering a network error? [08:34:42.0000] was that a carefully planned spec detail? [08:37:06.0000] wanderview: I can't remember how carefully planned it was, but it feels platform consistent. If an error is thrown in a click listener, it doesn't prevent the default click action [08:37:51.0000] JakeA: but we do fail the sw install if the install event handler throws [08:38:54.0000] I guess I don't have strong feeling... just trying to figure out if I should fix gecko to not fail the network request while we figure out our long term navigation handling questions [08:39:52.0000] wanderview: good point. I'm leaning towards not breaking navigations that error (unless say, devtools are open), so I think it's worth fixing [08:40:26.0000] JakeA: ok... what about if evt.respondWith() is called and then it throws? [08:40:56.0000] wanderview: then it's down to whatever respondWith resolves with I think [08:41:28.0000] JakeA: but if the throwing code results in the respondWith() promise never resolving (maybe its IDB code or something), then you hang the network request for a long time [08:42:53.0000] I guess I can just make it ignore thrown exceptions in fetch event for now [08:43:03.0000] wanderview: my hunch is that'd be rare. respondWith seems to be the last thing called in fetch listeners [08:43:42.0000] well, it might do some waitUntil() background caching... but that would not break the respondWith() I guess [08:45:53.0000] JakeA: I'll do that... and write a spec issue since I think spec currently says to fail the network request if you respondWith() is called and the handler throws [08:46:22.0000] Munter: imo (I've discussed this with others in security), the history leak from content-hashes is minimal and ignorable. As you say, it's a *destructive* timing leak; after the first attempt (by *anyone*), it's ruined for everyone until it drops from cache. And anyone conducting a history attack pollutes the cache for any subsequent history attacks. [08:46:42.0000] Cheers! [08:47:09.0000] thanks for clarifying for me... sometimes I can't tell whats intentional or not in the spec :-) [08:47:20.0000] And a single-attempt timing attack is mostly useless anyway; timing attacks are rarely reliable in a single hit; you have to repeat the attack to minimize noise. [08:52:29.0000] botie, ask heycam|away to ping me about webidl and sequences [08:52:29.0000] will do [08:53:10.0000] halindrome, what's up? [08:54:07.0000] Ms2ger: Tab asked me to ping about expressing sdequences in WebIDL [08:54:17.0000] 'cause I dont know how and someone here does [08:54:39.0000] Ask away [08:55:35.0000] lets say I have an attribute foo. and foo is a sequence of DOMStrings... [08:55:49.0000] an array [08:56:02.0000] what is the proper WebIDL syntax for that, and will ReSpec grok it [08:56:12.0000] No [08:56:25.0000] Attributes can't be sequences [08:56:40.0000] yeah... read that in the WebIDL spec. [08:57:06.0000] More likely, you want https://heycam.github.io/webidl/#idl-frozen-array [08:57:07.0000] but.... the data structure in question works that way. I think the real answer is "dont use webidl" for this [08:57:16.0000] That's not the answer [08:57:55.0000] If you have a data structure where you have to return a new array object on every access, you should make it a method, not an attribute [08:59:39.0000] I appreciate that if there were any interface. This is literally a data structure. There will never be any "API" to it. At least, thats what I think. [09:00:05.0000] I don't know what that means [09:00:27.0000] Think JS. It's just an Object. [09:01:20.0000] part of a message that gets passed around between methods. also in JS. Sometimes among different systems, but if so via JSON. [09:02:15.0000] anywya - thansk for the FrozenArray pointer. I will see about adding FrozenArray to respec [09:09:27.0000] JakeA: https://github.com/slightlyoff/ServiceWorker/issues/896 [09:10:06.0000] ohh, good detail, cheers [09:12:22.0000] halindrome: I strongly suggest you run this stuff thru implementors. We describe everything on the platform in WebIDL. Something being passed between methods means it's a data structure that can get checked. [09:13:03.0000] At the bare minimum you can just WebIDL it as an "object" and do every operation in prose, but that's fragile and silly and you'll get things wrong. [09:14:49.0000] TabAtkins: thanks. [09:19:18.0000] also, fwiw, this is nothing I would ever envision a browser implementor putting in an api. but I digress. [09:35:06.0000] /me wonders why service workers uses [Unforgeable] so much [09:38:10.0000] Woah, that is bizarre [09:40:10.0000] Ms2ger: filed https://github.com/slightlyoff/ServiceWorker/issues/897 [10:06:28.0000] TabAtkins: Google's security team said something else last time around [10:06:39.0000] We disagree internally. [10:07:00.0000] TabAtkins: I see [10:52:38.0000] Domenic: How are you managing to get such weird markup in your PR messages? [10:52:45.0000] ? [10:52:50.0000] Oh [10:52:55.0000] I forgot to edit the commit message [10:53:21.0000] GitHub gets confused by