2013-11-01 [17:57:08.0000] MikeSmith: know anything about problems with bugzilla? [17:57:37.0000] no, nothing new [17:57:52.0000] you've noticed done problems? [18:00:49.0000] yeah for some reason my script is getting a crsf token error [18:00:52.0000] and i can't work out why [18:01:02.0000] it looks like i'm doing it right [18:05:11.0000] Hixie: ok,maybe something changed in the config after the upgrade a few weeks back [18:05:21.0000] i dunno, it works when doing it by hand [18:05:25.0000] i'll have to look more tomorrow [18:05:32.0000] can check on it later today [18:05:54.0000] well, let me know if you hear anything, anyway [18:05:58.0000] no need to really look into it much [18:06:34.0000] ok. I'm away from my PC for a few hours yet anyway [18:07:59.0000] (ssh'ing to irssi from my mobile) [18:14:01.0000] haha https://code.google.com/p/chromium/issues/detail?id=152430#c82 [18:14:24.0000] " The question that has been obliquely raised but never answered by the Chrome team is: why don't you hire someone to work on MathML so that someone does own the code and can fix problems when they come up?" [18:19:06.0000] this bug is almost as fun as the mozilla WebP bug [18:19:54.0000] bugzilla needs done way to rate bugs based on their entertainment value [18:20:32.0000] *some way [18:27:12.0000] I thought that was what popcorn.js was about [18:27:55.0000] eh? [18:28:08.0000] (joking) [18:29:27.0000] ah [18:34:37.0000] MikeSmith: ssh is the worst way to phone irc, heh [18:35:16.0000] i have irssi-proxy running on a server, so i can connect to it with a native client on my phone, and it connects to my existing session [18:37:37.0000] irc on a phone is such a bad experience [18:37:46.0000] same as sms or IM [18:37:48.0000] /me shudders [18:38:38.0000] it works well for me, but i've jumped a lot of hoops to make it that way [18:38:50.0000] how do you get around the lack of a full-size keyboard? [18:38:57.0000] a full-size tactile keyboard [18:39:10.0000] eg. i can load the client on my phone, it'll connect to my irc proxy, and the proxy sends the last ~20 lines of each channel to the client, so I can see current context even though I wasn't connected [18:39:31.0000] by using the onscreen keyboard like any other mobile app [18:39:49.0000] it sucks with ssh (which isn't designed for it), but it's no worse than any other app with a native client [18:40:30.0000] right, the native apps are horrific too :-) [18:40:48.0000] that has nothing to do with irc :P [18:40:55.0000] you said it "works well" [18:41:02.0000] i wouldn't describe the SMS or IM experience on phones as "works well" [18:41:06.0000] let alone the IRC experience [18:41:10.0000] works as well as anything, and it's pretty well once you're over the "i can't type on this fucking thing" hump [18:41:23.0000] that's the only hump i've had trouble with [18:41:46.0000] but it's nothing particular to irc [18:42:02.0000] about keyboard, Swype on Android makes typing less painful [18:42:11.0000] it took me a while to be able to use a vk without backspacing constantly [18:42:18.0000] it's worse on IRC than on the others because there's usually more volume so the typing is even more of an issue [18:42:30.0000] MikeSmith: android has had that built-in for a while [18:42:32.0000] and unfortunately, if you want a keyboard that isn't painful to use, ios is really the only option (android's phone is much, much worse) [18:42:49.0000] oh good lord no [18:42:57.0000] tis the facts [18:43:00.0000] the iOS keyboard is way worse than the current Android keyboard [18:43:08.0000] n [18:43:13.0000] zewt: I'm pretty happy with irssi connectbot [18:43:15.0000] unless it's changed completely in 4.3 or so [18:43:22.0000] it changed completely in 4.3 or so [18:43:24.0000] in fact, in 4.3. [18:43:30.0000] android's keyboard is designed around "let people make lots of typos, then try to correct it after" [18:43:34.0000] which is horrifyingly stupid [18:43:43.0000] 4.3 is when it got the swiping action [18:43:46.0000] ios is "make the character input smarter, so you don't make the typos in the first place" [18:43:53.0000] i'm talking about keyboards, not swype [18:44:01.0000] i'm talking about the android native keyboard [18:44:41.0000] you just said "swiping action" :) [18:44:48.0000] yes [18:44:51.0000] that's an input method, it's not a keyboard [18:44:55.0000] the native android keyboard has built-in swiping [18:45:06.0000] you just drag around the keyboard instead of tapping each key [18:45:12.0000] it works so much better than typing on iOS [18:45:18.0000] imho [18:45:18.0000] i've used that, don't care for it, but it's a different thing than a keyboard [18:45:42.0000] haven't tried all that hard (planning on moving from android to ios for my next phone, so shrug) [18:47:30.0000] but comparing keyboards to keyboards (not to other styles of input), my experience is that android is way behind [18:47:49.0000] (my suspicion is it's patent crap, but as a user that doesn't help me much) [18:48:05.0000] just so we're clear, you mean that android < 4.3 is way behind? [18:48:18.0000] cos, yeah... it's way behind even android. :-) [18:48:31.0000] that's what my main experience is with, yes, but it sounds like your 4.3 thing is about non-keyboard inputs like swype [18:48:46.0000] does 4.3 have dynamic hit boxes for keys like ios? [18:48:59.0000] i think that's the biggest thing [18:50:05.0000] 4.3 and 4.4 have both majorly upgraded the keyboard, even ignoring swiping on the keyboard (i don't know why you think that's a different input mode though) [18:50:16.0000] (is dragging from shift to a letter also a non-keyboard input?) [18:50:54.0000] i don't know why you'd want to do that, heh [18:51:08.0000] i just hold shift and hit a letter (the wonders of multitouch) [18:51:17.0000] by "dynamic hit boxes" do you mean "doesn't bring up the letter you tapped"? [18:51:23.0000] no [18:51:38.0000] what do you mean by it then? [18:51:40.0000] the size of the box corresponding to each letter changes in size, depending on previous inputs [18:51:45.0000] the on-screen size? [18:51:51.0000] no, it's invisible [18:51:59.0000] is there a gap between the letters or something? [18:52:15.0000] if you type "hell", it knows the next letter is much more likely to be "o" than "p", so the hit box for "o" is enlarged slightly [18:52:18.0000] (on iOS, it's actually "doesn't bring up the letter you tapped", in my experience) [18:52:22.0000] at the expense of "p" [18:52:32.0000] so, yes, it's "doesn't bring up the letter you tapped". [18:52:39.0000] nothing to do with the visual feedback [18:53:13.0000] ? [18:53:28.0000] if i put my finger on "h" then "e" then "l" then "l" then push on "p" and hold it, what letter does it show me pushing? [18:53:29.0000] can you enhance the question [18:53:31.0000] o or p? [18:53:51.0000] i'm not talking about anything to do with the visual feedback [18:53:54.0000] on android, it shows the "p", enters the "p", and then if you hit space, it accepts the current autocomplete which is "hello". [18:54:08.0000] i don't understand what you're talking about then [18:54:24.0000] on ios, the visual boxes for each letter, and the rectangles that actually register a letter, aren't always the same [18:55:04.0000] yeah. that's what i said. it doesn't give you the letter you pressed. [18:55:09.0000] keys that are more likely to be what you want have larger hit boxes (even though you can't see it--it doesn't actually change the key sizes ons creen) [18:55:25.0000] but it changes the popup key that tells you what you pressed [18:55:32.0000] so you press P, and it brings up a big "O" label [18:55:44.0000] ... that's a distant side-effect and not what I'm talking about, but okay [18:56:14.0000] the effect is the same as on android, but if you wanted to hit "p", it's harder. sure, it's better. :-) [18:56:34.0000] basically, ios tries to prevent typos before they happen, and android lets you make a typo then tries to correct it when you hit space later [18:57:38.0000] i find android's method much worse, since it means I have to make a typo, keep typing, and hope it corrects it the way I want; if ios gets it wrong, I see it immediately [18:57:52.0000] you don't have to hope, it's right there on the screen... [18:57:56.0000] just like on ios... [18:58:04.0000] https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm vs https://github.com/whatwg/streams - what's going on there? [18:58:08.0000] Are these competing standards? [18:58:21.0000] zewt: anyway, this is all completely academic since swiping is the only way to type on a phone. [18:58:37.0000] JakeA: what are they? [18:58:41.0000] not until I type more; if I type "hwllo", it's not necessarily going to figure out "hello" as soon as I've typed "hw" (not enough info) [18:59:01.0000] Streams APIs. Trying to work out why there's two [18:59:29.0000] zewt: if i type "hw" it immediately says "He" [18:59:50.0000] ios knows that h+vowel is more likely than "hw" or "hr" or "hd", without really caring what the whole word is, so you don't get the typo in the first place [19:00:20.0000] anyway, use what works for you :P [19:00:30.0000] zewt: with swiping, it's entirely academic. you draw a line vaguely near the letters, in a tenth of the time it takes to type them, and you get "Hello". [19:33:45.0000] new URL("foo") apparently returns a URL object in Chrome, with no properties. :| [19:34:08.0000] re: if you're not going to implement it, leave it throwing until you do [19:51:30.0000] JakeA: about Streams, I'd suggest talking with Domenic or annevk when they're on [19:53:16.0000] basically, I think Domenic wants to get discussion going about his alternative proposal [19:54:25.0000] which so far I don't think most people are aware of yet and haven't read [20:00:26.0000] Gotcha, cheers [20:06:42.0000] If I wasn't so hungover I'd have made a great "Don't cross the streams" joke right about now [20:19:19.0000] heh [22:35:24.0000] MikeSmith: did you get my mail? [23:27:55.0000] krit: checking now [23:33:16.0000] krit: I don't have perms to update /TR symlinks [23:33:41.0000] MikeSmith: ok, but the FXTF repo? :) [23:35:31.0000] krit: lemme make sure I understand. 1) You want http://dev.w3.org/fxtf/masking-1/ to rewrite to https://dvcs.w3.org/hg/FXTF/masking ? [23:36:21.0000] and 2) You want http://dev.w3.org/fxtf/masking/ to rewrite to https://dvcs.w3.org/hg/FXTF/masking-2 ? [23:42:37.0000] MikeSmith: Ok, what the CSS WG really does: [23:42:58.0000] MikeSmith: http://dev.w3.org/fxtf/masking-1/ should reference to masking-1/ [23:43:10.0000] wait [23:43:15.0000] MikeSmith: and http://dev.w3.org/fxtf/masking/ to masking/ [23:43:27.0000] I don't know what you mean by "reference" [23:43:42.0000] MikeSmith: I couldn’t do that, because the links were not set up properly yet, so I created masking-2 [23:43:49.0000] OK [23:44:00.0000] reference = Apache rewrite? [23:44:00.0000] MikeSmith: point to maybe? forward? [23:44:04.0000] ok [23:44:08.0000] yes, that one :) [23:44:13.0000] all right [23:44:26.0000] I'll get this set up in a hour or so [23:44:35.0000] will you still be around to check it? [23:44:41.0000] MikeSmith: not urgent, but thanks for taking car of it [23:44:47.0000] ok [23:44:48.0000] MikeSmith: yes [23:45:00.0000] s/car/care/ [23:45:11.0000] /me doesn’t have a car to offer [23:46:17.0000] MikeSmith: who should I ask because of TR “Apache rewrite” > [23:46:18.0000] ? [00:17:46.0000] krit: probably best to ask the team contacts for the CSS WG or SVG WG [00:18:00.0000] Doug or Bert or Chris [00:18:35.0000] MikeSmith: I’ll do. thanks. [00:18:37.0000] but if you want to try yourself, you can e-mail webreq⊙wo [00:18:47.0000] k [00:20:42.0000] I would do it myself for you if I could but /TR symlinks are one of the few things I don't have perms for [00:22:09.0000] anyway I'll do the dev.w3.org/fxtf stuff now [00:29:01.0000] krit: wait, everything in http://dev.w3.org/fxtf/* is already being rewritten to http://w3c-test.org/FXTF/* per something that Peter Linss asked to have set up [00:29:59.0000] MikeSmith: ah I see! Didn’t know that it was done this way [00:30:06.0000] MikeSmith: hm. [00:30:47.0000] krit: and everything in http://w3c-test.org/FXTF/* comes from https://dvcs.w3.org/hg/FXTF/ [00:31:18.0000] when somebody does a push to https://dvcs.w3.org/hg/FXTF/ it automatically goes to http://w3c-test.org/FXTF [00:31:21.0000] MikeSmith: in this case it is already a bit weird :P So could I ask you to link http://dev.w3.org/fxtf/masking to css-masking-1/ ?I will rename the folder [00:31:52.0000] css-masking-1/ where? [00:32:33.0000] I would do hg rename masking css-masking-1 [00:32:46.0000] yeah [00:33:00.0000] MikeSmith: and http://dev.w3.org/fxtf/masking links to this folder [00:33:07.0000] MikeSmith: would that work? [00:33:52.0000] I don't knwo whether it would work because I'm still not clear what you want [00:34:33.0000] http://dev.w3.org/fxtf/masking -> https://dvcs.w3.org/hg/FXTF/css-masking-1 [00:34:34.0000] and blame the weirdness on Peter Linss because he's the one that asked for this mess to be set up the way it is [00:35:16.0000] MikeSmith: not blaming anyone, just thought it would be different [00:35:53.0000] MikeSmith: well, better to not do it on Appache then [00:36:54.0000] MikeSmith: time will just fix it and I’ll take care of the right folder on future publications :) [00:36:56.0000] I can try set up the http://dev.w3.org/fxtf/masking -> https://dvcs.w3.org/hg/FXTF/css-masking-1 from an .htaccess file in the dev.w3.org repo right now [00:37:18.0000] MikeSmith: that would be great! [00:38:01.0000] MikeSmith: So can I rename the folder right now? [00:40:07.0000] MikeSmith: have my finger on the “return” key to publish the commit :) [00:41:38.0000] please rename it first [00:42:03.0000] you can move it back if it doesn't work as expected [00:43:52.0000] MikeSmith: renamed masking to css-masking-1 see http://dev.w3.org/fxtf/css-masking-1/ [00:57:47.0000] krit: ok, http://dev.w3.org/fxtf/masking/ now goes to http://dev.w3.org/fxtf/css-masking-1/ as a expected I think [00:58:24.0000] which actually means it's going to http://w3c-test.org/FXTF/css-masking-1/ [00:58:39.0000] lemme know if that's not what you meant [00:59:14.0000] MikeSmith: and now http://dev.w3.org/fxtf/masking/ -> http://w3c-test.org/FXTF/css-masking-1/ :) [00:59:22.0000] yeah [00:59:40.0000] MikeSmith: yes, this is what I was looking for :) [00:59:45.0000] cool [01:00:14.0000] so you still want the second one set up, or don't need it? [01:00:50.0000] MikeSmith: http://w3c-test.org/FXTF/masking/ is forwarding, so everything is great now :) [01:00:56.0000] MikeSmith: thanks! [01:01:03.0000] great [01:01:14.0000] krit: btw you'll be at TPAC? [01:04:09.0000] MikeSmith: yes, I am coming. [01:04:26.0000] ah good [01:04:29.0000] will see you there [01:04:38.0000] oh yeah you'll be at TestTWF to [01:04:41.0000] *too [01:04:59.0000] MikeSmith: yes! Be there as well :) Will you see you there I hope [01:05:38.0000] /me needs to prepare the 2min talk for TestTWF at some point [01:46:38.0000] cabanier, can you please not implement things that aren't in a spec without even mentioning that in the bug? [02:05:51.0000] ...i don't know what to reply to https://www.w3.org/Bugs/Public/show_bug.cgi?id=23468#c1 [02:20:02.0000] Laugh ;) [04:37:41.0000] is the serial API supposed to cover USB? I see vendorID and productId there [04:38:00.0000] note the discrepancy between ID and Id... [04:38:57.0000] will the same API work for Bluetooth, too? [04:41:58.0000] hmm, where is the latest svg spec [05:09:26.0000] https://svgwg.org/svg2-draft/ [05:10:46.0000] smaug____: oddity, hah [05:12:04.0000] yeah yeah, can't fix the old APIs [05:12:47.0000] it's not an oddity for such an API to not include self [05:12:54.0000] point me to one library that does that [05:14:59.0000] it is odd for an API which is searching a node in a tree to exclude one node [05:16:23.0000] smaug____: do you expect this to return the form? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2616 [05:18:19.0000] no [05:18:41.0000] why not? [05:19:08.0000] .x is a property of form which has name x [05:20:30.0000] smaug____: o_O [05:20:47.0000] :) [05:21:05.0000] /me doesn't follow [05:21:24.0000] I don't see that .x as a tree search operation [05:21:47.0000] if one does, then the .x.x should indeed return form element [05:22:07.0000] but it basically is a tree search operation: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2617 [05:23:25.0000] it is implemented as a search. but .x just points to some object [05:24:59.0000] getElementById is implemented as a search but just returns some object...? [05:25:24.0000] smaug____: to give a more considered reply, it does not just exclude one node, it excludes inclusive ancestors and searches descendants [05:25:45.0000] smaug____: and excludes siblings and their respective trees [05:26:34.0000] it excludes the root of the search tree [05:26:51.0000] and just sounds odd to me [05:26:59.0000] feels wrong [05:27:06.0000] but I know, we can't change this stuff [06:30:43.0000] bholley: how about slowly trying to move away from multiple globals that can reach each other going forward? [06:31:07.0000] bholley: maybe it's better to discuss in a channel that includes bz [06:44:32.0000] Whoa, CSS has case-insensitive ID matching in quirks mode? [06:45:55.0000] annevk: apparently yeah :/ [06:46:09.0000] Where is that defined? [06:46:17.0000] http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html#case-sensitivity [06:46:35.0000] CSS leaves it to the document language to define [06:47:17.0000] Selectors is so bah [06:58:07.0000] ... case-insensitive id matching is lame; locale-sensitive case-insensitive matching sounds insane [06:58:17.0000] does it seriously need that, and not just case-folding? [06:58:30.0000] zewt: this is ASCII only insensitivity [06:58:35.0000] in quirks mode [06:58:53.0000] well you said that it leaves it to the language to define, which sounded like locale-sensitivity [06:59:02.0000] zewt: the language is HTML [06:59:16.0000] (although it should really be DOM, but whatever) [06:59:17.0000] SVG is another document language [06:59:42.0000] SimonSapin: which goes to show that if you mix SVG and HTML, Selectors has the wrong abstraction [06:59:44.0000] SVG's ids and classes are also case-insensitive in quirks mode [07:00:07.0000] but we're getting back to Selectors is so bah territory [07:00:09.0000] even SVG has a quirks mode? [07:00:11.0000] sad [07:00:26.0000] SimonSapin: if you put svg in html... [07:00:37.0000] XML doesn't have quirks [07:00:40.0000] SimonSapin: quirks mode is tied to DOM, not some input stream... [07:01:47.0000] let’s put it like this: does image/svg+xml have a quirks mode? [07:02:07.0000] I suppose http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html#case-sensitivity also defines SVG-in-HTML [07:03:13.0000] http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2618 [07:03:27.0000] SimonSapin: that's XML, and XML doesn't have quirks mode [07:03:37.0000] ok [07:04:07.0000] but the document above has svg as only element and is in quirks mode... [07:06:30.0000] so, selectors shouldn't make it per-language since that doesn't reflect reality. it should just say, classes and ids are case-sensitive except in quirks mode where they're ascii-case-insensitive [07:07:16.0000] Nah, it doesn't need. The mapping from the undefined abstract model to DOM is trivial. [07:10:20.0000] TabAtkins: how should i mark up http://dev.w3.org/csswg/cssom-view/#concept-geometry-rectangle-origin in bikeshed? i want origin to be like a property of 'rectangle' [07:57:15.0000] http://dev.w3.org/fxtf/geometry/#DOMMatrix a bit sad to use an image there [07:57:54.0000] would be cool with LaTeX to MathML or something in bikeshed [08:33:57.0000] annevk: regarding Halloween minutes of the TAG, what's a DRM Task Force supposed to accomplish? [08:35:27.0000] I note that TimBL hasn't replied to my recent emails to www-tag. [08:36:50.0000] hsivonen: I suspect the idea would be to explore the technical ramifications. [08:39:01.0000] hsivonen: Henry suggested he does not have a solid grasp on the subject and therefore "Task Force". I'm not sure what to think about it. [08:39:20.0000] I'm generall wary of all Task Forces. [08:39:24.0000] generally* [08:40:38.0000] annevk: I'm wary, too. Not sure what an exploration would output that would result in a meaningful action by the W3C. [08:41:23.0000] so, y'all realise the w3c is doing this drm thing because that's a way it can get more members and thus more money, right? :-) [08:41:38.0000] hsivonen: I suspect there's a high likelyhood of a Task Force happening so they can use it to save face. [08:41:57.0000] i mean you keep discussing it like it's something they could see the merits of, but it's obvious from their discussions that they're just post-hoc rationalising [08:42:02.0000] hsivonen: W3C is not very good at driving things and always tries to outsource hard decisions. [08:42:08.0000] annevk: :-( [08:42:28.0000] Hixie: I think it's for the Membership fee $$$s, yes [08:42:46.0000] W$C [08:43:19.0000] Oh W€C [08:43:51.0000] Although it's mostly Hollywood dollars here I suppose, not so much euros [08:45:12.0000] Wondering how to reply to that invite to work on streams in the W3C webapps... [08:45:40.0000] Maybe "I plan to work on this in the WHATWG, but from what I understand the usual procedure is for the W3C to choose a point in time to fork and freeze the standard, change some example text to use different genders, and then get patent protection applied. I'm totally fine with that and willing to collaborate in whatever the W3C needs to continue that path." [08:46:09.0000] Domenic_: https://twitter.com/sgalineau/status/395208203358597120 [08:46:36.0000] SimonSapin: haha yes too true -_- [08:46:41.0000] SimonSapin: we like Domenic_, don't scare him :p [08:47:39.0000] annevk: don’t worry, he’s already too far in to run away :) [08:49:27.0000] god, that tweet is so on the money [09:22:52.0000] zcorpan: I can't find an "origin" dfn in the draft, and your hash doesn't link to anything. What type of definition is "rectangle"? Just a plain " rectangle"? [10:02:46.0000] arv: I actually like URL.prototype.searchList, but I was afraid it might be confusing if it didn't return the same kind of list classList returned [10:10:27.0000] Tentative proposal to rename URL.prototype.query is now searchParams with URLSearchParams as corresponding object. https://www.w3.org/Bugs/Public/show_bug.cgi?id=23586 [10:10:32.0000] Speak up now, or forever... [10:13:41.0000] annevk: +1 [10:16:35.0000] Your point about using search in both places was a good one. (Even if nobody calls it "search" in the real world :-S.) [10:20:22.0000] hash rather than fragment is good too [10:23:07.0000] I wonder if this is another case of Java did it first or if this was after one too many late nights at Netscape [10:33:07.0000] MikeSmith: I forget what combination of soft/hard redirects we use for CSSWG stuff, but there should be several of them in place now, so FXTF can use the same pattern. [10:37:32.0000] I wonder if MathJax uses DOM measurements to format stuff, or if I can port it to Python and do server-side rendering in Bikeshed... [10:43:51.0000] TabAtkins: for now I think at least I got krit's stuff set up the way he wants. All I did was add anothether Rewrite rule to the .htaccess in dev.w3.org/fxtf. [10:43:53.0000] annevk_: does anything implement both ParentNode and URLUtils? [10:44:03.0000] MikeSmith: kk [10:44:59.0000] SimonSapin: arv, in his head [10:46:58.0000] searchParams, ew [10:49:57.0000] SimonSapin: kind of ew, but then, queryParams sounds great! and consistency sounds good! so now searchParams sounds good suddenly. [10:52:57.0000] TabAtkins: Filter Effects uses a MathJax version that is stripped down even more than the minimum version from the web site [10:53:16.0000] TabAtkins: I use MathML directly in the spec. [10:53:29.0000] TabAtkins: That is more accessible. [10:53:31.0000] MathML directly in the spec doesn't help users with Chrome, though. :/ [10:53:58.0000] TabAtkins: unless you use MathJax and kick the asses of Blink people in the meantime ;) [10:54:18.0000] TabAtkins: that is what I am saying. I stripped the lib down as much as I could [10:54:26.0000] My current line of attack is to try and convince them to just ship MathJax with Chrome, like we're doing with XSLT. [10:54:48.0000] TabAtkins: I suggested that as well to pdr. [10:55:05.0000] TabAtkins: looks like people still don’t like it [10:55:34.0000] annevk, ContainedNode? :) [10:55:54.0000] Ms2ger: you've been off the naming committee since a long time now :p [10:56:04.0000] annevk, phew :) [10:56:06.0000] but yeah [10:58:20.0000] Domenic_: wait, what? [10:58:41.0000] how does searchParams start to sound good? [10:59:48.0000] SimonSapin: because you have search, which is like a string version of searchParams? i dunno, feels ok to me. [11:02:50.0000] Hardly something to get upset over on a Friday night [11:03:47.0000] ah, yeah, I support search is legacy [11:03:58.0000] I suppose* [11:33:17.0000] annevk_, did you see my question about pre-insert, btw? [11:50:37.0000] Ms2ger, did I not answer? [11:51:23.0000] Or was it not about "node is inserted"? [11:51:24.0000] Did I miss your answer? :) [11:51:32.0000] Ah, no [11:51:40.0000] Pointer? [11:51:56.0000] What you thought about making step 6 of pre-insert a switch [11:54:03.0000] Good idea. Should do that maybe once we add ShadowRoot et al to DOM [11:54:33.0000] File a bug? [11:54:39.0000] Will do [14:03:39.0000] zcorpan: turns out that Servo does, indeed, support [14:16:50.0000] getElementById on ParentNode? Breaks jQuery [14:24:17.0000] yeah but nobody uses jquery [14:52:48.0000] Ms2ger: really? wow :-S [14:53:14.0000] Domenic_, sure seems to break its test suite... [14:53:22.0000] Might be a bug in the implementation [14:53:36.0000] But bz implemented it, so I wouldn't count too much on that option [14:54:52.0000] after all that debate... fun times. [15:00:35.0000] Ms2ger: Level of surprise: not great. [15:01:46.0000] gsnedders, I assume you must have dealt with jquery in QA [15:02:55.0000] Ms2ger: Once or twice. [15:03:20.0000] Ms2ger: jQuery is nowhere near as fragile as older versions of Prototype, though [15:03:27.0000] Or Dojo. [15:04:31.0000] Damning it with faint praise, eh [15:06:08.0000] YUI is the worst, really [15:26:41.0000] Wow :/ [15:27:08.0000] Need to drink some more now [15:31:15.0000] hm? [15:35:22.0000] Hixie, web compat [15:35:51.0000] oh, getElementById on ParentNode breaking jQuery,i missed that [15:35:55.0000] wow [15:36:02.0000] what specifically is it that breaks? putting it on Element? [15:36:36.0000] I haven't investigated [15:38:31.0000] well what made you say it broke jquery? [15:38:51.0000] We run jquery's unit tests, and those failed 2013-11-02 [17:07:14.0000] GAH [17:07:22.0000] i CANNOT FIGURE OUT why bugzilla is refusing my token [17:07:25.0000] this makes no sense [17:07:27.0000] it used to work fine [17:07:38.0000] the data i send is basically the same as what a web browser sends [17:07:43.0000] i've walked through the code and can't work it out [17:07:51.0000] i've walked through the form and can't work it out [17:08:06.0000] OpenID perhaps? I recall Bugzilla using OpenID, and I noticed OpenID not working on sourceforge [17:08:07.0000] i've dumped the data that the browser sends to my echo script and done the same with my script [17:08:16.0000] (not trolling, honestly trying to help) [17:08:20.0000] nope, the credentials seem to work fine [17:08:26.0000] i log in and get a cookie [17:08:32.0000] and can file bugs with the cookie fine [17:08:46.0000] it's just the csrf token on the show_bug -> process_bug path that breaks [22:37:51.0000] Hixie: about bugzilla I wonder if there's anything I could check from the server side [15:00:40.0000] MikeSmith: i've no idea. 2013-11-03 [18:47:32.0000] Anyone know the status of css-content? [19:12:05.0000] GPHemsley: i was just asking about that. status seems to me orphaned. [19:24:42.0000] ... a=Object(); b=Object(); c=Map(); c[a] = 1; c[b] = 2 <- c[a] == c[b] == c["[object Object]"] in FF. isn't the whole damned *point* of Map that it uses objects as keys and not strings? [20:36:45.0000] /me wonders if TabAtkins is looking for another spec to edit [20:47:58.0000] oh, apparently that was also discussed recently [20:48:25.0000] in other news, the abbreviation for GitHub sometimes confuses me [20:48:48.0000] (good thing it's not GitPageHub or something) [21:00:57.0000] zewt: map doesn't change how [] works in JS. Use map.set and map.get [21:04:57.0000] that's worthless [21:07:02.0000] introducing a new container class before designing a way to make that work the way every programmer is going to expect is nonsensical [21:21:17.0000] i think it would be a much worse wtf if all of a sudden [] no longer accessed properties of an object but instead some magical data store where objects could be keys [21:22:01.0000] map["constructor"] // wtf this is undefined because nobody set it? i just want the constructor! [21:33:11.0000] doesn't seem any stranger than any other custom getter/setter; it seems exceptionally strange (and confusing) to have a native map class that doesn't work with getter syntax [00:22:21.0000] properties are always strings; breaking that assumption would break so many programs [01:48:26.0000] GPHemsley, Hixie: http://dev.w3.org/csswg/css-content/ has a big red obsoletion notice [01:49:02.0000] … which is not on http://www.w3.org/TR/css3-content/ for bad reasons [03:09:11.0000] ,school [03:09:14.0000] 'school [03:09:16.0000] `school [03:09:22.0000] where was I/ [03:10:24.0000] School, perhaps? [03:10:36.0000] yes [03:10:49.0000] I want to be presented with HTML/CSS learning materials. [03:10:57.0000] I was given them with school command. [03:11:08.0000] I don't remember which channel had that command. [03:11:11.0000] ,help [03:11:13.0000] 'help [03:11:15.0000] `help [03:11:18.0000] nothing [03:11:28.0000] Not this one, definitely [05:56:00.0000] SimonSapin: Meaning, it should be on the TR version, too? [05:56:12.0000] yes [05:56:48.0000] glwt [05:56:58.0000] AFAIU nobody has bothered to go through W3C bureaucracy to change a publish document without making a new publication [06:23:44.0000] Domenic_: it would break zero programs, because we're talking about a new API [10:54:29.0000] is there a single list of pseduo-elements? (are there really not that many?) [10:59:07.0000] GPHemsley: there is four defined here: http://www.w3.org/TR/selectors/#pseudo-elements [10:59:21.0000] I believe they’re the only ones consistently implemented [10:59:29.0000] ::selection was removed from the spec [10:59:51.0000] a bunch of proposals add more, eg. http://dev.w3.org/csswg/css-overflow/#fragment-pseudo-element [11:00:26.0000] and some implementations have a bunch of proprietary pseudo-elements for various things [11:01:18.0000] eg. https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Mozilla_Extensions#Pseudo-elements_and_pseudo-classes [11:07:16.0000] hmm, thanks [15:12:38.0000] zewt: Yeah, it does often seem that TC39 are big on consistency and bad on usability. It isn't obvious why you couldn't add the ability to override the meaning of [] in particular classes and use that to make map less user hostile [15:19:57.0000] you would be unable to pass a Map into a lot of existing code that assumes existing object keys are strings. [15:21:15.0000] so? [15:22:21.0000] can't think of any case in any code i've ever written where that would matter more than having a map interface that isn't gross [15:24:05.0000] and it trades for being able to use the class in tons of existing code that assumes object keys are the keys of the dictionary [15:25:01.0000] function sum_values(dict) { var total = 0; for(var key in dict) total += dict[key]; return total; } [15:25:22.0000] would work for both types, instead of having to write separate code for maps with their different interface 2013-11-04 [17:34:46.0000] annevk-cloud: why does ServiceWorker want multi-destination streams exactly? I can't quite understand it from that issue. [17:45:33.0000] zewt: While there *is* a tc39 proposal for overriding the behavior of [], it would still be bad to make that the default for Maps, because of how JS treats .foo and ['foo'] identically. As Domenic_ has said, making maps use [] by default would break a *lot* of code that is currently assuming you can do obj[v] to access a property. And without that [] [17:45:34.0000] ability, JS has no way to access a property whose name is stored in a string. [17:45:54.0000] (Python has a special function just for that - getattr() and setattr(). They're clumsy to use.) [17:46:56.0000] they're identically clumsy to map.get() and map.set(), and that's okay because accessing a raw property on a map (rather than a key stored in the map) is rare [17:47:27.0000] It's fun to claim that, but every metaprogramming function ever uses computed properties. [17:48:03.0000] (i was referring to leaving .foo and ["foo"] the same, but allowing properties to have non-string values, which of course wouldn't be accessible via .foo; an alternative is detaching .foo and ["foo"], but that wasn't what I was talking about) [17:48:49.0000] i've used python extensively, and getattr() is definitely the exception (but it's not really a useful comparison, since python already treats .foo and ["foo"] as two different things) [17:48:52.0000] And Map#get() and #set() are less clumsy, because they're used consistently. Even Python's getattr() and setattr() are less clumsy than they would be in JS, because they're the *only* way to get computed property names. Your suggestion would mean that *some* objects can have their properties accessed with obj[v], but not all. [17:49:12.0000] they're not at all used consistently, because the dictionaries everyone already uses are simple objects that don't have .get or .set at all [17:49:35.0000] You're using "consistently" in a different manner than I am. [17:49:47.0000] You're referring to I guess consistency with existing practice. [17:49:50.0000] i have endless amounts of code passing around dictionaries as objects; making Map have .get and .set instead of using [] means *none* of that code works with Map [17:49:56.0000] Which is terrible, and the whole reason we invented Maps. [17:50:05.0000] Mixing up keys and properties is super terrible. [17:50:28.0000] But we just grin and bear it right now, because there's no other way to get O(1) maps. [17:50:55.0000] dominic's argument was that code assumes properties are strings, so allowing foo[Object] would break lots of code with that assumption; i'm saying that might be so (can't think of any real examples), but you trade for definitely not working with tons of code, which assumes key/value stores accessed with [] [17:50:58.0000] I'm sorry that it took so long for JS to grow a Map class, but it's designed well now that it exists. [17:52:06.0000] not being able to use simple objects and Map interchangeably for the "simple dictionary" pattern means I'm going to default to using objects, and only ever use Map when I really, specifically need to store non-string keys; that's a bad result [17:53:44.0000] Shrug, that'll definitely happen sometimes. [17:53:52.0000] no, it'll happen all the time [17:53:57.0000] I wish {} hadn't already been claimed for object literals. :/ [17:54:28.0000] well, it would be nice if JS was like Python and treated .foo and ["foo"] as two different things, but that's not what we're talking about [17:54:53.0000] Regardless, unless we *also* overrode the behavior of .foo, you'd *still* run into the same problems you're outlining. [17:55:10.0000] ... but we're *talking* about overriding both ["foo"] and .foo, since they're the same thing [17:55:14.0000] Because people like doing obj.foo over obj['foo'] when the "foo" is a literal. [17:55:28.0000] No, jeez, that's so terrible. [17:59:38.0000] nobody is suggesting making ["foo"] and .foo different [17:59:39.0000] Every Map would have a "toString" key in it automatically, or at least would *look* like it did. +"get", "set", "delete", and others. [17:59:39.0000] just make Map have no members and have an identical interface as a simple Object, and things that act on them go elsewhere (which is also consistent with what we already have, eg. Object.keys) [17:59:39.0000] Object.keys is a hack around the problem that we don't want more properties to show up on everything. Maps are like normal objects, which have their behavior as methods on themselves. [17:59:40.0000] Having to do Map.clear(m) would be so shitty. :/ [17:59:40.0000] trivially, inconsequentially shitty [17:59:40.0000] at the "it would be nice" level [17:59:40.0000] It's inconsistent with how virtually every other object in the entire language works, except for Object itself, which is an exception for obvious reasons. [17:59:40.0000] Object.keys(foo) is a bit annoying (compared to foo.keys()); having object dictionaries and Map dictionaries have different interfaces is massively annoying [17:59:40.0000] Seriously, for every argument that it would be consistent in one way, it's less consistent in another way, seemingly worse way. [17:59:58.0000] i'd say the opposite: having Map have a different API (at least among the things discussed here so far) gives minor academic prettiness, at the expense of bigger failures [18:00:37.0000] anyway, the result is that Map will be a type used for special-purpose scenarios, where you specifically need to stash things with objects as keys, and never a general-purpose container ... which is something the Web can live with (we've lived with string keys this far, after all), it's just sucky [18:01:34.0000] I agree that it would be *nice* for Maps and Objects-as-Maps to work the same way, but to make it happen, you have to accept several of the downsides of Objects-as-Maps (which we were trying to get away from) and having to structure the operations in a weird way that doesn't match anything else. [18:02:18.0000] to me it seems better to match the dictionaries everyone is using, instead of a dictionary class that matches everything *except* ... you know, dictionaries [18:02:45.0000] Welp, I've explained why it's not better, or at least why I and TC39 think it's not better, so shrug. [18:03:17.0000] i don't know much about TC39, except that every time I see that sequence of letters, it's about something I think is badly designed, heh [18:04:01.0000] Don't take this the wrong way, but most of the time when I see you complaining about it, I think you're on the wrong side. ^_^ [18:04:16.0000] oh well [18:07:06.0000] zewt: if it makes you feel any better, most of the time when i see tab defending TC39, I think _he's_ on the wrong side, so... :-) [18:07:32.0000] oh well [18:07:58.0000] then again, my preferences in languages are basically diametrically opposed to javascript's basic philosophies, so it's not particularly surprising [18:08:04.0000] i wish bugzilla would post to lists in a way gmail threads properly [18:08:36.0000] it's annoying eg. reading the set()/toggle() bug, searching through dom for a minute and seeing "oh, toggle does this", then loading the bug and seeing that was already commented, it just ended up as a separate thread [18:08:57.0000] don't use gmail? [18:08:59.0000] i think it's the "new:" it adds to new bugs that screws up gmail [18:09:16.0000] yeah "change to a different email client" is pretty much never a useful solution, heh [18:09:22.0000] oh actually yeah, that particular one breaks even in pine [18:09:28.0000] don't use pine? [18:09:30.0000] :P [18:19:08.0000] heh, i guess that's a pattern that fundamentally disagrees with the "arguments not passed should act like they're set to undefined" idea [18:19:16.0000] (classList.set("foo", false)) [18:19:51.0000] actually I guess not and I'm just tired [18:20:49.0000] maybe I should be watching TV and zoning out instead of reading specs on Sunday night [18:43:19.0000] losing hope in humanity at still having to explicitly configure screen to utf-8 [23:01:18.0000] BOM breaks Crosswalk testing? https://github.com/w3c/web-platform-tests/pull/400 [23:04:16.0000] Hixie: about troubleshooting the bugzilla problem if you think it might help, I can ask somebody to look at the server logs [23:04:45.0000] (I'd do it myself but I don't have shell access to the server) [23:17:17.0000] 笑 serious discussion about now adding a usemap-N attribute [23:17:20.0000] good times [23:59:55.0000] hmm, problem with usemap i hadn't seen mentioned before [00:11:12.0000] Hixie: the login thing in the spec is gone? [00:22:49.0000] zcorpan: the usemap thing shows another reason why an attribute-based solution is suboptimal here. Along with the specific existing problem of making it work with usemap, it come with the same problem for any new attributes we might want to add to img later (attributes whose values might need to vary based on the properites of the image) [00:25:32.0000] MikeSmith: i don't think it shows that it's suboptimal. you either want an existing feature of img to work, and you have to provide it, or you don't and don't, regardless of img vs picture [00:25:56.0000] of course [00:27:04.0000] but with picture it doesn't require anything more than adding a usemap analog to source [00:27:29.0000] or just usemap [00:28:04.0000] whereas with src-N it requires introducing further mess [00:28:19.0000] from an authoring point of view [00:28:35.0000] well first we need to consider whether we need to have the usemap feature available at all together with image switching [00:28:42.0000] true [00:30:52.0000] most features of img we actually want to work the same, i think [00:31:28.0000] yeah I would think so [00:32:33.0000] so that argues for using , but doesn't argue for attributes for the sources - it *could* do what does [00:33:43.0000] i'm not sure that's an awesome solution either though; it requires the author to mint IDs for all images [00:35:33.0000] or it could check the next element sibling, like ... [00:36:10.0000] still seems better than minting yet another attribute [00:37:59.0000] what attribute? [00:38:19.0000] I meant yet another attribute like src-N [00:38:41.0000] with some complex microsyntax [00:39:01.0000] for usemap you mean? [00:39:04.0000] just for the usemap case [00:39:06.0000] yeah [00:39:46.0000] ok. yeah i don't disagree. but i'm not convinced we need usemap [00:41:02.0000] yeah, me neither [00:41:35.0000] but I think others are likely to say it needs to be supported for the src-N case [00:43:18.0000] that doesn't make it a good idea to do it [00:43:35.0000] Like src-N? ;) [00:44:05.0000] like anything, just people saying "this is needed" by itself doesn't mean much [00:46:28.0000] as for usemap, if it needs anything, the first step would be to explore real cases where you'd use it and see what is actually needed. maybe what we really need is an event when there's a breakpoint switch [01:05:41.0000] hsivonen: when I take a document with an HTML4 doctype and feed it to validator.nu, and I manually choose an HTML5 preset, I'd expect to see an "obsolete doctype" warning. But I don't. [01:06:00.0000] Is it an allowed one? [01:06:04.0000] http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F [01:06:10.0000] Ms2ger: yeah [01:06:42.0000] and from code inspection I know why it's not emitting the warning [01:07:24.0000] the reason is it only emits the warning if the parser mode is set to HTML5 parsing [01:08:07.0000] which you can do in the validator.nu UI by manually setting the Parser option to HTML5 [01:08:10.0000] http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F&parser=html5 [01:08:53.0000] but I don't think users should be expected to do that manually [01:12:07.0000] I guess the best way to deal with it would be to be automatically set the parser mode to HTML5 if a user chooses an HTML5 preset [01:14:16.0000] Domenic_: annevk-cloud: Was there any discussion for an "always" method on Promises? [01:14:30.0000] JakeA: yes, https://github.com/domenic/promises-unwrapping/issues/18 [01:14:52.0000] it may be possible to get it in now that the fate of promises themselves is less up in the air. but we'll see. [01:15:39.0000] I'm playing around with them, but find myself doing .then(func, func) a lot [01:15:47.0000] or .catch(function(){}) [01:16:39.0000] Domenic_, ask JakeA the streams thing [01:17:12.0000] Domenic_: Ended up with this for displaying cached data then attempting a live update https://gist.github.com/jakearchibald/481ae9e5e72d83147585 [01:17:13.0000] .then(func, func) has pretty bad semantics, not as good as finally. [01:18:09.0000] JakeA: what was the service worker use case for piping a stream to multiple destinations? [01:19:03.0000] Domenic_: What you mentioned in your doc. Getting a network response and sending it to the browser and cache at the same time [01:19:23.0000] JakeA: ah excellent, I guessed right! :D [01:20:41.0000] There's potential for a transformation in between too. Eg, the copy from the network could have state info that you don't want in the cache, eg "Logged in a Jake" which may not be true later [01:21:04.0000] So network stream goes to the browser, but also to a transform to strip bits out, then the cache [01:21:48.0000] That would probably be messy and regexy though, but possibly the best solution for server-constructed sites that want to hack in offline support [01:23:06.0000] Domenic_: Looking at finally… that doesn't recover from the error right? It passes the error along? [01:23:13.0000] If so, I don't think it fits my usecase [01:23:25.0000] JakeA: right, just like sync try { } finally { } [01:23:33.0000] yeah, I think you really want an empty catch block [01:24:12.0000] What if .catch() desugared to .catch(function(reason) { return reason })? [01:24:19.0000] That'd work [01:24:59.0000] seems weird [01:25:17.0000] arrow functions make it nicer .catch(r => r) [01:27:13.0000] MikeSmith: why should it warn about the html4 doctype when validating as html5? [01:27:14.0000] showSpinner().then(fetchStuff).catch().then(hideSpinner) [01:27:43.0000] zcorpan: because the spec says it's an obsolete doctype [01:27:52.0000] reads well to me as in "catch errors and continue" [01:27:58.0000] hmm yeah it kind of does [01:28:31.0000] zcorpan: and authors should change it to just [01:28:31.0000] maybe desugaring to .catch(function() {}) would be safer, because you're sure of the value afterwards [01:28:50.0000] agreed, seems weird to have an error for a value. [01:28:56.0000] MikeSmith: ok i see it in the spec now. i thought it was supposed to be silently permitted [01:29:09.0000] Domenic_: Shall I make an issue for this, or has the discussion moved elsewhere? [01:29:26.0000] Or are changes to .catch() with no args set in stone now? [01:29:28.0000] JakeA: issue is great. We'll see what people think. I gotta sleep now though :) [01:29:41.0000] G'night! [01:29:52.0000] zcorpan: well I'm not sure the spec explicitly states what conformance checkers should do [01:29:59.0000] for this case [01:30:09.0000] http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#warnings-for-obsolete-but-conforming-features [01:30:49.0000] ah [01:31:05.0000] thanks [01:38:30.0000] zcorpan: btw I notice that for HTML4 documents, validator.nu also emits a warning if the doctype lacks a system ID. "Warning: The doctype did not contain the system identifier prescribed by the HTML 4.01 specification." [01:38:52.0000] MikeSmith: yeah [01:39:27.0000] http://validator.nu/?doc=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/html401-strict.html [01:39:46.0000] zcorpan: does the HTML4 spec actually say the doctype should have a system ID? [01:43:03.0000] MikeSmith: " HTML 4.01 specifies three DTDs, so authors must include one of the following document type declarations in their documents." [01:44:19.0000] you could choose to read it as you must use those exact strings, or must use a doctype that refers to those DTDs, or something in between [01:45:16.0000] hsivonen read it as FPI+SI, and on a practical matter IE5 Mac uses quirks mode for HTML 4.01 strict without SI [01:45:43.0000] but it doesn't really matter either way now [01:46:52.0000] ok [01:47:34.0000] zcorpan: it matters somewhat for me, because I want to replace the legacy W3C validator [01:48:40.0000] MikeSmith: ok, so what's the goal there? avoid new warnings? be spec-correct? be useful? [01:50:03.0000] first, be useful [01:50:31.0000] I don't care about avoiding new warnings, as long as they are useful [01:51:07.0000] so the usefulness here is whether the author cares about quirks mode in ie5 mac [01:52:00.0000] which is to say that warning about it isn't useful [01:53:11.0000] yeah [01:54:13.0000] I think it's not a message that any author would find useful at this point [01:54:19.0000] also see the 4.0 doctype [01:54:37.0000] what about it? you mean, no system ID? [01:55:05.0000] v.nu treats it differently to 4.01 [01:57:08.0000] but i guess that's ok if you validate as html4 -- the html4 spec says you must use 4.01 after all [01:57:19.0000] right [02:36:30.0000] TabAtkins: Having Object.getProperty to do the same as the current behaviour of [], and map behave like you would expect with [] seems like a much better design than what TC39 has. Doing proper introspection in JS already requires the extremely-verbose Object.getOwnPropertyDescriptor to do well so I don't think "introspection should be favoured over API usage" is a good argument [02:46:17.0000] if a parent page has , is it possible to get the `name` from within an iframe in that page? [02:47:13.0000] window.parent.document.get...? [02:48:03.0000] http://ruxcon.org.au/assets/slides/CSP-kuza55.pptx says leaks cross-domain [02:48:12.0000] i’m trying to understand what the author meant exactly [02:49:20.0000] Anyone feel they know their way around Promises? Would be good to get some thoughts on https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448 [02:49:23.0000] IIUC `window.parent.document.get...` would fail if the iframe is on a different origin, right? [02:58:47.0000] I'd hope so [02:59:27.0000] /me asks @kuza55 [03:05:27.0000] What's the name attribute on base? [03:07:06.0000] Gives the base name, clearly [03:32:12.0000] JakeA: for the XHR code you are not catching all errors... [03:32:16.0000] JakeA: e.g. abort [03:33:15.0000] Good point [03:34:39.0000] JakeA: why don't you do Promise.race on the cached vs live and use the first result to run updateGallery? [03:35:31.0000] annevk: It's not just first-wins. If cached comes in first, I still want to do a live update. But if live comes in first I don't want to do a cached update [03:35:51.0000] Ah [03:36:10.0000] Race would work if I could do if (networkWon) { abortCachedUpdate(); } [03:39:15.0000] JakeA: it seems "react to network fetch" doesn't have to be a separate line [03:39:32.0000] JakeA: that could be part of liveFetch's callback [03:39:59.0000] JakeA: where you set liveFetchResolved [03:40:48.0000] Ah yes, I'd only need it if liveFetch.isResolved were a thing, and updateGallery were async [03:41:22.0000] I *think* I was separating the two fetches & updates, but yeah, not needed [03:41:32.0000] and the .race could be refactored by just having then and have showNoDataError hide the spinner [03:42:07.0000] not sure what is better [03:42:23.0000] it kinda seems you want to hide the spinner when updateGallery is invoked [03:42:35.0000] so maybe the .race thing isn't really needed [03:43:39.0000] Nah, I only want to hide the spinner when the gallery is updated as a result of the network fetch, or if it fails, but yeah, it could go there [03:44:15.0000] But I still need the race to show the error if both updates fail [03:45:58.0000] I either call hideSpinner where I do now, or at the end of liveUpdate as .then(hideSpinner, hideSpinner) [03:46:25.0000] Actually, hideSpinner is in the wrong place now [03:46:58.0000] As it'll hide on cachedUpdate, which is shouldn't [03:48:34.0000] It feels like promises haven't really helped write this code [03:48:49.0000] JakeA: wait, if you care about both updating failing you should not use .race but .all [03:49:39.0000] .all rejects if one fails but the other succeeds. I only want to catch both failing, which race does right? [03:49:49.0000] It's like array's .some? [03:50:35.0000] (both failing means I have no data to show, which is the only case I want to show an error) [03:51:11.0000] Ah yeah, I still don't get why updateGallery needs to be wrapped in a promise though [03:52:25.0000] Yeah, it doesn't. Updated. [03:53:46.0000] annevk: I was returning the result of updateGallery (which is void) so it could be async in future, but I've removed that bit now [03:54:41.0000] So yeah, you want finally [03:55:11.0000] JakeA: even if updateGallery was async you could return it where you have it now [03:55:39.0000] yeah [03:57:48.0000] So, my conclusions are: "finally" is great. liveFetchResolved is nasty, getting state from the promise would be better. "race" is an unintuitive method name if you're using it to detect all-reject. [03:57:53.0000] \/window 28 [04:06:24.0000] annevk: Thanks for reviewing. I thought this use case would play to Promises strengths, but it's not much cleaner & readable than it'd have been without them [04:12:52.0000] JakeA: it might be that Domenic_ has some insights in how to structure that better [04:13:59.0000] annevk: Yeah, that's why I posted it here. I've gone through loads of revisions but it feels like I'm missing a trick [04:15:02.0000] JakeA: what you really want I think is to cancel the cached operation if the live succeeds [04:15:15.0000] JakeA: we don't have cancellation yet however [04:16:48.0000] Yeah, which I could do with the xhr directly. But I'd only want to call abort if it was in a pending state, so I'd still want to access state from the promise. [04:16:57.0000] I guess I'd get this state from xhr directly [04:31:59.0000] jgraham, Ms2ger, re: according to this document, you can define an element’s (window) name using : http://help.dottoro.com/lhewchgl.php [04:32:52.0000] so once you can get data into , you can leak it cross-domain. that’s what the author meant apparently [04:37:20.0000] matjas: test case showing doing something, pls :-) [04:39:23.0000] Did he mean window.name? [04:39:35.0000] And ? [04:39:51.0000] Because I think that is a long well known leak [04:54:06.0000] so what's the attack scenario with window.name? [05:00:40.0000] annevk, zcorpan: nah, [05:00:46.0000] zcorpan: i’m wondering the same thing [05:01:33.0000] zcorpan: ah, the window.name thing i can explain [05:02:06.0000] zcorpan: a page without X-Frame-Options can be framed in a document that sets the frame name [05:05:35.0000] hsivonen: I have a validator patch and a related htmlparser patch I hope you can take a look at this week [05:05:51.0000] https://bitbucket.org/sideshowbarker/validator/commits/43e40934e7573aa44e8d8f0b6364bb4210d394d3/raw/ [05:06:10.0000] https://bitbucket.org/sideshowbarker/htmlparser-fork/commits/0c8df2fbb5ed46837954cf1d8ae338ae740848a5/raw/ [05:07:25.0000] matjas: then navigates to _parent and it gets the name? [05:07:36.0000] well, the rest is basically https://bugzilla.mozilla.org/show_bug.cgi?id=444222 [05:10:44.0000] i think the spec doesn't have that problem. http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name [05:11:23.0000] only for top-level [05:20:51.0000] TabAtkins: moved to http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name [05:20:53.0000] er [05:20:57.0000] http://dev.w3.org/fxtf/geometry/ [05:21:43.0000] MikeSmith: does the tree builder patch downgrade some errors to warnings? [05:23:22.0000] MikeSmith: what's the goal of this change? [05:30:35.0000] hsivonen: the goal of the TreeBuilder patch is to nu [05:31:29.0000] MikeSmith: parse error :-( [05:31:57.0000] anyway, looking at the tree builder patch more closely, it indeed seems to fix a bug, so r+ [05:32:04.0000] *not emit an sorry, typing on my mobile [05:32:11.0000] MikeSmith: what problem does the validator patch solve? [05:34:55.0000] hsivonen: validator patch causes a warning to be emitted if the user has manually chosen html5 checking, but the doctype is a html5 or XHTML1 doctype [05:35:50.0000] currently we do not emit a warning for that case [05:37:37.0000] that is, the case where the user selects an html5 preset without also manually selecting the html5 parser iron [05:37:47.0000] *option [05:39:54.0000] *but the doctype is an html4 or XHTML1 doctype [05:44:22.0000] hsivonen: about the TreeBuilder patch, do I need to open a bugzilla.mozilla bug to have it landed, or you can just land it from that changeset, or...? [05:45:16.0000] MikeSmith: I can land it. [05:45:26.0000] ok [05:45:27.0000] MikeSmith: r+ on the validator patch, too, I guess [05:45:49.0000] thanks [05:46:18.0000] zcorpan: ah, I guess today window.name might no longer be reachable [05:58:20.0000] MikeSmith: does the parser patch have a bug number in *some* Bugzilla? [06:10:43.0000] Hixie: https://github.com/search/advanced seems to exist [06:11:53.0000] MikeSmith: https://hg.mozilla.org/projects/htmlparser/rev/2a1a57b4c8ff [06:16:58.0000] jgraham: I recommend setting whatwg/streams to Watch [06:17:35.0000] annevk: What does that do? [06:18:41.0000] (mostly I need to fix my email filters so that not all email from github ends up in the same folder) [06:19:58.0000] jgraham: only gives you notifications when mentioned [06:20:15.0000] jgraham: oh, "Not watching" is what I meant [06:20:36.0000] jgraham: confusingly the label says "Watch" but I guess that's what happens if I press it now [06:20:56.0000] annevk: That seems pretty useless? What I think I want is "one email per new issue, and the ability to subscribe to the issue if I am interested" [06:22:15.0000] (Which isn't possible from github afaik) [06:22:27.0000] Because (insert github rant here) [06:43:22.0000] (Second github rant here) [06:48:14.0000] arv: so nextElementSibling on DocumentType is not in stable Chrome yet it seems [06:49:22.0000] annevk: It is not? Let me check. This was changed several months ago (but I only have dev channel here) [06:49:50.0000] http://lists.w3.org/Archives/Public/www-style/2013Nov/0016.html [06:52:46.0000] Ms2ger: o_O [06:53:48.0000] There's only one sensible reply there [06:53:55.0000] annevk: I just verified that it is in M31 (current stable) [06:54:10.0000] arv: oh! [06:54:33.0000] annevk, and that's not to reply? :) [06:54:55.0000] arv: so in http://software.hixie.ch/utilities/js/live-dom-viewer/ yields ? [06:55:46.0000] seems like yes [06:55:50.0000] hsivonen: thanks [06:55:59.0000] annevk: yup [06:57:01.0000] hsivonen: and no, I hadn't raised a bug for it anywhere, so there anyway wouldn't have been any bug number to mention in the changeset [06:57:53.0000] MikeSmith: ok [07:01:18.0000] JakeA: my initial question would be, assume all your functions are sync. How would you write the code then? [07:06:59.0000] Domenic_: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943356 [07:11:14.0000] JakeA: in that case, https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943359 [07:11:54.0000] Domenic_: that doesn't allow racing between the cache and network though [07:12:03.0000] Domenic_: which would be an advantage of having this async [07:12:17.0000] annevk: ah, it wasn't clear that was desired, i will revisit in a bit [07:12:54.0000] Domenic_: it seems you want to race between them, cancel cache if network is done, but not cancel network if cache is done [07:13:16.0000] Domenic_: and then keep the spinner and content up to date while you do all that [07:18:36.0000] Domenic_: The desired process is https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943260 [07:51:59.0000] Does anyone have opinions on where XMLHttpRequest's restrictions on Request objects go? [07:52:07.0000] JakeA: just to confirm, what if: 1) fetch from cache fails, but fresh fetch succeeds; and 2) cache data arrives before fresh data. [07:52:15.0000] In particular XMLHttpRequest restricts methods and headers. [07:52:33.0000] Domenic_: ignore cache [07:52:35.0000] JakeA: not "and" as in "what happens if both", I meant more, those are two not-yet-specified cases by your desired process. [07:52:59.0000] only if both fail do you do shownoupdate [07:53:09.0000] and if cache arrives before fresh? [07:53:20.0000] Domenic_: If cache fails, but fresh succeeds, page is updated with fresh data & spinner stops [07:53:21.0000] you first update with cache, then with fetch [07:53:40.0000] ah, that breaks the symmetry, making it annoying. ok. [07:54:06.0000] Domenic_: If cached data arrives first, page is updated with cached data. Network fetch continues and page will be updated again if/when it succeeds [07:54:30.0000] it seems somewhat common to have this code in the SW [07:54:47.0000] though I don't think it should leak outside the SW as JakeA's code suggests [07:55:30.0000] Actually, I saw this code living in the page. The service worker would handle serving the data & populating the cache on a fresh update [07:56:16.0000] If I had an SW I would want that to handle all the cache complexity for me [07:56:25.0000] And just deal with URLs myself [07:56:47.0000] The service worker would only be able to handle the initial page serve, not the second request for fresh data & update [07:57:19.0000] eg, the page would want to do stuff like "Don't update with fresh data if old data has been interacted with", eg like writing a tweet reply [07:57:59.0000] Ah yeah, fair. Although SW could ping the page but then you would indeed no longer be dealing with just a URL... [07:58:02.0000] Sad. [07:58:53.0000] if cache comes back successfully then fresh comes back successfully one second later, at which point do you hide the spinner? [07:59:07.0000] annevk: I'll get this full "gallery" example into the repo later in the month. It could be that we could make this stuff easier [07:59:39.0000] Domenic_: spinner is for network I'd assume [07:59:47.0000] Domenic_: Spinner only hides once the fresh data request ends, whether it fails or succeeds [08:00:20.0000] ah so i should think of this as a non-modal spinner. [08:00:36.0000] I guess, technically, you'd hide the spinner when both requests have completed (fail or succeed). But linking it to the network request is good enough [08:01:18.0000] If the network request fails, but the cache fetch is still happening (likely if there's zero connectivity), it might be nice to still show a spinner [08:01:28.0000] But my code at the top of the gist doesn't do that [08:01:57.0000] Surprising amount of edge cases to this [08:02:52.0000] Isn't that what UI is? [08:03:53.0000] Using .finally: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943394 [08:06:23.0000] annevk: Hah! [08:08:33.0000] Domenic_: annevk suggested Promise.all([cacheUpdate, freshUpdate]).catch(showNoDataError) too, either you're both wrong or I don't understand the API… [08:08:57.0000] I thought Promise.all(...) would reject if any of the promises rejected [08:09:11.0000] and only resolve if all of the promises resolved [08:09:16.0000] hmm yes, i think i am wrong, why did i do that [08:09:47.0000] .race only rejects if all the promises reject, yeah? [08:10:02.0000] I'd have placed bets on me being wrong there [08:10:07.0000] no it rejects if any of the promises reject before any of the promises fulfills [08:10:15.0000] what we really want is .any [08:10:51.0000] Ohhhhhhh [08:10:57.0000] the problem with speccing .any is figuring out what the aggregate error should look like if all reject [08:11:34.0000] array of responses, right? [08:12:01.0000] JakeA: you need both response and fulfilled/reject state [08:13:57.0000] Yeah. I thought race resolved on first to resolve, and rejected on all-rejected. Hah [08:14:08.0000] My code in the original gist is broken then [08:17:56.0000] Domenic_: So, need something like finally. & it'd be nice to have freshUpdate.isResolved to remove the need for updatedFromFresh. Is that fair? [08:26:38.0000] JakeA: isResolved isn't really useful, since you could be resolved to a pending promise [08:27:41.0000] freshUpdate.hasThenBeenInvoked [08:27:48.0000] I guess I'm looking for isComplete [08:27:59.0000] .race is pretty useless ... its existence stems from its counterpart being included in DOM promises, and MarkM liking it, and it having very straightforward/easy to spec semantics. If any of those were false it would probably have died along with what we are now calling .any---which is more useful, but harder to spec. [08:28:02.0000] annevk: Hah, yeah [08:28:22.0000] sounds like you are looking for isFulfilled, but that is not determinable without possible side effects, e.g. collapsing any lazy promises [08:29:34.0000] well, maybe i am lying, if you can do it in user space, you should be able to do it in spec space. [08:30:08.0000] Does feel like there should be a more promisey way to handle updatedFromFresh [08:30:14.0000] no, i am not lying, the user-space solution explicitly triggers .then. [08:30:22.0000] I dunno, seems fine to me. [08:30:39.0000] Remembering the sync/async parallel, i.e. you would do the exact same thing for sync-ish code. [08:30:57.0000] JakeA: would it be much better with callbacks? [08:31:07.0000] Fair enough, I'm probably just trying to cram everything into the model of the new thing. Like when people ask how to do setTimeout in jQuery [08:31:07.0000] JakeA: alternatively, how would you ideally have done it? [08:31:19.0000] haha [08:32:17.0000] annevk: Oh, yeah, I don't have any better solutions. And I'm not being down on promises, just felt like I wasn't doing it as well as it could be done [08:32:57.0000] I'm also just wondering :) [08:33:13.0000] But yeah, it sounds like there's a finally() and a Promises.any() missing [08:33:58.0000] .any is weird because if you reject with an array of reasons you are breaking the rule that rejections should be Errors. [08:34:43.0000] Didn't realise that was a rule, but makes sense [08:35:05.0000] I'm glad we had this chat before I finished my html5rocks article on Promises :D [08:35:31.0000] e.g. would you write a sync function that does `func(funcs) { var errors = []; funcs.forEach(f => try { f() } catch (e) { errors.push(e); } if (errors.length) { throw errors; } }`? maybe you would, but seems a bit weird. [08:35:37.0000] haha awesome i love html5rocks [08:36:30.0000] Domenic_: I'll send you the draft when it's done, sounds like it'll benefit from a proof read [09:05:30.0000] "What makes @w3c a leader in global innovation?" [09:05:34.0000] I'd love to hear [09:06:26.0000] Too bad @w3cdrm broke [09:08:56.0000] good morning, Whatwg! [10:41:18.0000] jgraham: Normal people don't need to do full-power property introspection; for most uses, just doing foo.bar or ("bar" in foo) is just fine. So gOPD isn't a valid criticism, as it's something you use only in rare metaprogramming cases. [10:42:05.0000] TabAtkins, right, so why not support foo.bar? [10:43:20.0000] Because of everything I've already said when discussing this with zewt. You have all Maps appearing to have a "toString" key, and have to either swallow that all Maps appear to have "get"/"set"/"clear"/etc keys as well, or push them off onto the Map object in a fashion that isn't done anywhere else (except Object). [10:45:45.0000] FWIW it is less clear to me why . and [] have to do the same thing [10:46:14.0000] Because JS has always done that, changing it now would be impossible, and changing it for a *single object* is just silly. [10:47:06.0000] It's only silly if you don't introduce a general mechanism for doing it [10:47:12.0000] And having one object act differently, and in a way that'll break lots of naive scripts, directly counters the "consistency" argument used to try and argue for using [] with Maps. [10:47:30.0000] Indeed, and there's a proposal for doing that (which isn't making it into ES6). [10:47:30.0000] The argument I used isn't "consistency" [10:47:38.0000] It's "usability" [10:47:55.0000] But it's still something that breaks naive scripts, and so you don't want to turn it on for an object by default. [10:48:18.0000] Yes, I had this same argument with zewt last night. [10:48:37.0000] It only breaks those scripts if people start throwing sets at them without updating them. Which is possible of course, but not obviously a deal breaker [10:48:52.0000] The same is true of lots of new features [10:49:18.0000] I acknowledge that [] is slightly more usable, and in line with how you access object-maps. But we can't make Maps do that without accepting a lot of bad things, which hurt the usability as well. So it's definitely not a clear-cut right or wrong decision. [10:49:20.0000] (for example the generic not-in-ES6 mechanism for doing this that you just alluded to) [10:50:03.0000] (The generic mechanism is just assigning a function to some Symbol-valued get/set properties on the object, which are then used for gets/sets using [] instead of the default behavior.) [10:51:36.0000] Right, more or less what you would expect. No reason that couldn't work for set. And if it does go in, it will be confusing in the future when user objects overload [] but built-in sets don't [10:52:19.0000] Of course there's no reason why it wouldn't work. I'm saying you don't want it to work that way *by default*, because doing so is inconsistent with the rest of the language and will break lots of things doing simple metaprogramming. [10:52:47.0000] I'm sorry there's no perfect answer. Perhaps JS messed up from the beginning by having .foo and ['foo'] do the same thing. But we can't get away from that. [10:53:34.0000] I don't think I can blame you *personally* for that [10:53:41.0000] BLAME HIM! [10:53:43.0000] BURN HIM! [10:54:07.0000] Unless you go on to invent a time machine and threaten Brendan with death unless he consents to your will [10:54:28.0000] If I had a time machine, there's several people I would be threatening with death unless they consented to my will. [10:54:51.0000] Hmm, my estimate of the probability of that being the case just went up [10:54:56.0000] *cause [11:10:46.0000] TabAtkins: I'm confused, is a promise for itself required (since monads don't care what's inside them) or disallowed? [11:11:16.0000] Domenic_: Irrelevant question. The monad contract doesn't care what inside the context. Resolve it however you want. [11:11:53.0000] You need to *allow* a monad to be put inside of itself, but it's fine to make that cause rejection. You just shouldn't, for example, throw. [11:12:01.0000] hmm [11:12:15.0000] Just note Mark's comments about remote promises not being able to eagerly reject. [11:12:21.0000] right yeah [11:12:27.0000] that'll be tricky [12:01:53.0000] MikeSmith: ping [14:05:11.0000] anyone got an idea of what the event we fire on
should be called? fired when it opens or closes [14:05:17.0000] best current suggestion is "ontoggle" [14:06:45.0000] where's a good bikeshed when you need one [14:10:19.0000] That seems like a perfectly good name [14:10:25.0000] /me concurs [14:14:54.0000] yeah, +1 [14:17:11.0000] Hixie: Quick, ship an implementation before anyone disagrees [14:17:42.0000] i dunno onopenorclosestatechange seems pretty good too [14:17:46.0000] /me hides [14:19:35.0000] ontoggle it is [14:19:38.0000] /me kills miketaylr [15:33:17.0000] anyone have a link to that htmlwg post where the chairs said we didn't have to test everything because some things had "proven interoperability"? [15:34:17.0000] http://lists.w3.org/Archives/Public/public-html/2012Sep/0243.html looks to be it [15:41:21.0000] Hixie: FWIW I don't think anyone intends to not test everything [15:41:42.0000] It just means that they won't require testing everything for Process reasons [15:42:01.0000] But that's fine, testing for Process doesn't really work anyway [15:43:47.0000] Actually I take that back [15:43:55.0000] testing for Process really doesn't work [15:44:43.0000] It just leads to confusion like people asking if it's OK to submit tests for the interaction between different features [15:45:08.0000] Or people submitting tests carefully chosen to demonstrate interop, rather than to find bugs [15:46:03.0000] The only real good thing about having testing be part of the Process is that it encourages some people who care about Process to write tests [15:46:23.0000] However it doesn't guarantee the quality of those tests, for the reasons already stated [15:47:09.0000] yeah, it was in the context of process reasons that i was asking [15:49:00.0000] Oh, OK, if you are discussing Process then this clearly violates the intent of the Process. But also the Process shoudl change. [15:49:09.0000] or, you know, not exist [15:49:50.0000] i was discussing values of the whatwg and w3c with someone. these are what i came up with, but i'm worried they're biased -- anyone got a less subjective list?: [15:50:00.0000] WHATWG values: [15:50:01.0000] - technical correctness above all [15:50:01.0000] - openness and freedom [15:50:01.0000] - responding to all feedback [15:50:01.0000] - meritocracy [15:50:03.0000] W3C values: [15:50:05.0000] - consensus above all [15:50:08.0000] - making the AC happy [15:50:10.0000] - following processes [15:50:13.0000] - publishing "stable references" [15:51:51.0000] (i mean, actual values as demonstrated by actions, not claimed values. also, let me know if you see any contradictions of the whatwg values.) [15:55:14.0000] Hixie: I think you missed one. WHATWG values: - making fun of W3C process [15:55:49.0000] i actually later in the discussion listed some values that neither group has, and one i had in that list was "politeness" [15:56:06.0000] which i think is much the same as what you said :-) [15:56:21.0000] I don't know if it's technically a value, but WHATWG tends to value browser vendors above other entities (discounting "authors" and "end users") whereas the W3C has a different set of constituents including media companies, large corps and whoever else will pay the membership fees [15:56:54.0000] i think that falls into "making the AC happy", but yeah, interesting way of looking at it [15:58:14.0000] Sure, if you know who the AC are and the fact that the W3C actively tries to recruit new Members irrespective of whether they have interests aligned with the Open Web [15:58:20.0000] I think WHATWG valuing meritocracy might be a subjective call. I've seen opinions I value getting short shrift in discussions here [15:59:01.0000] i meant that more along the lines of you get responsibility if you do the work [15:59:52.0000] as in, the person who works on the wiki gets to decide when the wiki software is updated [15:59:59.0000] or the person who writes the spec, gets to decide what the spec says 2013-11-05 [16:00:34.0000] that's more agency than meritocracy, imo [16:00:36.0000] astearns: (though if you do see opinions get ignored, please do let me know privately, so i can make sure they are getting serious consideration) [16:00:43.0000] hmm, agency might be a better word, true [16:02:23.0000] (another value that i put in the "we don't have it" list is diversity, unfortunately) [16:03:32.0000] along what axis? [16:04:53.0000] almost any [16:05:20.0000] participant age, race, sex, socioeconomic background, etc. [16:06:03.0000] i haven't actually checked, but my impression is that both the w3c and the whatwg are mostly just white men. [16:07:34.0000] I guess it depends if you are comparing to society as a whole, or just the pool of people who have the right skills to be participating [16:07:55.0000] even if we just compare to the pool, we should have way more women [16:08:13.0000] That sounds quite plausible [16:08:29.0000] (and would, if we really had that was a core value) [16:08:38.0000] s/was a/as a/ [16:11:23.0000] It isn't immediately clear to me what I would do to encourage more women to participate at WHATWG that could be done within the constraints of the structure [16:11:41.0000] if it was a core value, we'd change our structure accordingly [16:12:46.0000] that's easy to say, but I still don't have a concrete idea of what you would actually change. The kind of structure I had in mind was things like "no budget" [16:13:16.0000] Which isn't easy to change [16:13:29.0000] it's not easy to change while doing what we're doing, certainly [16:13:34.0000] because we're all busy [16:13:52.0000] but if i e.g. cared less about writing good specs, i could spend more time raising money instead of writing specs [16:14:10.0000] or could work with women's tech conferences [16:14:23.0000] there's stuff we could do [16:14:40.0000] it not being a core value doesn't mean we think it's not important [16:14:53.0000] we might even value diversity more in theory than the things i listed above [16:15:09.0000] Sure, so sending people to tech conferences to talk about how to get involved with standards work seems like an actual concrete thing [16:15:10.0000] but in practice, our actions say that we don't truly value it more than the things above [16:15:43.0000] (and maybe we should change that, i hadn't really gotten to that part of the thought :-) ) [16:15:49.0000] But even if that happened, it would be some individual or company doing it rather than WHATWG, really [16:15:59.0000] isn't everything? [16:16:16.0000] It depends? [16:16:18.0000] i mean, "the whatwg" isn't editing the URL spec, Anne is [16:16:32.0000] Yeah, I suppose that's fair [16:17:56.0000] I guess Anne might claim that our actions demonstrate that we don't care that much about involving developers of any background, given that WHATWG/browser people rarely go to tech conferences in general [16:18:09.0000] yeah, we really should do more on that front [16:18:21.0000] i'm just so swamped with bugs and feedback i can't handle more [16:18:29.0000] which is why i haven't done anything like that [16:18:46.0000] but it does mean the feedback i have is biased towards the groups that have found us [16:20:26.0000] afk [16:20:38.0000] I think there is merit in the idea that TPAC has jumped the shark and what we should do instead is have a mixed browser developer / web developer conference aimed at discussing requirements for the immediate future of the web platform [16:20:56.0000] But that seems kind of non-trivial to organise [16:22:32.0000] /me away from wakefulness [19:28:30.0000] MikeSmith: around? [20:09:09.0000] jpwhiting: here now [20:09:13.0000] for a short time [20:10:23.0000] MikeSmith: hey there, I've been tasked with adding some html elements to our validator schema for some new html5 features [20:10:36.0000] a couple of which are audotracklist and videotracklist [20:10:40.0000] from here: http://www.w3.org/TR/2012/CR-html5-20121217/embedded-content-0.html#audiotracklist-and-videotracklist-objects [20:11:55.0000] I've removed/commented out stuff from the schema previously, but haven't added new elements/attributes to existing ones before, is it pretty straightforward to add these say to syntax/relaxng/media.rnc or something? [20:16:27.0000] yeah [20:16:54.0000] jpwhiting: just look at similar cases in the existing schema [20:17:40.0000] and look through the "hg log -p" output from previous changesets that added new elements [21:41:23.0000] jpwhiting: you really don't want to be using that old a document [21:41:37.0000] jpwhiting: http://whatwg.org/html is much more up to date [21:41:53.0000] jpwhiting: (also, audotracklist and videotracklist aren't elements) [21:42:03.0000] Hixie: yeah, I'm thinking these attributes aren't used in html5 tags and attributes anyway, but only in javascript functions [21:42:04.0000] yep [21:42:39.0000] jgraham: a joint one would involve convincing authors to go to our conference. i think we're better off going to existing conferences. [00:59:42.0000] Hixie: that depends what the goal is I think. If it's mainly an "outreach" thing then of course reusing an existing conference is rather easier. If the goal is to have all the browser people that currently only go to events like, say, TPAC or BlinkOn, as well as the kind of authors who could hold their own in a standards discussion, it isn't really clear that there is an existing conference that would work [01:14:44.0000] We should make it happen [01:17:58.0000] oh dear me, someone put anne in the cloud [01:18:11.0000] Yes, but just saying it works well for Captain Picard, but life is not yet like Star Trek. [01:22:46.0000] /me really likes the idea of that browser/dev conference [01:23:13.0000] conferences, however, are hard to make happen [01:23:55.0000] co-locate it at CCC every year [01:24:15.0000] call it "WC3" [01:24:35.0000] lol [01:25:56.0000] at ParisWeb this year I ran a Web Standards Complaints Bureau session where developers got to, well, complain about web standards (and ask questions) [01:26:10.0000] I thought it went really well, I'd encourage anyone here to do the same [01:30:24.0000] Alex used to do a pretty good job of that single-handedly [01:30:30.0000] the complaining, I mean [01:31:13.0000] either him or Fake Alex [01:31:23.0000] I can't tell them apart sometimes [01:31:50.0000] I think back then in had misinterpreted the purpose of the Web Standards Complaints Bureau [01:32:16.0000] he thought the purpose was to generate the complaints, not to receive them [01:32:49.0000] heh [01:32:50.0000] anyway I miss that [01:33:11.0000] he complained more back then, but always articulately [01:34:57.0000] zcorpan: btw I pushed the validator and parser error-reported changes we landed yesterday [01:35:07.0000] pushed to http://validator.w3.org/nu/ [01:35:15.0000] *error-reporting [01:35:30.0000] for legacy doctypes [01:36:15.0000] so if/when you have time to check and you find something funky/regressed for doctype reporting, lemme know [01:53:32.0000] MikeSmith: i wonder what it should do for e.g. [01:59:41.0000] zcorpan: right now I think that will generate a warning saynging that the system id is not one prescribed by the XHTML1 spec [01:59:59.0000] yeah [02:00:00.0000] which isn't very useful [02:00:09.0000] as we discussed yesterday [02:00:52.0000] why isn't it useful? [02:02:42.0000] Because it refers to the XHTML1 spec? :) [02:04:42.0000] the above doctype isn't one that has ever been allowed, it's not well-formed xml (not that that is checked, but anyway), it's not an "obsolete but permitted doctype"... so maybe it should give an error? [02:16:48.0000] zcorpan: yeah, I think so [02:17:52.0000] the handling for that is in the parser code, so I'll need to get another patch to Henri [02:21:33.0000] [02:21:33.0000] select attributes? why not select entities? [02:21:50.0000] hey, i want to select an entity declaration in the internal subset [02:21:50.0000] or possibly external subset [02:22:38.0000] or a comment in the declaration [02:23:12.0000] yeah, that's it. a comment in an entity declaration in the external subset. syntax for that, anyone? [02:27:13.0000] @#!�DECL [02:57:36.0000] suppose I'm not at Google and I want to find a couple of dozen most popular but encoding-unlabeled sites under a given TLD. What should I do? [02:58:26.0000] e.g. get a list of sites under .az, remove sites that have encoding labels, sort by popularity, print the first 20 or so [03:06:30.0000] zcorpan: https://bugzilla.mozilla.org/show_bug.cgi?id=850684 [03:06:44.0000] zcorpan: do you still use @hotmail.com for Bugzilla? [03:06:55.0000] annevk: no [03:07:41.0000] gmail [03:08:53.0000] seems both are cc'd [03:16:10.0000] i guess i need to test ie [03:21:09.0000] i don't see any difference between blink and gecko for the test case in https://bugzilla.mozilla.org/show_bug.cgi?id=81290 which was stated as being the reason for the absolute positioned check [03:26:13.0000] hsivonen: "suppose" you're not at Google? :) [03:27:18.0000] It's not really clear who else has the popularity data, it's true [03:29:55.0000] You could start with the Alexa data and then manually go through all the .az sites looking for ones without encoding labels [03:30:16.0000] It isn't clear if there is enough data there to give you 20 sites or not [03:32:54.0000] jgraham: my point about Google was that "Google can get this data" is not a sufficient answer if they don't [03:33:35.0000] jgraham: does Alexa publish data beyond the global top sites? [03:33:45.0000] jgraham: that is, do they have data that covers .az [03:34:06.0000] which probably doesn't have its top sites among the global top sites [03:34:49.0000] hsivonen: they seem to have per-country data [03:34:54.0000] hmm. I guess I could look at http://www.alexa.com/topsites/countries/AZ and pay attention only to the .az sites there [03:35:08.0000] Right, that was what I was thinking [03:35:40.0000] that said, the top sites for .az are unsurprisingly similar to the global top sites :) [03:36:10.0000] And pretty similar to other CIS states. [03:37:28.0000] The .no listing seems somewhat accurate, albeit fuzzy. [03:37:58.0000] It still amazes me that people agree to run whatever software it is that Alexa uses to collect these stats [03:38:11.0000] what's in it for the users? [03:39:15.0000] A pretty toolbar! [03:39:50.0000] /me used it long ago [03:40:58.0000] I'm running a top25 .no site these days. The details Alexa has on it are fuzzy at best. (c: [03:41:59.0000] well, they have to do a lot of extrapolation [03:42:31.0000] the top sites are too clueful about using and declaring UTF-8. this makes no sense as manual research. scripts needed. [03:43:39.0000] I'll just leave this here: http://lists.w3.org/Archives/Public/www-archive/2013Nov/0000.html [03:44:09.0000] some day, we'll realize that the non-CJK parts of the world are so fed up with their fallback encodings that they just use and declare UTF-8 [03:44:39.0000] hsivonen: maybe you could ping AZNIC for a list of existing .az sites [03:50:45.0000] darobin: doesn't scale :-( [03:50:59.0000] hsivonen: oh, for the whole world, sure [03:51:11.0000] I thought you were looking into a specifically .az problem [03:51:54.0000] darobin: well, .az is particularly non-obvious, but it wouldn't hurt to have real data about TLDs that seem obvious [03:51:56.0000] that said, a tool to get a random sample from DNS would be nice [04:02:58.0000] The idea would be to move away from locale-dependent encoding fallbacks and instead have TLD-dependent encoding fallbacks. [04:20:38.0000] hsivonen: i think foolip collected TLD-specific data for Encoding research, and maybe still has the script(s) [04:22:02.0000] iirc it didn't use alexa top sites but used bing's search api or some such [04:32:04.0000] hsivonen: but if you only want a handful, webdevdata might be enough [05:02:07.0000] zcorpan: does webdevdata have good coverages of various TLDs? how is webdevdata gathered? [05:02:41.0000] /me read I am as high as a kite [05:07:17.0000] hsivonen: it seems webdevdataset is too small. i find 1 az site without charset, but it has since updated to declare utf-8 [05:07:43.0000] hsivonen: 54 az sites don't specify it in Content-Type [05:08:54.0000] hsivonen: https://github.com/Webdevdata/fetcher/blob/master/README.md [05:14:24.0000] http://domaintyper.com/top-websites/most-popular-websites-with-az-domain/page/1 claims to have domains sorted by popularity [05:17:22.0000] hsivonen: you could run webdevdata fetcher on that list [05:18:43.0000] hsivonen: Alternatively maybe google with site:.az is good enough? [05:19:16.0000] or modify the fetcher to do the relevant search while fetching if you don't want to store the raw data [05:22:42.0000] jgraham: that seems like a reasonable way to get a list of sites, yeah. I expect Google to limit programmatic scaping of the list, though. [05:23:19.0000] that's where bing's search api comes in [05:24:03.0000] ask philipj@ :-) [05:24:10.0000] Right, bing might be a better choice if it allows you to download the data [06:36:01.0000] annevk: I think the only way we're going to be able to do this well is with a lot of data, via CommonCrawl or whatever. [06:43:11.0000] annevk: fun http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxFontUtils.cpp#1135 [06:44:43.0000] hsivonen: is that actually still relevant? [06:44:51.0000] hsivonen: because that'd be sad [06:45:03.0000] annevk: I don't know [06:45:33.0000] hsivonen: :/ [06:45:44.0000] zcorpan: added back links to webdevdata [06:46:32.0000] SteveF: thanks! [07:06:59.0000] So maybe Shadow DOM is the reason why HTML and DOM have to merge? [07:20:47.0000] Man, HSTS is long http://tools.ietf.org/html/rfc6797 ... [08:37:28.0000] hsivonen: does "mac" here mean pre-OS X ? [08:55:24.0000] jgraham: ah, yeah, good point. personally i assumed it was "just" an outreach thing, because I don't think we should be doing actual spec work in person. [08:55:35.0000] why are and asymmetric in their allowance of palpable content? [08:56:07.0000] GPHemsley: doesn't make sense to delete nothing [08:56:31.0000] Hixie: Could you give an example? [08:56:40.0000] /me often works better with examples [08:56:49.0000] well, let me check the spec text first to make sure i'm not on crack [08:58:52.0000] heh [08:58:54.0000] that's always a good idea [09:02:09.0000] ah, it's the reverse of what i said, heh [09:02:28.0000] it's not that doesn't allow palpable [09:02:36.0000] it's that isn't palpable itself [09:03:00.0000] this is because

x

is the equivalent of

, not

x

, in terms of whether there's anything there [09:03:15.0000] if you delete everything from a paragraph, you should probably delete the paragraph, not the contents [09:03:51.0000] afk, meeting. [09:10:55.0000] ah, right; read it wrong [09:10:56.0000] thansk [09:11:00.0000] thanks, even [09:16:20.0000] Hixie: So I think there is merit in having F2F interaction (otherwise why have conferences at all; one could simply read the same information on a web page). Of course I wouldn't expect it to work like CSS or TC39 where actual decisons are made in person. But it would be an oppertunity for people with simiilar interests to get around a whiteboard and hash out ideas (this already happens of course, but tends to be confined to people in the same organ [09:17:16.0000] I think a big benefit would be just humanizing the spec process, not even necessarily in getting any concrete work or ideas generated. [09:17:46.0000] Presumably one would make it barcamp style and have lots of parallel sessions so that the number of people at each was conducive to actual interaction rather than the kind of thing that happens at TPAC where you spend most of the time passing the microphone around a room of 50+ people, 45 of whom have nothing to say [09:18:07.0000] And of course some sessions could be "board games" or similar [09:18:28.0000] ("visit the zoo" was annevk's suggestion) [09:18:45.0000] (kind of hard to get people to attend if that's *all* you do though) [09:18:52.0000] I stole that idea from Hixie, mind [09:19:12.0000] Pretty sure it was a CC0 idea :p [09:19:28.0000] (even orgs that value that kind of teambuilding activity might be loathe to send people to something that is p [09:19:40.0000] ure teambuilding with people from competitors) [09:20:03.0000] We'll have to find out [09:20:05.0000] Well, you don't tell your manager about the board game sessions ;) [09:21:17.0000] Best part of MozSummit was hanging in the lounge discussing some ES6 stuff [09:21:45.0000] Yeah hallway track ++ [09:21:51.0000] It seems like an easier sell all round if there is explict technical content, rather than just people chatting [09:22:02.0000] (also true) [09:22:09.0000] annevk: Sure, but the format was explicitly desinged to make that possible [09:22:10.0000] "humanising the spec process", what next? http://en.wikipedia.org/wiki/Socialism_with_a_human_face ? [09:22:28.0000] jgraham: my pitch is 1 day technical and 1 day social [09:22:46.0000] I think there'd need to be some introduction though before all this socializing. E.g. most people don't even know the names of spec people or what they are interested in talking about. [09:22:58.0000] darobin_, hmm, I like spring [09:23:03.0000] annevk: JSConf US this year was 1 day technical, 1 day structured activities, 1 day technical. [09:23:10.0000] Domenic_: well, the TestTWF format isn't so bad for that [09:23:10.0000] darobin_, dunno about Prague, though [09:23:30.0000] there's a very short set of intro sessions to make sure everyone knows the basics [09:23:38.0000] then it's all hacking [09:23:45.0000] annevk: I think I prefer the 1:1:1 approach Domenic_ described [09:24:51.0000] Seems fine, host it at Google or Microsoft in the Bay Area... [09:25:38.0000] As long as you don't want peterv to attend ;) [09:25:40.0000] Fly some people in, have some fun, get an idea of what needs to be done to improve things after [09:25:59.0000] Ms2ger: :/ [09:26:44.0000] (Mozilla SFO isn't big enough? I only ask because if you are serious about this it might be one way to make things easier) [09:26:44.0000] Ms2ger: At least he didn't say "China" [09:26:51.0000] Aaaaah [09:27:24.0000] jgraham: dunno, if we get 200 people and want to do break outs that's not going to work [09:27:46.0000] (basing the number on EdgeConf) [09:27:48.0000] Right, it depends if you want 50 people or 200 people [09:28:35.0000] (50 isn't that many, but it could be worthwhile to do something smaller to begin with and scale up if the idea basically works) [09:29:24.0000] Do it in the London office, break out to the Google office [09:29:54.0000] "your breakout session is one tube ride away" [09:29:57.0000] With 50 it seems hard to get the right people in without excluding people [09:31:30.0000] Could be true [09:34:23.0000] /me fails to find anything about the capacity of Mozilla SFO [09:37:42.0000] Btw, as for GitHub, whatwg/streams seems to suggest we get better feedback via GH than public-webapps got, at least for streams [09:39:16.0000] It does seem to be getting attention, which is good. It's not clear to me whose attention it is getting [09:39:34.0000] e.g. are any browser developers involved? [09:41:24.0000] jgraham: they mostly seem to give feedback when implementing, no? [09:41:52.0000] annevk: To a certain extent, I guess [09:42:29.0000] People like Sicking often give feedback before then though [09:43:10.0000] He's still implementing XBL I guess :p [09:43:21.0000] And always will be? [09:58:49.0000] jgraham, hmm, I thought we preferred .asis if possible [09:58:54.0000] /me doesn't care much either way [10:02:22.0000] Ms2ger: I guess asis is actually more complicated since you need to pay close attention to every byte [10:02:39.0000] I'm not sure that we have enough experience to make a general rule yet though [10:02:48.0000] Let's keep it, then [10:02:58.0000] OK [10:13:36.0000] Hixie: The "sorted" attribute is not in the attributes list [10:14:43.0000] Yeah, .asis is nasty. [10:15:27.0000] How did we end up discussing Google's domains on public-webapps? [10:18:36.0000] ^ yes that [10:19:58.0000] Domenic_: hi. new Promise(function (resolve, reject) {...}) is the new hotness, right? no resolver object for months now, looks like? [10:20:53.0000] GPHemsley: thanks, i'll file a bug [10:21:28.0000] good morning, Whatwg! [10:21:35.0000] jorendorff: yup! [10:22:35.0000] jgraham: certainly i'm all for discussions around ideas, etc. i'm just worried that we not give people the impression that discussing something means it's going in the specs [10:23:54.0000] Hixie: That seems like an unreasonable expectation to have for pretty much anyone who has been in a technical discussion, ever, but it could be explicitly spelled out if you think there is the chance of confusion [10:24:10.0000] Hixie: I have found that managing that expectation is best done by saying "here are the things I am interested in spending time on, if you have an esoteric use case you need to find another champion or champion it yourself." [10:24:11.0000] i just don't want a repetition of [10:25:05.0000] Yeah, I guess that is a failure mode that we should avoid in the future [10:26:40.0000] But it does seem like you can deal with that by making it clear to everyone what the actual decison making process is [10:26:40.0000] and if you get the right audience many people will know anyway [10:27:45.0000] I feel like if people read the WHATWG FAQ everything would be better. It's really good. [10:27:53.0000] E.g. emphasizing how important it is to get vendors on board. [10:48:35.0000] http://blogs.adobe.com/standards/2013/10/24/forking-standards-and-document-licensing/ [10:48:45.0000] "Of course this wouldn’t legally prevent individuals and groups from making forks, but hopefully would discourage harmful misuse, while still encouraging innovation." [10:49:52.0000] Maybe we should include a helpful notice to advice against copying our work. "W3C please do not copy-and-paste from this specification. The generated confusion over the next decade (or so) is way worse than any potential upside." [10:51:44.0000] I don't even know what the W3C do anymore. [10:57:11.0000] Hixie: Why does the tbody section come before the thead section? [10:57:20.0000] cos b comes before h? [10:57:30.0000] (just guessing) [11:04:46.0000] wow this w3c streams API is getting uglier by the minute. i am feeling very un-threatened. [11:05:53.0000] at least you are actually competing :p [11:52:47.0000] Domenic_: un-threatened by chaals/et al or by Takeshi? [11:53:04.0000] i'm trying to read the technical threads and ignore the non-technical ones, but it's tricky [12:11:58.0000] jamesr__: the latter. not sure what to make of the former. [13:25:42.0000] SimonSapin: nice :D [14:11:42.0000] Domenic_: sorry, I lost context [14:18:00.0000] SimonSapin: the railroad diagrams link [14:20:52.0000] ah, yes [14:21:00.0000] thank TabAtkins for that :) [14:21:42.0000] well, fair point :). TabAtkins: thanks for the railroad diagrams thingy; it's going to make whatwg/streams awesome. [14:22:13.0000] Domenic_: No problem! I aim to please. Feel free to file bugs or requests on the Bikeshed repo. [14:22:36.0000] Or wait, you're maybe using it standalone. Well, whatever. [14:22:54.0000] If you want to use railroad diagrams inline in your spec, feel free to switch to using Bikeshed for your processing needs. ^_^ [14:23:04.0000] haha [14:23:33.0000] markdown for now, we'll see what happens later. [14:24:13.0000] Hey, Bikeshed lets you do Markdown paragraphs, at least. [14:24:40.0000] Plus: autolinking! You don't realize how much you need it until you start using it. [14:24:59.0000] Even just writing documentation in Markdown makes me miss having things autolinked. :/ [15:11:58.0000] Domenic_: is CastToPromise(%Promise%, x) observably different from Promise.resolve(x), apart from object identity? [15:17:07.0000] jorendorff: nope, except I guess potential memory usage. [15:17:13.0000] great. [15:17:53.0000] jorendorff: also of course people can override Promise.resolve, yadda yadda. [15:18:01.0000] sure, yep yep [15:20:40.0000] i should just use your testable-implementation.js and call Promise.cast already [15:21:11.0000] jorendorff: yeah, although I haven't tested it in SpiderMonkey, pull requests welcome if I rely on some V8-ism. [15:21:38.0000] i'll try it out [15:22:08.0000] if we wanted to get really serious we should be creating a shared version of this: https://github.com/domenic/promises-unwrapping/blob/master/testable-implementation.js#L448-L496 [15:30:40.0000] Domenic_: IsConstructor is implementable in JS, with direct proxies, but it's not pretty [15:31:26.0000] david bruant showed me a disgusting trick [15:31:34.0000] but i guess SpiderMonkey's direct proxies have a bug that make it equivalent to typeof x === "function", so no point 2013-11-06 [16:24:39.0000] Domenic_ (or anyone): assuming IsPromise(p) and p.then is the builtin Promise.prototype.then, does p.then(v => { throw "FAIL"; }, exc => { alert(exc); }) [16:24:49.0000] alert "FAIL" when p becomes fulfilled? [16:25:24.0000] /me would expect not, rather the derived promise would become rejected and the error handler would not be called [19:10:44.0000] jorendorff: yeah your expectation is correct. [19:10:55.0000] thanks [19:11:05.0000] to get the alert "FAIL" do p.then(v => { throw "FAIL"; }).catch(exc => { alert(exc); }) [19:11:13.0000] ooh pretty [19:11:51.0000] obviously i have not sat down and just read the spec. in my defense it is written in a strange language [19:11:54.0000] ecmaspeak [19:12:10.0000] no fault of yours, obviously [19:20:57.0000] understandable :P [23:27:25.0000] hsivonen, jgraham, I used the Bing API in https://gitorious.org/whatwg/big5/source/4a591808c055107d5a4a84d6c480db8b800ba40a:gen-urls.py [23:27:50.0000] but I don't know if it still works the same, I remember that there were going to be some changes soon after I used it [23:44:59.0000] philipj: thanks [02:10:47.0000] I just found out stuff like https://bugzilla.mozilla.org/user_profile?login=annevk%40annevk.nl exists. Seems I've been contributing to Mozilla for over a decade. [02:21:59.0000] SimonSapin: in css3-syntax you might want to acknowledge hsivonen and zcorpan for sorting out the decoding rules with me during TPAC [02:28:15.0000] annevk: nice bugzilla feature. I wonder if there's some parameter for enabling that [02:30:11.0000] seems relatively new https://bugzilla.mozilla.org/show_bug.cgi?id=859550 [02:31:16.0000] SimonSapin: you don't seem to define identifier? [02:36:09.0000] zcorpan: here’s an example of an attack vector that uses `window.name`: http://homakov.blogspot.be/2013/11/stealing-user-session-with-open.html [02:37:46.0000] matjas: is the attack supported by the specification for window.name? [02:38:40.0000] i think so. it just makes use of the fact that `var otherWindow = window.open(url, someName)` sets `otherWindow.name` to `someName` [02:39:23.0000] the thing is, `window.name` by itself isn’t the problem, it just makes it easier to write attack vectors like this [02:39:38.0000] (you still need another vulnerability somewhere) [02:40:26.0000] this probably cannot be “fixed” without breaking compat… badly [02:45:19.0000] I don't really follow that attack [02:58:38.0000] hsivonen: what caused the UTF-16 tweet? [03:03:03.0000] By the way, rwaldron pointed out yesterday that dataset is woefully undertested. [03:03:26.0000] Example
[03:08:38.0000] annevk: is the spec actually clear about that should happen in that case? [03:09:41.0000] MikeSmith: the fact that some people refuse to define attribute order makes it trickier, but the results in browsers are too weird for that to even become an issue [03:11:05.0000] ok [03:26:10.0000] annevk: nsJSON.cpp [03:46:29.0000] annevk: done, and on it [04:01:08.0000] annevk: MikeSmith: i think the spec is clear about that case (except for the order but that's the same for data-x and data-y also) [04:01:32.0000] but it seems blink has a bug [04:07:47.0000] It does look like the tests could be improved [04:09:08.0000] rwaldron should submit a PR [04:24:26.0000] annevk: looks good? http://dev.w3.org/csswg/css-syntax/#identifier [04:33:52.0000] zcorpan: what's the expected result per spec? [04:36:53.0000] MikeSmith: 'foo2' and 'foo-2' [04:39:53.0000] I see [04:40:00.0000] /me goes to read the spec [04:45:42.0000] zcorpan: I guess I'm missing something [04:46:33.0000] reading through "The algorithm for getting the list of name-value pairs" and "The algorithm for setting names to certain values", I don't seem to see anything that deals with this [04:47:21.0000] *with this case [04:47:40.0000] MikeSmith: if you step through the algorithm with an element with those attributes, the 'getting' algorithm results in that [04:48:16.0000] MikeSmith: in step (2) you take the attribute list, strip off 'data-', so you have ['foo2', 'foo-2'] [04:48:50.0000] MikeSmith: step (3) talks about modifying - followed by ascii *letter*, which doesn't apply here, so it's no-op [04:49:29.0000] ah [04:59:11.0000] sometimes testing would be easier if I was literate in a non-windows-1252 language [05:01:57.0000] hsivonen: like klingon? [05:02:30.0000] zcorpan: I was thinking of something like Polish [05:02:38.0000] That would be a non-unicode language [05:02:50.0000] (er Klingon, not Polish) [05:05:18.0000] SimonSapin: seems okay [05:06:21.0000] SimonSapin: not entirely clear to me if it's a syntax thing or a model thing [05:06:32.0000] SimonSapin: but maybe more detailed reading would reveal that [05:06:36.0000] syntax [05:06:46.0000] the model has [05:11:53.0000] jgraham: but still a non-windows-1252 language [05:13:32.0000] The problem here is that windows-1252 itself is not a language. [05:13:46.0000] And also that you are all pedants. [05:17:21.0000] zcorpan: so the problem is that WebKit/Blink developers did not read the spec (quelle surprise!) [05:17:30.0000] zcorpan: test . in LDV [05:18:06.0000] rwaldron: ^^ [05:18:40.0000] LDV? [05:20:33.0000] annevk: it's not a problem that windows-1252 is not a language. you can say "funny language" or "non-funny language" without "funny" itself being a language [05:20:38.0000] zcorpan: Live DOM Viewer [05:20:56.0000] ah. yeah i noticed. did someone file a bug already? [05:21:12.0000] don't think so [05:21:31.0000] i can file it [05:23:00.0000] found https://code.google.com/p/chromium/issues/detail?id=171175 [05:25:17.0000] seems like safari 6 is a bit different, data-2 works ok [05:26:37.0000] jgraham: You wouldn't happen to remember if I borrowed The Bell Jar off you years ago? I definitely read it while in Sweden, but I can't remember whether I bought it or not. Seems a waste to go back to my parent's for it if it isn't there :P [05:27:32.0000] gsnedders: I know I own the Bell Jar at least [05:27:36.0000] So you might have done [05:30:33.0000] Oh, one can get it on Google Play for under £2. That's surprisingly reasonable. [05:36:32.0000] filed https://bugs.webkit.org/show_bug.cgi?id=123890 [05:37:46.0000] jgraham: when are you arriving in shenzhen? [05:38:14.0000] zcorpan: 14:10 on Fri. [05:38:22.0000] Or that's HKG [05:38:44.0000] So I guess more like 18:00 by the time we actually arrive [05:39:24.0000] 08 Nov 14:40 is when i arrive [05:39:46.0000] At Shenzen of at HKG? [05:41:07.0000] shenzen [05:41:28.0000] i actually go via beijing [05:41:36.0000] Oh, OK [05:42:06.0000] Flights to HKG were direct, but I'm not sure it's worth it given the bus time [05:42:19.0000] Bus time? [05:42:31.0000] annevk: The bus takes 2.5 hours [05:42:41.0000] Ffffuu [05:42:42.0000] From HKG to Shenzhen [05:43:03.0000] Well that's going to be pleasant [05:43:11.0000] When I vaguely looked it seemed that Shenzhen airport was almost as distant? [05:43:50.0000] But idk, I can't claim to have looked that close. [05:44:19.0000] gsnedders: Google says 53 minutes [05:45:48.0000] (whereas for HKG, it says "could not calculate directions") [05:46:13.0000] i was planning on taking a taxi from the airport [05:47:19.0000] I was planning to wait till next year. Hopefully find out /where/ even if not exactly when during TPAC this year. [05:48:04.0000] And I can't make bing maps work at all [05:48:26.0000] Now it's broken the normal France/US rotation it's anybody's guess where it'll be. [05:48:57.0000] gsnedders: I thought someone said the US [05:49:30.0000] karlcow: Use-case: to determine whether a request is for a script, image, etc. based on UA/Accept combination, to do content-type sniffing in a proxy identically to the end browser. [05:49:59.0000] jgraham: Well, I'll probably go. [05:50:13.0000] gsnedders: https://etherpad.mozilla.org/uadetection-usecases [05:50:49.0000] karlcow: Do you just want people to arbitrarily add to that? [05:50:55.0000] yes [05:50:59.0000] karlcow: I was assuming you were doing some sort of moderation :) [05:51:03.0000] not at all. [05:51:14.0000] all of this has been contributed by everyone [05:51:27.0000] I will try to trim down/summarize at the end of this week [05:52:02.0000] I didn't do moderation so that people express what they think it is useful for. [05:52:27.0000] karlcow: okay, added [05:52:57.0000] And then we can see and think if they are things which might be improved in the platform. So far it looks a bit depressing for evolving the platform. ;) [05:53:30.0000] Blame Jonas for giving me the idea of asking for use cases [05:53:43.0000] Always the Swedes causing the problems! [05:54:29.0000] gsnedders: Thanks for adding another item [05:54:52.0000] No problem. [06:08:25.0000] SimonSapin: "This is currently U+10FFFF" seems somewhat misleading [06:08:42.0000] SimonSapin: given utf-16 I don't think that'll be going anywhere [06:25:20.0000] annevk: Might you want to use the phrase "willful violation" here? http://encoding.spec.whatwg.org/#concept-encoding-get [06:26:14.0000] I just use violation for that [06:28:57.0000] IMO: "violation" makes you sound naughty; "willful violation" makes you sound knowledgeable [06:31:09.0000] feel free to file a bug if it bothers you [06:31:33.0000] I think the plan is for Unicode to be fixed eventually so either way this should disappear [06:31:55.0000] alright; I suppose this is just further discussion for the future style guide :) [06:32:26.0000] /me wonders why he hasn't already created a wiki page for that [06:32:35.0000] do it! [07:01:57.0000] PSA: I have begun grouping meta spec documents as subpages under http://wiki.whatwg.org/wiki/Specs [07:02:22.0000] (Your favorite documents may have been moved; there are redirects in place to get you to their new location.) [07:02:50.0000] I have also begun the style guide here: http://wiki.whatwg.org/wiki/Specs/style [07:02:57.0000] annevk: CC ^ [07:06:14.0000] nice, very helpful. [07:12:05.0000] We can move the subpages to more verbose names, if that's more helpful, but the existence of "Specs" as opposed to "Specifications" suggests we like short names [07:12:23.0000] the situation with the UTF-16, UTF-16BE and UTF-16LE labels between Gecko, Unicode and the Encoding Standard is annoying [07:14:20.0000] current status: http://w3cmemes.tumblr.com/post/34093102149/kirk-is-not-fond-of-the-ascii-incompatible [07:18:02.0000] GPHemsley: Specs/style is about CSS, right? ;) [07:18:14.0000] ah, hmm [07:20:50.0000] SimonSapin: it also covers XSL-FO [07:21:07.0000] >_> [07:21:12.0000] darobin: of course [07:21:37.0000] SimonSapin: I'll have to think on it more; I'll probably add more hierarchy, too, so I don't want go moving everything around until I've figured that out first. [07:21:49.0000] moving everything around again, that is [07:21:50.0000] GPHemsley: more like <_/> [07:23:13.0000] yup [07:23:44.0000] GPHemsley: I was joking, but if you want to change it Specs/Style_guide would work [07:24:01.0000] SimonSapin: In my defense, it will probably eventually contain tips on what classes and styles to use ;) [07:24:25.0000] Yeah, I'll have to ponder [07:33:21.0000] annevk: I agree. Fixed. [07:34:42.0000] TabAtkins: http://www.xanthir.com/b4Su0 "on an iPhone with a 320px viewport…" is that device or CSS px? [07:56:25.0000] annevk: btw, in case you're interested, https://github.com/darobin/redirect-testing [07:56:59.0000] it's just a rehash of an old hack I had used a long time ago when I was trying to debug a problem with a project that involved redirects on DELETE [08:08:13.0000] Hixie: Thoughts? :) http://wiki.whatwg.org/wiki/Specs/style#Spelling [08:22:18.0000] GPHemsley, specs should be in en-GB-x-hixie, obviously ;) [08:22:51.0000] Ms2ger: I'm hoping we can merge en-GB-x-hixie and en-US-x-ghemsley into a single standard. [08:24:08.0000] That seems as pointless as specifying that things must be en-gb or en-us. As long as it is clear what is meant, it really doesn't matter what precise spelling you use [08:27:13.0000] , please [08:29:11.0000] jgraham: it does matter for technical terms; for the rest I agree (though consistency within a given document is a plus) [08:30:45.0000] Ms2ger: :p [08:31:47.0000] True story: we had a first year university computer skills course where you lost marks for not spelling "font" "fount" [08:32:34.0000] darobin: I don't know what you mean by "technical terms" in this context [08:32:58.0000] If you mean that APIs should aim to be consistent, that makes sense [08:34:01.0000] The "dialog" vs. "dialogue" seems just wrong... dialogue is for speech, dialog is for computers. In my understanding. [08:34:27.0000] "Open a dialog" means "pop up a dialog box"; "open a dialogue" means "start negotations" [08:34:59.0000] Yes, but I use it like that in all contexts, not just in specs [08:35:34.0000] ("dialog" is the computer thing, "dialouge" is talking) [08:35:58.0000] Right but "Use "dialogue" for the noun and "dialog" for all other parts of speech." seems incorrect. [08:36:11.0000] E.g. you wouldn't say "open a dialogue" when you mean "pop up a dialog box" [08:36:48.0000] Oh, right that was a specific complaint about that page [08:37:11.0000] That is subsumed by my rather broader complaint "that page shouldn't exist" [08:37:27.0000] haha [08:39:24.0000] jgraham: I meant APIs but also element, property, etc. names, as well as [08:39:53.0000] it gets unwieldy if you have 'color' and colour processing [08:39:58.0000] which is where one leaks into the other [08:40:03.0000] Sure [08:40:07.0000] Consistency is good [08:40:41.0000] which is why people tend to settle on en-something-specific as that's simpler to explain and navigate [08:40:44.0000] "Spelling should be consistent as defensible as English" [08:57:36.0000] When you read a 2-dimensional table, do you read the column (top) headers first or the row (left) headers first? [09:05:37.0000] /me reads the shortest side first [09:07:31.0000] /me reads forwards, backwards and then by picking sections at random and following all the cross references [09:08:09.0000] jgraham++ [09:46:52.0000] SteveF: i take it from your e-mail that it's ok if i keep posting to public-html about how to send feedback on the whatwg spec? [09:49:52.0000] good morning, Whatwg! [09:54:53.0000] darobin, jgraham, Ms2ger: If I said "Use the following term when A and B:", which (A or B) would be the column header and which would be the row header? [10:00:05.0000] GPHemsley: what's the context here? [10:00:22.0000] Hixie: For the reading order? [10:00:57.0000] i dunno, i've no idea what you're asking about, but was hoping maybe it was something i could help with since nobody else seems to be around :-) [10:01:18.0000] heh, thanks [10:01:37.0000] Hixie: It relates back to my question earlier: When you read a 2-dimensional table, do you read the column (top) headers first or the row (left) headers first? [10:01:56.0000] ah [10:02:01.0000] i dunno, i just kinda look at the whole table [10:02:29.0000] alright [10:02:34.0000] do you have an example so i can check what i do? [10:03:23.0000] the easiest example (though not the best test case) is the multiplication table: https://en.wikipedia.org/wiki/Multiplication_table [10:04:06.0000] the "in abstract algebra" section is the clearest there: https://en.wikipedia.org/wiki/Multiplication_table#In_abstract_algebra [10:04:06.0000] ah yeah i definitely don't read either first on that table [10:04:34.0000] hmm, alright, well, I'll just go with my gut and it can always be changed later [10:04:35.0000] but that's because they're numbers that i can recognise in parallel in my peripheral vision [10:04:39.0000] right [10:05:13.0000] look like with more complex tables i look at the first row's header, then the first column's, then the second row's, then the second column's, then the data for those, then continue like that [10:06:03.0000] kinda scanning diagonally from the top left [10:06:08.0000] is this for a table in a spec? [10:06:26.0000] I just don't have an example at hand that uses "and" instead of "x" [10:06:37.0000] sort of [10:06:45.0000] it's a meta spec: the spec-writing style guide :) [10:06:49.0000] aah [10:07:05.0000] you'll see in a moment [10:15:26.0000] GPHemsley: fwiw, in http://dev.w3.org/csswg/css-syntax/#serialization-tables the table is for consecutive pairs of tokens. Rows are first tokens of the pair, columns second token [10:15:28.0000] MikeSmith: this is the script that used to work and now doesn't, if you have any insight http://www.whatwg.org/specs/web-apps/current-work/update-bug.pl [10:15:35.0000] MikeSmith: i cannot work out why it doesn't work [10:16:05.0000] hixie: if the same situation arises please go ahead, you are a member of the html working group and I don't make up the rules for any mailing list [10:16:05.0000] SimonSapin: Hmm... maybe that does make more sense. [10:16:24.0000] (I was going the other way) [10:16:28.0000] GPHemsley: when looking up a given pair, column headers are to the right of row headers, so that matches the left-to-right direction of english [10:16:38.0000] yeah [10:16:54.0000] though you could move row headers to the right [10:16:56.0000] I was prioritizing top/bottom over left/right [10:16:56.0000] SteveF: you might want to ask your colleagues what they would think of such behaviour [10:17:08.0000] because my intersection is "and" [10:17:11.0000] SimonSapin: ^ [10:19:00.0000] GPHemsley: could you put what you have so far online? [10:19:13.0000] SimonSapin: I was going to change the order first :P [10:19:41.0000] I have a hard time visualizing with just the description [10:20:54.0000] hixie: 'such behaviour'? I don't think that if anybody mailed public html referencing the whatwg spec and talking something that differs that any one would mind you or anyone pointing them in the right direction to provide feedback darobin and mikesmith are regulars here I am sure they could disabuse me if I am wrong [10:21:00.0000] SimonSapin: I'm realizing now that your way also makes the wikimarkup easier to read [10:21:10.0000] SimonSapin: So I think I've got my answer :) [10:21:31.0000] uh, ok [10:21:49.0000] SimonSapin: But I'll get it up in a sec for you to review ;) [10:25:23.0000] Hixie, SimonSapin: http://wiki.whatwg.org/wiki/Specs/style#Collections_of_values [10:26:50.0000] GPHemsley: well, "and" is commutative so… [10:27:00.0000] true [10:27:10.0000] but I feel like there's an implied order [10:27:30.0000] and, actually, linguistic "and" actually does have an implied order [10:28:00.0000] nonetheless, I think we solved the formatting part; now we can discuss the substance [10:28:06.0000] I mean these two tables work just as well both ways [10:29:15.0000] Hixie, SimonSapin: Feedback welcome on the actual terminology ;) [10:29:28.0000] to me, map and dictionary mean the same [10:29:42.0000] yeah, I thought that might be a problem [10:29:51.0000] but "more than one value per key" is a multidict [10:30:14.0000] my thinking was that a map is one-to-one, but a literary dictionary can have multiple definitions for a single term [10:30:36.0000] "strict dictionary" is just a map that you’re looking at backwards [10:30:48.0000] hm yeah, the top left cell there confuses me :-) [10:31:03.0000] i read it first :-) [10:31:09.0000] heh [10:31:18.0000] that was probably part of the problem I had [10:31:51.0000] SimonSapin: You think "reverse map" or "inverse map" would be better? [10:31:55.0000] also, i feel that that entire section can be replaced with "define your terms, and try to use terms according to their widely accepted meaning where an appropriate term exists" [10:32:35.0000] Hixie: The idea here is to assist in choosing one where multiple possibilities exist. ;) [10:32:46.0000] http://logbot.glob.com.au/?c=freenode%23whatwg&s=30+May+2013&e=30+May+2013&h=style+guide#c798281 [10:33:33.0000] SimonSapin: I'm inclined to like "inverse map"; do you have any objections? [10:34:46.0000] sounds fine [10:37:23.0000] Hixie: Oh, also, this style guide doubles as and/or supports the "common definitions" document that I've been asking about [10:40:00.0000] SimonSapin: Wikipedia uses the term "multimap"; do you have any opinion on that? [10:40:50.0000] SimonSapin: There is also "multivalued function". [10:41:32.0000] function sounds like code rather than data [10:41:36.0000] multipmap is fine [10:44:25.0000] /me is still partial to "dictionary", despite the potential for confusion... [10:45:09.0000] "Let x be a multimap of florgs..." [10:45:10.0000] "dictionary" definitely has one value per key in Python [10:45:17.0000] yeah... :/ [10:45:42.0000] GPHemsley: multimap if you want one-to-many, definitely [10:45:57.0000] This leaves no place for "dictionary", then [10:46:04.0000] Are we OK with that? [10:46:59.0000] /me is leaning yes [10:47:09.0000] too much room for confusion, actually [10:47:20.0000] GPHemsley: No "dictionary" where? [10:47:27.0000] http://wiki.whatwg.org/wiki/Specs/style#Collections_of_values [10:47:44.0000] gsnedders: In terminology to use to writing specs. [10:47:49.0000] dictionary is the same as map, but JS seems set on using Map [10:48:05.0000] SimonSapin: Well, this is intended to be use in prose. [10:48:08.0000] +D [10:48:11.0000] -D+d [10:48:18.0000] Then, yes, I am fine with this. Possibly with "dictionary" and "map" being synonymous as SimonSapin says. [10:48:38.0000] But language typically evolves to remove true synonyms, so we can probably just have one :P [10:48:39.0000] Hixie: will take a look at the script after I get some sleep [10:49:10.0000] Channel topic notwithstanding, a "dictionary" in the Real World™ is one-to-many. [10:49:36.0000] Which is why I'm OK with not using it [10:50:00.0000] GPHemsley: Dependences on the sense of dictionary. :) [10:50:14.0000] What word was that? Depends. [10:50:29.0000] gsnedders: What do you have in mind? [10:50:39.0000] GPHemsley: Do we need to special-case the "only one key per value" case, BTW? [10:51:34.0000] GPHemsley: Because both of those terms just confuse me without thinking about them. [10:51:45.0000] gsnedders: Keep in mind the leading part: "For a keyed collection of values, use the following term when there *can be*…" [10:52:39.0000] If you want a map that is deliberately bidirectional, then you have it [10:52:51.0000] " Whenever 'dg' represents the "soft" /d͡ʒ/ sound, it should be followed by an 'e' or an 'i', to ensure it is not confused with the "hard" /dɡ/ sounds. " is a shit justification, though. You can apply that to plenty of other things in American English spelling. [10:52:54.0000] likewise with an inverse map [10:53:11.0000] (No offense meant, of course) [10:53:22.0000] gsnedders: Feel free to; this was me documenting en-US-x-ghemsley ;) [10:53:49.0000] GPHemsley: Hey, I'd rather we just wrote specs in en-gb-oed ;P [10:53:51.0000] which, as I mentioned earlier, I am hoping to be able to merge with en-GB-x-hixie [10:54:00.0000] nah, too many u's [10:54:20.0000] Also it typically confuses the hell out of people as to what uses -ise and what uses -ize. [10:54:29.0000] (Hint: it depends on etymology by and large) [10:54:46.0000] and I prefer to reserve '-re' for /rə/ [10:55:10.0000] genre, cadre, macabre [10:56:46.0000] gsnedders: We're a reality-based standards body: If you can streamline things, do it; if you can't, it's OK to deal with the legacy. [10:56:49.0000] ;) [10:57:21.0000] GPHemsley: Hey, perscriptive dictionary writers managed to do a lot for making en-us and en-gb distinct! (On both sides, that is.) [10:57:43.0000] And now we shall attempt to undo them [10:59:05.0000] Does anyone want to weigh in on the relationship between objects, classes, functions, and methods? [10:59:52.0000] Why distinguish functions and methods? [11:07:19.0000] GPHemsley: But a function is a morphism between two sets. Obviously! :P [11:14:02.0000] MikeSmith: nevermind dude, figured it out!! yay [11:14:05.0000] only took me like a week [11:44:06.0000] gsnedders: Why, indeed. That's partly what the discussion would revolve around. (And are classes not objects, in some sense?) [11:52:10.0000] GPHemsley: Classes are formed of a function and its prototype property ("prototype", not [[Prototype]]), I'd say. [11:53:54.0000] hmm... the Wikipedia article on "method" does not even mention "function": https://en.wikipedia.org/wiki/Method_%28computer_programming%29 [11:55:22.0000] but apparently "function" redirects to "subroutine", which is linked to by "method": https://en.wikipedia.org/wiki/Function_%28computer_science%29 https://en.wikipedia.org/wiki/Subroutine [11:55:32.0000] "In different programming languages a subroutine may be called a procedure, a function, a routine, a method, or a subprogram." interestingly [11:56:21.0000] yeah [12:04:33.0000] SimonSapin: CSS px. I don't use the px unit for device pixels. [12:05:02.0000] yeah, after reading again that made sense [12:32:35.0000] Hixie, annevk, et al.: Feedback welcome on the new style guide: http://wiki.whatwg.org/wiki/Specs/style [12:33:24.0000] it's missing something along the lines of "feel free to ignore any of this in the pursuit of a better spec" :-) [12:33:55.0000] and yeah, i really do just read the top left cell first [12:33:57.0000] good to know [12:34:18.0000] "When writing a spec, it is suggested that you adhere to the following guidelines." – That deliberately has lots of leeway [12:34:32.0000] btw the key part of the "violation" vs "willful violation" thing isn't so much teh words, it's that you document the deviations [12:34:39.0000] and include rationale [12:34:49.0000] GPHemsley: the dialog vs. dialogue guidance is just wrong. A dialog is the computer thing, a dialogue is a conversation. [12:35:35.0000] Domenic_: By "a dialog", do you mean "a dialog box"? Because otherwise I'm not sure what "a dialog" is. [12:35:43.0000] Domenic_: that's how i use it too, but is that real? [12:35:48.0000] GPHemsley: exactly. As in "pop up a dialog" [12:35:49.0000] (And, in which case, the guideline stands) [12:36:00.0000] Domenic_: i assumed reality just had dialoge as GB and dialog as US [12:36:17.0000] /me uses "color" for the computer thing and "colour" for the perceived thing, too, but that's clearly just me being crazy [12:36:23.0000] :) [12:36:23.0000] GPHemsley: no the guideline also fails for "let's open a dialogue" (start a conversation) vs. "let's open this dialog" (show the popup) [12:36:46.0000] for me, there is no "dialog", there is only "dialog box" [12:36:55.0000] also the "acknowledgments" thing is just a typo i never noticed [12:37:00.0000] ? [12:38:17.0000] It's still an adjective to me, even if the "box" part is implied. But maybe that's just me. [12:38:33.0000] yeah most UI frameworks seem to use it as a noun. either that or they imply like crazy. [12:38:42.0000] perhaps [12:38:50.0000] I imagine there are other common english terms that used to be adjectives but people dropped the noun [12:39:03.0000] but either way, you're not "violating" the guideline in my eyes [12:39:08.0000] so it doesn't change anything :P [12:39:11.0000] /me has been tempted to move back to the british spellings in the prose now that he's no longer anchored to w3c pubrules, btw [12:39:24.0000] Well, I think the guideline is pretty misleading [12:39:25.0000] /me wonders how to untempt Hixie [12:39:47.0000] E.g. if I want to "open a dialogue about promises" the guideline would say "open a dialog about promises" which invokes images of something on my screen. [12:39:57.0000] well i just checked in a change that goes the other way (fixing that acknowledgements typo) [12:40:20.0000] "only keep '-ue' for the *definitive* noun" == the conversation, e.g. [12:40:40.0000] but it's something that comes up every now and then when i notice that i've made yet another series of typos [12:40:41.0000] Domenic_: Wait, what? [12:40:53.0000] or when i forget whether i should be saying "-ize" or "-ise" [12:41:14.0000] Hixie: I'm advocating for en-US-x-ghemsley, not en-US. ;) [12:41:26.0000] btw, even when we were talking about an element for dialogues, we still spelt it [12:41:30.0000] So "acknowledgements" is not "the other way" [12:41:38.0000] Hixie: You should be using -ize for words of Latinized Greek origin, and -ise for words from French. Obviously! [12:41:48.0000] lordy [12:42:30.0000] Hixie: "Consult Wikipedia's Manual of Style for spelling for assistance." http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Spelling [12:42:37.0000] (Until the mid-19th cent. this was the convention in the UK. And the OED still recommends it.) [12:42:53.0000] /me just uses wiktionary [12:42:58.0000] that also works [12:43:13.0000] I like their listing of "weblogue" [12:43:50.0000] it doesn't actually have its own entry, but it's listed in a box of other "-ogue" words [12:44:30.0000] Domenic_: Can you clarify why you believe the guideline says that you can't say "open a dialogue about promises"? [12:45:07.0000] GPHemsley: Domenic_'s point is that both "open a dialogue about promises" and "open a dialog about promises" are correct, just in different contexts [12:45:19.0000] And I concur [12:45:32.0000] GPHemsley: the first means "start a conversation on the topic of promises", the second means "display a window regarding promises" [12:45:40.0000] I agree [12:46:01.0000] in both cases it's a noun [12:46:10.0000] technically, yes [12:46:26.0000] but I added "definitive" in there, because really it's "a dialog box" [12:46:46.0000] we're probably splitting hairs here [12:47:13.0000] I think it's completely the wrong dimension [12:47:21.0000] The dimension is computer box thing vs. conversation [12:47:27.0000] not noun vs. verb [12:47:39.0000] i don't know what you mean by "definitive noun" [12:47:41.0000] Hixie: Incidentally, didn't realize what you meant about r8257; I disagree with that change. [12:48:02.0000] i figured that you disagree :-) [12:48:19.0000] Domenic_: Well, for one thing, the guideline is not just for "dialog(ue)"; the description elaborates. [12:48:54.0000] Hixie: That perhaps is the issue here. Maybe I can clarify it. [12:50:58.0000] if you have a box in which people climb to talk about things, that's a "dialogue box" [12:51:22.0000] argh [12:51:25.0000] (per my and Domenic_'s rather perverse opinions of english) [12:52:08.0000] GPHemsley: just remove the "and"? [12:52:09.0000] after weeks of using this box, people will just say "go to the dialogue to talk about it!" [12:52:33.0000] but they'll really mean "the dialogue box" [12:52:43.0000] /me nods [12:52:45.0000] zcorpan: I'd prefer to maintain some semblance of a complete sentence. :) [12:53:11.0000] in the dialogue box, there's a computer, which shows a dialog box to ask you what you're talking about so it can make a transcript [12:53:15.0000] it's the dialogue box dialog box [12:53:23.0000] Hixie, Domenic_: I'm hearing you, and I'm not disagreeing. [12:53:42.0000] /me slaps Hixie with a fish [12:53:48.0000] trout, specifically [12:53:51.0000] later, people made a separate box just to talk about the dialogue box dialog box. that is the dialogue box dialog box dialogue box. [12:54:03.0000] /me eats the trout [12:54:09.0000] i should probably go get lunch. [12:54:10.0000] it sounds like you're standing on a monologue box [12:54:11.0000] GPHemsley: they're table headers, table headers aren't sentences. the 'and' doesn't add anything useful visually, it's just confusing, and i imagine it's even more confusing for non-visual users [12:54:18.0000] GPHemsley: hah [12:54:35.0000] bbiab [12:55:14.0000] zcorpan: The sentence begins in the table caption, though I don't know what effect that has on non-visual users. [12:56:43.0000] GPHemsley: the caption is fine and non-confusing [12:56:52.0000] Domenic_, Hixie: "the dialog" is an adjectival noun: https://en.wikipedia.org/wiki/Adjectival_noun_%28noun%29 [12:59:02.0000] /me misread that as adverbial noun and got confused [13:01:05.0000] Domenic_, Hixie: Is this clearer? http://wiki.whatwg.org/wiki/Specs/style#Spelling [13:01:19.0000] GPHemsley: if you really want to have a complete sentence, it's better to do "uniqueness doesn't matter, and..." [13:01:59.0000] GPHemsley: How it adjectival anyway? Describing a box? [13:02:14.0000] GPHemsley: What about "can we dialogue about boxes on the screen"? [13:02:30.0000] zcorpan: "For a keyless collection of values, use the following term when [order doesn't matter] [and] [uniqueness doesn't matter]: unordered list'" [13:02:35.0000] that is a verb but "all other parts of speech" implies you want it spelled "dialog" [13:02:43.0000] +' [13:02:58.0000] Domenic_: It's a verbalised noun! [13:02:59.0000] Domenic_: What is a verb? [13:03:20.0000] GPHemsley: in "can we dialogue about boxes on the screen" "dialogue" is a verb [13:04:02.0000] GPHemsley: Can we not just go for the crude "use dialogue for the non-technical sense (conversation) and dialog for the technical sense (a box on a computer screen)"? [13:04:29.0000] gsnedders: At this point, I'm ready to just remove it altogether and put it back in the en-US-x-ghemsley vault. [13:04:49.0000] GPHemsley: yes, i understand how it's intended. but when first reading the table, i went "For a keyless collection of values, use the following term when... and...wat???" [13:04:57.0000] GPHemsley: It's not really needed, because I think most en-gb and en-us dictionaries make the distinction, no? [13:05:13.0000] zcorpan: Would it help if I used "&" instead? [13:05:21.0000] GPHemsley: don't think so [13:05:43.0000] gsnedders: Yeah, I was trying to generalize it to all "-log(ue)" words. [13:05:44.0000] GPHemsley: if the cell was empty, i'd read it as it was intended and just mentally fill in the 'and' [13:06:03.0000] zcorpan: OK; maybe I should put "… and …"? [13:06:13.0000] GPHemsley: if it's non-empty, i'd read it first and wonder what to make of it :-) [13:06:45.0000] GPHemsley: Yeah, I get that. Monolog looks wrong to me, catalog is very much en-us to me (without the technical distinction), etc. [13:06:51.0000] GPHemsley: So I'd drop the rest. :P [13:07:33.0000] Domenic_, gsnedders: The rule is gone. Be careful what you wish for. ;) [13:10:22.0000] Lazy IRC: Are JS extensions for Firefox etc. .xpi too, or do they have a different extension? [13:10:27.0000] zcorpan: Better? http://wiki.whatwg.org/wiki/Specs/style#Collections_of_values [13:11:13.0000] GPHemsley: yes [13:11:31.0000] gsnedders, yeah [13:13:26.0000] Ms2ger: Is there any way to tell them apart on the adds on site? [13:13:36.0000] No idea [13:13:45.0000] Well you're only a bit useful! [13:14:23.0000] tru dat [13:24:26.0000] :D [13:44:03.0000] heycam|away: yt? [13:44:34.0000] is there something somewhere that describes WebIDL's Foo[] vs sequence vs a custom [ArrayClass] interface? [13:44:41.0000] i get confused about this every time [13:50:15.0000] what is "the value of that dictionary member" when the member's type is sequence ? [13:54:57.0000] and same question, for Foo[]... [13:55:05.0000] seems the former is a new Array [13:55:10.0000] but the latter could be the same Array? [13:55:16.0000] but it says dictionaries always copy... [13:55:17.0000] i'm confused [14:06:14.0000] Hixie, hi [14:06:55.0000] Hixie, Foo[] means "a special platform object that behaves kind of like an array but which can live-ly reflect elements and/or be read only or fixed length" [14:07:05.0000] sequence as a return type basically means a JS Array [14:07:20.0000] as an arg, means it accepts a JS Array, or something that feels like one [14:07:35.0000] it seemed from the webidl spec that on an attribute, Foo[] meant just a regular Array [14:07:45.0000] sequence<> also means things will be copied out of the Array (or array-ish thing) you pass in, and a reference to that object won't be held on to [14:07:50.0000] Hixie, no that's not right [14:07:56.0000] the situation with these types is terribly [14:07:57.0000] sorry [14:08:05.0000] *terrible [14:08:07.0000] (context is https://www.w3.org/Bugs/Public/show_bug.cgi?id=23176 ) [14:08:19.0000] [ArrayClass] only means "prototype is Array.prototype, not Object.prototype" [14:08:54.0000] I think mostly everyone dislikes Foo[] objects [14:08:58.0000] because they're not-quite-Arrays [14:09:02.0000] so a readonly attribute Foo[] foo; returns an immutable object? as in, can't change their contents? [14:09:11.0000] not an Array? [14:09:12.0000] you can define it so, or not [14:09:16.0000] oh [14:09:17.0000] but it's not n Array object [14:09:32.0000] so, right now i have no prose hook here to define anything [14:09:42.0000] it's in an Event [14:10:08.0000] the only prose is DOM's "If there is an eventInitDict argument then for each dictionary member defined therein find the attribute on event whose identifier matches the key of the dictionary member and then set the attribute to the value of that dictionary member. [14:10:12.0000] " [14:10:21.0000] the member in the dictionary is a sequence [14:10:36.0000] and the FooEvent interface member is a readonly attribute Foo[] [14:10:42.0000] oh, interesting [14:10:46.0000] so what does that mean? [14:10:56.0000] so despite the fact that the types aren't identical, I think that should kind of work [14:11:00.0000] if you blur your eyes a bit :) [14:11:18.0000] taking a JS object that is a Foo[], and converting it to IDL sequence type, will do the right thing [14:11:33.0000] since the Foo[] object will feel like an array (it'll have 0, 1, 2, length properties) [14:11:36.0000] you mean the other way around? [14:11:42.0000] ah oh [14:11:54.0000] in that case, let me check ;) [14:12:16.0000] i'm trying to figure out if new FooEvent({foo: [foo1, foo2]}).foo is mutable (as in, can have items added or removed, not as in frozen) [14:12:25.0000] (i want it immutable if possible) [14:12:54.0000] ok so yes, JS-to-IDL-Foo[]-type conversions will do the right thing there... [14:13:06.0000] see the conversion steps in http://heycam.github.io/webidl/#es-array [14:13:17.0000] it will "Return a new fixed length array ..." [14:13:29.0000] won't be read only tho [14:13:52.0000] so perhaps the right thing is to have the DOM spec allow you to hook in to that dictionary-to-event-init algorithm [14:14:00.0000] to give custom behaviour for a particular dictionary member [14:14:36.0000] GPHemsley: Oxford comma or gtfo [14:15:13.0000] Hixie, ontoggle seems like a useful addition for
btw [14:15:16.0000] Hixie: I like your current plan of just returning a normal array for .ports, FWIW. [14:16:30.0000] heycam: what's the use case for fixed-length-but-mutable arrays? [14:16:40.0000] /me shrugs [14:16:41.0000] Domenic_: apparently that's not quite what i'm returning [14:17:02.0000] heycam: well, if there isn't one, and nobody uses it, we can do away with it and make this readonly without requiring complex magic for this one case :-) [14:17:16.0000] Hixie, maybe ;) [14:17:24.0000] Hixie: oh hmm I see heycam didn't tell us what sequence does for attributes. [14:17:36.0000] Domenic_: on attributes it does nothing, it's not valid [14:17:38.0000] Domenic_, the answer in you can't use it for attributes :) [14:17:40.0000] *is [14:17:44.0000] welp [14:17:47.0000] Domenic_: (it would return a new object each time, which is hecka confusing) [14:17:57.0000] is it possible to have attributes that are arrays in WebIDL? [14:18:02.0000] is it possible to have attributes that are arrays in WebIDL? [14:18:06.0000] it feels like we want a way to represent just a "reference to an Array object" in Web IDL tho [14:18:17.0000] Domenic_, so you can, but currently you have to write the type as "object" [14:18:31.0000] oh fun [14:18:38.0000] adding Array is easy though [14:18:54.0000] we should just do that [14:19:05.0000] so we have four array-ish types in the spec ;) [14:19:08.0000] that's orthogonal to this, though, right? [14:19:18.0000] (see also the Transferable issue) [14:19:21.0000] it is unless you want to change the message port array design to use actual Array objects [14:19:25.0000] (relevant: https://www.w3.org/Bugs/Public/show_bug.cgi?id=23682) [14:19:36.0000] which I think is what you want to do [14:19:43.0000] since most people want to kill Foo[] types, and the message port arrays are one of the only uses of them... [14:20:08.0000] Domenic_, I had not read that bug yet [14:20:56.0000] heycam: ah well that would be fine too i guess [14:21:00.0000] heycam: Plz make a fifth array type that's just the other four mashed together, and the browser guesses which one you meant. [14:21:04.0000] heycam: bz wants an immutable object though [14:21:12.0000] in that case freeze it [14:21:12.0000] TabAtkins: he has that already! a union :-) [14:21:26.0000] (except that you can't union all those types together) [14:21:39.0000] i think there is some general consensus that frozen arrays are good for at least some use cases [14:21:54.0000] yeah I think a frozen array makes sense for the message port array [14:21:55.0000] so heycam if you're adding array anyway maybe add some kind of way to make them frozen? [14:22:21.0000] Domenic_, yeah I'll check out sicking's suggestions there [14:22:28.0000] would be great if i could just say [Frozen] Array :-) [14:22:45.0000] the sad thing about using Array in the IDL is you lose the type annotation [14:22:51.0000] I think the [SameObject] that sicking proposes is not all that what you want [14:22:59.0000] Foo[] could just mean an Array on the way out and a type-checked Array on the way in [14:23:00.0000] yes it should be the same object returned all the time, but also you need the values to be frozen [14:23:07.0000] maybe the "readonly" is meant to imply that tho [14:23:26.0000] i don't want the MessagePort objects themselves frozen... [14:23:34.0000] Hixie, no but the values of the array indexes [14:23:44.0000] ah [14:23:44.0000] [24~right [14:23:49.0000] it would be cool to use the word "frozen" instead of "readonly" since the former means something. [14:23:54.0000] ha [14:24:19.0000] yeah readonly also means something, which is "user can't change the value of the property" [14:24:26.0000] right yeah "only has a getter" [14:24:52.0000] so i am hearing `readonly frozen Array ports` [14:25:04.0000] This works for me. [14:25:11.0000] And then throw away everything else. [14:25:17.0000] oh wait i forgot `readonly frozen [SameObject] Array ports` [14:26:06.0000] "attribute" [14:26:22.0000] whyyyyyyy make the hurting stop [14:26:25.0000] :) [14:27:10.0000] i'd prefer "readonly attribute [Frozen] MessagePort[] ports;" [14:27:14.0000] but i don't know what SameObject means [14:27:29.0000] I think it prevents the b.ports !== b.ports problem [14:27:31.0000] (believe it or not I did try and think of all the different use cases for combinations of arrays/arraylikes/mutable/immutable/length-changeable/etc. when coming up with what's in the spec at the moment) [14:27:48.0000] might have been before frozen things were around tho [14:27:57.0000] yeah frozen is a newish thing [14:28:02.0000] /me doesn't understand why we have it [14:28:17.0000] we use [SameObject] in our idl to trigger some optimisations [14:28:37.0000] i mean it is less powerful than what we really want which is readonly-but-writable-by-creator, but it does help in this particular case of always-immutable-forever. [14:29:01.0000] Hi heycam! [14:29:07.0000] So annoying that you have to do a brand new cloned interface to do readonly-but-writable-by-creator. :/ [14:29:21.0000] TabAtkins, was just going to say; that's what sicking's suggestion is [14:29:30.0000] I mean, the Foo[] types were added to avoid having to create new interfaces each time [14:29:38.0000] yeah :-/. i am seriously thinking of trying to create a canonical proxy-based array wrapper for that [14:29:46.0000] TabAtkins: Ah, yes, good point. [14:29:47.0000] Domenic_++ [14:29:47.0000] heycam: yeah [14:29:58.0000] it's the biggest problem with trying to re-use standard JS array-ish things here [14:30:11.0000] hi Ms2ger [14:30:25.0000] +1, would do more. [14:35:19.0000] TabAtkins: Added. [14:35:34.0000] heycam: ooh, i actually have an answer for heycam in https://www.w3.org/Bugs/Public/show_bug.cgi?id=18242 now [14:36:07.0000] he ain't gonna like it though [14:36:12.0000] :\ [14:36:20.0000] guess i should just provide you with a hook [14:36:23.0000] and put the ugly stuff on my end [14:36:52.0000] the less browsing context related stuff I need to include in my spec the better, really [14:36:55.0000] the answer is "the unit of related similar-origin browsing contexts is the one in which the browsing context specified by the script's settings object finds itself" [14:37:06.0000] let me give you a hook [14:37:16.0000] hook is good [14:37:18.0000] you're gonna hand me a "script", right? [14:37:54.0000] I think so -- I get it from the stack of incumbent scripts [14:38:02.0000] or just by referencing "incumbent script [14:38:31.0000] my head hurts trying to figure this stuff out [14:38:33.0000] actually maybe that doesn't make sense, looking back to comment 30 to see what I needed this thing for [14:38:37.0000] i need to page more of this in [14:39:03.0000] why aren't we having you go through the "jump to a code entry-point" algorithm again? [14:39:34.0000] shouldn't you at least be calling "prepare to run a script-based callback"? [14:39:49.0000] /me grumbles at find bar not working in his nightly firefox [14:40:16.0000] "If the global object specified by o's settings object is a Window object whose Document object is not fully active, then return "do not run" and abort these steps" seems like something you need on your end, no? [14:40:24.0000] when are you running this stuff? [14:40:44.0000] let me check what I added to the spec, because I don't remember [14:41:07.0000] it's by "single operation callback interface" [14:41:28.0000] and "Invoking callback functions" [14:41:36.0000] ah yep [14:42:21.0000] and we do the "stuff the incumbent script in the callback's context" bit when we pass the function object in [14:42:40.0000] e.g. in #idl-callback-function [14:42:49.0000] #es-callback-function sorry [14:43:44.0000] yeah [14:44:05.0000] so [14:44:25.0000] whenever I reference the stack of incumbent scripts, I need to know what unit-of-thingies it's from [14:44:47.0000] Hixie: I added another guideline for you: http://wiki.whatwg.org/wiki/Specs/style#Willful_violations_of_other_specs [14:44:48.0000] if I can determine that from the script (which I previously stuffed into the callback context), that's good [14:45:01.0000] yeah you can definitely get it from the script [14:45:23.0000] in fact i can just give you the stack directly [14:45:38.0000] GPHemsley: +1 for TabAtkins's Oxford comma or gtfo [14:45:43.0000] heycam: but my broader question is why aren't we e.g. checking if scripting is enabled? [14:45:49.0000] gsnedders: I already added it. :) [14:46:00.0000] GPHemsley: Like I'm reading shit! [14:46:05.0000] ;) [14:46:28.0000] Hixie, where in the HTML spec do you check if scripting is enabled? [14:46:36.0000] to determine whether to proceed with calling somethign? [14:46:46.0000] heycam: in "prepare to run a script-based callback" [14:46:51.0000] http://www.whatwg.org/specs/web-apps/current-work/#prepare-to-run-a-script-based-callback [14:47:12.0000] and then after the callback we run microtasks... i guess you don't want to do that, right? [14:47:18.0000] when does all this get invoked, on your end? [14:47:34.0000] not for eg. array.sort(), right? [14:47:41.0000] do you get invoked for setTimeout(function...)? [14:48:10.0000] no, looks like for setTimeout, i just do "Call the Function. Use the third and subsequent method arguments (if any) as the arguments for invoking the Function. Use method context proxy as the thisArg for invoking the Function." [14:48:13.0000] no, not for array.sort() [14:48:16.0000] (which is completely bogus, but that's another story) [14:48:28.0000] for setTimeout, yes, since you should be storing away the IDL-typed callback thing [14:48:39.0000] aah, ok [14:48:40.0000] and then invoking it through my "invoke a callback" algorithm, whatever it's called [14:48:46.0000] good to know [14:48:58.0000] for event handlers? i seem to do all the logic myself for those currently [14:49:10.0000] should be just like setTimeout [14:49:22.0000] whenever you talk about invoking Function objects, it by passes my stuff [14:49:28.0000] *bypasses [14:50:12.0000] for event handlers i have to do it myself because there's all kinds of crazy stuff like the scope chain being fishy [14:50:23.0000] hmm [14:50:38.0000] i use "jump to code entry point" for that, anyway [14:50:42.0000] so it takes care of all this [14:50:48.0000] I see [14:50:59.0000] addEventListener() would use your stuff, but that's a DOM issue, not HTML [14:51:32.0000] anyway, for addEventListener(), i'm pretty sure you do need to be checking that the browsing context is active [14:51:43.0000] dunno if you want to run microtasks, but probably [14:51:56.0000] /me does not know what it would mean to run microtasks [14:52:07.0000] (for setTimeout(), microtasks don't matter since the whole thing is in a task, so they run immediately after anyway) [14:52:18.0000] mutation observers are microtasks [14:52:20.0000] amongst other things [14:52:21.0000] ah [14:52:38.0000] so if there are multiple things to do, like checking script is enabled, running microtasks, it would be nice to get the HTML spec to run them for me [14:52:44.0000] by me just invoking one hook [14:52:52.0000] i think you can do that today by just invoking http://www.whatwg.org/specs/web-apps/current-work/#jump-to-a-code-entry-point [14:53:02.0000] ok I'll take a look at it again [14:53:09.0000] but that won't work for your case when it's not a script [14:53:09.0000] I think I thought it wasn't appropriate earlier [14:53:14.0000] ah right [14:53:15.0000] yes [14:53:20.0000] e.g. if setTimeout(window.open, ...) [14:53:25.0000] can we factor out the non-script-ish things from it? [14:53:31.0000] Hixie: Were there other terms besides "file" and "resource" that you thought were dangerous? [14:53:43.0000] heycam: it is already [14:53:49.0000] ok I'll look again [14:53:52.0000] /me back in a couple of mins [14:54:07.0000] heycam|away: i'll comment on the bug [14:54:13.0000] and reassign it to you [15:00:36.0000] heycam|away: so, one oddity is we probably want to handle callbacks that are callbacks into scripts differently than callbacks that are into native methods [15:01:01.0000] Hixie, differently in what way? [15:02:23.0000] well, if you call setTimeout(window.open) from a script that's imported from a different origin, and for some reason there's some exception raised, you want the exception to have muted errors. But if you call setTimeout(foo) where foo is a script in the page's origin, even if the calling script was fetched from another origin, you want the exceptions to not be muted [15:02:46.0000] (all the script origins here are the same, it's just a matter of whether the script comes from another origin or not in the [06:50:15.0000] annevk: awesome [06:50:59.0000] might not be insane to spec that [06:51:44.0000] I wonder if ISO-2022-JP is just an alias for that [06:52:25.0000] zcorpan: Thought about it some more. You could even make your proposal look almost identical to , only with a mandatory inside. That's brilliant! [06:58:11.0000] hsivonen: if we end up with agreement among everyone that we need sniffing for Japanese and nothing else, I'll try to figure it out [07:03:45.0000] annevk: FWIW, before Firefox 4 shipped, I tried to make the Japanese sniffing happen on the first 1024 bytes only. That broke the Japanese Planet Debian, which is why Firefox went whole stream. [07:03:59.0000] Japanese Planet Debian has been fixed since [07:04:09.0000] as is typical with stuff like this [07:05:37.0000] hsivonen: for our other sniffing, do we enforce 1024 bytes? That is if there's less than 1024 bytes and the network is slow we'll wait with making a decision? [07:06:06.0000] hsivonen: seems like something we should keep trying [10:01:40.0000] dglazkov: what is the reasoning for the events here http://w3c.github.io/webcomponents/spec/shadow/#events-that-are-always-stopped [10:01:56.0000] dglazkov: why those, and why not also submit and input [10:02:09.0000] and I assume there are many more [10:39:18.0000] Can I get a review on https://github.com/w3c/web-platform-tests/pull/397 / https://critic.hoppipolla.co.uk/r/387 please? [10:40:21.0000] Ms2ger: You can *do* the review on that... [10:40:44.0000] Sure, but getting one is more fun :) [10:43:24.0000] I'm not sure that going from N=tests.length iframes to N=1 iframe is obviously a great idea [10:43:37.0000] Doesn't it make the tests slower? [10:44:12.0000] Not if they end up swapping otherwise :) [10:44:33.0000] Right [10:44:48.0000] But how does N=1 compare to N=10, for example? [10:45:17.0000] No idea [10:45:32.0000] And I feel like I'll get burned at the stake if I suggest it :) [12:16:10.0000] yoav: right [12:33:44.0000] yoav: so the being loaded by the html parser before it has a parent, that seems like something that can be changed in impls by not loading it until it has been inserted to the document for img elements created by the parser, right= [12:34:40.0000] zcorpan: It'd break scripts that create Image.src and never add it, but count on the resource downloading [12:35:10.0000] yoav: scripts that create Image.src aren't created by the parser [12:40:28.0000] zcorpan: Yeah. It's not the parser that downloads. It happens during element creation. [12:40:51.0000] I guess you could create a separate path for scripts, in some way [12:41:11.0000] you just need the html parser to set a flag [12:41:13.0000] But I don't know if it's something that browsers want to do [12:41:59.0000]