2015-06-01 [20:53:02.0000] embed src to html document… showing the doc or not? [20:53:03.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=730768#c3 [20:53:03.0000] Blink yes Gecko no [20:53:21.0000] I wonder what IE does [03:59:50.0000] Is there a generic name for the all html elements that are meant to hold "content" (p, section, article, h1-6, blockquote...), by opposition to elements used for UI and page construction (input, button, label, menu, br...)? [04:02:57.0000] frivoal: http://www.w3.org/TR/2011/WD-html5-20110525/content-models.html [04:05:25.0000] https://html.spec.whatwg.org/multipage/ [04:29:23.0000] boogyman: Thanks, that seems like the right place to look at. Unfortunately that classification doesn't seem to have a category for what I want, at least not without complicated unions/intersections/differences [04:29:51.0000] I'm looking for the set of elements on which is is generally not a good idea to set "user-select: none", to make that a SHOULD NOT in the user-select spec [04:33:34.0000] frivoal: I don't think the spec defines any term for what you want, but you should ask Hixie when he's around [04:34:11.0000] MikeSmith: Thanks, I'll mail him. [04:37:19.0000] frivoal: I think the "palpable content" thing that Hixie coined might be closest to what you need [04:38:02.0000] which as I understand it just means those elements that should usually have some text content descendants [04:38:13.0000] e.g. the p element [04:38:42.0000] https://html.spec.whatwg.org/multipage/dom.html#palpable-content [04:38:51.0000] Ooooh, sounds like it might. That was not in the w3c spec. [04:39:12.0000] yeah it is I'm pretty sure [04:39:34.0000] that link boogyman provided is to an old TR draft [04:40:22.0000] /me goes to update his references [04:40:43.0000] indeed. The world doesn't seem to suck after all. [04:41:00.0000] Great, no need to mail Hixie then. [04:41:31.0000] hmm, there's a bug in that definition; Hixie has the input and button elements and some other void elements in that "palpable content" category but clearly they should not be [04:41:43.0000] /me will file a bug for that [04:41:52.0000] duh [04:42:26.0000] sometimes even Atlas shrugs [04:42:32.0000] :) [05:12:22.0000] MikeSmith: button has content [05:12:47.0000] oop [05:14:12.0000] but that's not what palpable content is [05:14:50.0000] elements that are meant to hold content ought to have at least one content item that's palpable [05:15:39.0000] I'm not sure exactly what frivoal is looking for, maybe flow content is the closest? [05:15:55.0000] but it's not an exact match [05:17:11.0000] Maybe what I want doesn't exist. in content vs structure vs ui, I want just content. But maybe elements cannot actually be split that way. [05:17:29.0000] I doubt it [05:17:32.0000] frivoal: I'm trying to figure out exactly which elements ought not to have user-select on them [05:17:53.0000] frivoal: I'm guessing anything that can be interactive and anything that contains something that can be interactive? [05:18:08.0000] it would help to know exactly which warning/issue you want to flag [05:18:20.0000] darobin: user-select: none, specifically. user-select:all or user-select: element doesn't seem bad to me [05:19:01.0000] frivoal: yeah, but I meant more generally what is the problem you wish to SHOULD NOT in the usage of user-select:none? [05:19:46.0000] user-select is a pretty dangerous thing to boot [05:21:03.0000] "Authors SHOULD NOT use user-select." [05:21:06.0000] darobin: The problem is: 'user-select: none' is a UI convenience feature, not a copy protection mechanism. Warn authors that they're likely doing something wrong if they're applying it to

, , , etc [05:21:15.0000] I would spec it as "You MAY use user-select: none as you wish, but you should be advised that most legislations consider it acceptable for users to stab you in the face if you do it wrong. Also see 'Disabling user scale'" [05:21:18.0000] my issue being what's "etc" [05:21:56.0000] right [05:22:22.0000] "You should only use it in SVG and, if you really know what you're doing, in Web Components"? :) [05:22:55.0000] I've already put some language in the spec trying to tell people "you're doing it wrong", and to tell browsers that they're allowed to provide ways to bypass it. But I'd like to empower validators to complain as well. [05:23:01.0000] (The intersection of people knowing what they're doing and still using Web Components may be too small to be worth mentioning, though.) [05:23:29.0000] I see, but I'm trying to think of a case in which you would set user-select to none on an existing HTML element and it's not a mistake [05:23:44.0000] Doesn't "using WC" imply "not knowing what you're doing"? [05:23:59.0000] you're a bit slow there Ms2ger, I made that joke two lines up :) [05:24:56.0000] frivoal: the only uses I can think of would be on stuff like tabs, but I'm not sure that there's a way of distinguishing the acceptable markup constructs for those [05:24:58.0000] whether using WC or not, applying it to UI-like things which are surrounded by content sounds ok, as you're trying to make the content more easily selectable without grabbing the UI elements as well [05:25:21.0000] frivoal: which validator? the HTML checker? [05:26:11.0000] frivoal: e.g. I can easily see a tabs thing where you set it on DT because that's what you're using for your tabs (which could be legit in some cases); but most of the time it's still wrong to do so on a DT [05:26:39.0000] MikeSmith: I'm a spec Editor. Leave me alone in my disconnected ivory tower and don't bother me with actual questions relating to real implementations of things. /s [05:27:03.0000] lol [05:27:48.0000] darobin: if you're writing a mail client UI, you probably don't want all the buttons and labels like "To:" or "Subject: " to be selectable [05:28:24.0000] frivoal: I agree; but I can't think of a way of abstracting that to something validatable [05:28:59.0000] darobin: The failure to do so is what brought me here, hoping to find wiser people. [05:29:07.0000] /me points at /topic [05:29:10.0000] (this is where I might have gone wrogn) [05:29:17.0000] s/wrogn/wrong/ [05:29:57.0000] I'm looking for wisdom, not logic, so the topic is irrelevant. [05:30:14.0000] frivoal: here's what I would do in a linter [05:30:38.0000] I would look at the length of the text content under something that's user-select:none [05:30:44.0000] and above a threshold, I'd warn [05:30:54.0000] that ought to catch uses for content protection [05:31:03.0000] I don't think you can do more [05:31:58.0000] Conformance checkers may warn if the amount of text contained blah exceeds a certain size. [05:32:08.0000] you don't think "palpable content" - "form elements and similar (which is a bit broader than interactive element, as it for example includes )" would cut it? [05:33:15.0000] palpable content means that you couldn't use it on a dl or ul that's used for a menu for instance [05:34:11.0000] or for that matter on a div or span, which are likely to be the building blocks used in a UI — you're killing the use case there [05:34:45.0000] I guess that setting it on a form element is likely wrong (the author probably wants disabled) [05:36:09.0000] for divs, spans, dl and ul, that's why I'm making this "SHOULD NOT" rather than "MUST NOT". [05:36:49.0000] for form elements like buttons, it's fine. For form elements that contain editable text, the spec takes care of that by making it compute to "element" (aka "contain"). [05:36:57.0000] frivoal: yeah but... the primary use case applies to those element, it's weird to have them under SHOULD NOT [05:37:05.0000] yah [05:37:09.0000] yeah [05:38:24.0000] So we may have to live with heuristics, which is kind of hard to spec for. [05:38:48.0000] frivoal: in general I am not convinced that specs should define linting behaviour [05:39:43.0000] IMHO it would be better to have that specified separately, which in turn makes it more straightforward for different constituencies to have their own linting [05:39:47.0000] darobin: When something has clear cases of "this is bad, don't do it", I'm in favor of putting that in the spec, possibly in a way that give authority to validators to complain about. But if it's not a clear case... [05:40:49.0000] fwiw I have added warnings in the HTML checker that aren't requirements in any spec [05:40:56.0000] so I don't need for a spec to say it's OK [05:40:58.0000] frivoal: if it's obviously bad, as in both nocive to users and reliably detectable, then sure [05:41:30.0000] but the list of such things is short, and in such cases there's an argument to be made to have implementations reject it (assuming it's not a historical blunder of course) [05:45:16.0000] Darobin: I think I'm convinced that this case is not simple enough to spec. There are probably enough warnings already in the spec to give the right idea to people who care, and if they're not going to care, whatever I say won't make a difference [05:46:28.0000] If I were you I wouldn't give up until Hixie weighs in [05:46:54.0000] he's known to have a few ideas about this kind of stuff now and then [05:51:23.0000] MikeSmith: that spec is far for being frozen in REC, and I have mailed hixie, so we'll see. But I am not too hopeful at this point [05:52:30.0000] Hah, rec [05:56:10.0000] indeed our friend Rec is a real kidder [05:56:35.0000] he's the one in our cartoon who always does stuff like accidentally blowing up our moonshine still [05:57:15.0000] but afterwards we laugh about it together as we drink up our remaining moonshine [05:59:00.0000] hey I even found a picture of good ole Rec http://goo.gl/L5aHj0 [06:02:35.0000] Hixie: https://www.w3.org/Bugs/Public/show_bug.cgi?id=28728 [07:53:19.0000] /act [07:54:10.0000] :-/ 2015-06-02 [18:27:05.0000] https://lists.mozilla.org/pipermail/dev-platform/2015-June/010180.html [18:27:21.0000] "We enabled native copy-to-clipboard on github.com today for Firefox Nightly visitors. The copy buttons no longer use a Flash widget in Nightly or Chrome!" [18:27:27.0000] nice [19:25:53.0000] former Chrome engineer Shiki Okasaka now has his own company making a pretty cool new ergonomic keyboard http://www.esrille.com/keyboard/ with the source for its firmware available on Github (and designed to be user-updateable relatively easily) [19:37:16.0000] my goal is to slack off as much as possible, and with as good posture as possible, so that I don't have to worry about rsi or other injuries like that [19:37:25.0000] and hopefully retire before 40 [19:37:30.0000] here's hopin [19:39:24.0000] maybe it's futile :( [05:07:19.0000] https://code.google.com/p/chromium/issues/detail?id=495577 [05:08:02.0000] Chrome shouldn't be trying to fetch something in a background tab if it requires user interaction in order to load [05:08:34.0000] (and then keeping a socket open waiting for the user interaction to happen) [08:22:53.0000] Domenic: what's web platform branding? Not to be annoying yet again - but I can't seem to be able to google it [08:23:09.0000] benjamingr: I don't know what you're referring to? [08:23:25.0000] "WeakSets are perfect for branding and are how I would expect web platform class branding to be explained." [08:23:33.0000] Oh lol, web platform _class_ branding, sorry. [08:25:07.0000] Like, why wouldn't an `instanceof` or another similar check work there Domenic ? [08:25:25.0000] benjamingr: because then you could fool it with Object.create(Foo) [08:25:39.0000] (Or with [Symbol.hasInstance], these days.) [08:26:23.0000] Why would you be _that_ defensive about it in the first place? [08:27:50.0000] fooling instanceof isn't necessarily bad [08:27:50.0000] I'm not being critical, I genuinely don't know where I'd be that defensive [08:28:00.0000] it's potentially helpful for unit tests [08:28:29.0000] caitp: here's context https://esdiscuss.org/topic/actual-weakset-use-cases [08:28:35.0000] yes I know, I sent a reply [08:28:38.0000] oh wait, you arleady commented there nvm [08:28:42.0000] *already [08:29:24.0000] caitp: wouldn't that example work with a regular set too? [08:29:31.0000] well sure [08:29:36.0000] (Domenic 's doesn't since the set outlive the objects) [08:29:36.0000] benjamingr: because you could break C++ [08:29:56.0000] benjamingr: C++ code does stuff like getInternalCppObjectFrom(jsObject) [08:30:10.0000] Domenic: but if it's to guard C++, can't/shouldn't it be done from the C++ side anyway? [08:30:10.0000] you're right, you could use a plain ol' Set [08:30:53.0000] benjamingr: yes, that is how it's currently done. But if you wanted to implement things in JS (which would have its own invariants, e.g. getInternalJSObjectFrom(jsObject)) you'd use WeakSet. [08:31:01.0000] although theoretically fn() could destroy [08:31:17.0000] and if it gets collected during iteration, not impossible, you know [08:32:25.0000] in general any security-sensitive code that depends on object invariants would use this [08:32:40.0000] Domenic: interesting, in your example you can `.call(myFakeObject)` to add things in - but that's besides the point. I wonder if I can come up with a library example. [08:32:54.0000] If you have existing security critical code that needs this I'd definitely love to see it. [08:33:07.0000] benjamingr: like, all of browsers, or anything Mark Miller writes. [08:33:10.0000] caitp: but you still own a reference to the object from the closure - if you had a weakref instead that'd work. [08:33:14.0000] benjamingr: what do you mean by .call(myFakeObject)? [08:33:23.0000] class constructors aren't callable, remember. [08:33:34.0000] Oh, right, my mistake [08:33:42.0000] stop using your logic on me :p [08:33:52.0000] weakrefs [08:33:56.0000] yes, Weak isn't really ar equirement for that use case [08:34:05.0000] we're going to have SAB, might as well have weakrefs [08:34:32.0000] Domenic: anything mark miller writes is the first place I looked (well, the thesis and recent security papers). I couldn't distill a use case from there I could show. [08:34:56.0000] benjamingr: hmm maybe look through the SES source code. He probably uses WeakMap with dummy values. [08:35:10.0000] That's a good idea, I'll do that thanks. [08:36:13.0000] IIRC Mark has that really cool WeakMap shim for SES but doesn't actually use WeakSet [08:36:44.0000] Yeah that is my recollection too but it seems quite possible he uses it conceptually while using the actual WeakMap impl. [08:38:16.0000] yes, WeakMap but no WeakSet. Your "guarding against X" example is pretty good though, like having verified objects that were impossible to tinker with. It can be done with a WeakMap easily but then again that's true for every Set and it's still pretty solid. [11:15:35.0000] Yeah, a set is just a Map where you only ever use .has(), never .get(). 2015-06-03 [17:25:49.0000] what does "WAI" mean in the context of a Chrome bug report? https://code.google.com/p/chromium/issues/detail?id=495577#c2 [17:29:34.0000] MikeSmith: "working as intended" [17:29:57.0000] TabAtkins: ah, OKーthanks [18:49:35.0000] TabAtkins: about the problem dbaron points out with the stylesheet from that CSS WG draft, I think the only way that could have got added was by Chris or Bert doing it for some reason. So I think the mystery could be solved by asking one of them [18:50:21.0000] but I agree they shouldn't be adding changes like that without trying to get an OK from editors [18:52:37.0000] MikeSmith: some public access to the change logs would help [18:56:05.0000] astearns: true but afaik the only people who have perms to make changes there are people on the W3C staff, and further the only people who would in practice make changes there are Chris and Bert [18:56:40.0000] yeah, looking at the log there I see Wed May 13 13:07:48 2015 UTC (2 weeks, 6 days ago) by clilley [18:57:26.0000] but that's just for that one copy of that stylesheet. I don't even know myself where to look for the original and the log for it [18:58:31.0000] I really don't understand why anybody would want to make the styling in the body of the TR version be different from that of the ED [18:58:48.0000] agreed [18:59:38.0000] I guess that's also what TabAtkins was saying in his reply to dbaron. The change is just kind of baffling [18:59:55.0000] anyway I think it's something for the CSS WG to bring up with Bert and Chris [19:00:09.0000] it's not a general W3C problem as far as I can see [19:00:45.0000] not that we don't actually have plenty of other real problems that are general [19:00:48.0000] the general problem is just the secrecy, I think. You could look into the log and see where the problem cropped up. Anyone should be able to do that [19:01:29.0000] fair enough but I wouldn't classify it as secrecy [19:01:37.0000] it's more like bad systems design [19:01:49.0000] in that we are still using CVS, for one thing [19:01:53.0000] well, that and whatever pubrules check caused Chris to add the rule trying to fix things [19:02:44.0000] well the way I deal with that is just to tell the webmaster to back off and/or just ask plh to make them see reason [19:03:37.0000] btw we do now once again have a webmaster who's way more reasonble than some others have been [19:04:00.0000] sounds good - who's the new person? [19:04:14.0000] Denis [19:04:47.0000] Ah :) Yes, he seems quite reaonable [19:05:04.0000] (with an s in there somewhere) [19:05:24.0000] yeah, he's on our side and he's extremely competent and capable [19:06:18.0000] Denis is also one of the main people who built the new stuff that editors and WGs can use to auto-publish to TR whenever they want as often as they want [19:06:34.0000] echidna and specberus or whatever they're called [19:07:03.0000] ah, even better. I haven't tried them out yet, but I like the direction [19:07:08.0000] yeah [19:11:42.0000] btw I think the log for that stylesheet is at https://hg.csswg.org/drafts/log/tip/default-TR.css [19:12:07.0000] MikeSmith: Yeah, I sent an email to w3c-css-wg already asking about it. [19:12:37.0000] TabAtkins: ah OK [19:17:20.0000] along with continuing to use CVS and HTTP Basic Auth (over insecure plain-text HTTP even) I wonder what other cutting-edge technologies we can add to the list [19:18:50.0000] ok, I retract my comment about secrecy. Apparently that problem was just my ignorance [19:20:54.0000] well to be fair I don't "ignorance" applies since nobody should be expected to figure out on their own how to navigate the multiple levels of arcane cruft involved [19:21:21.0000] unintentional obscurity [19:23:56.0000] and to me at least the systems that the CSS WG uses for managing stuff are even more baroque and overengineered than all the rest [19:26:55.0000] slightlyoff: btw I finally figured out the cause of the "Waiting for available socket" problem I mentioned to you when I was in San Fransisco https://code.google.com/p/chromium/issues/detail?id=495577 [19:27:40.0000] wowza [19:27:54.0000] also *basic auth* :-/ [19:28:01.0000] yeah :( [19:28:33.0000] another frozen-in-time W3C systems thing [19:28:46.0000] but it's interesting this hit me in another context recently [19:28:52.0000] oh? [19:29:19.0000] debugging a partner's staging site; basic auth fail in chromium [19:29:40.0000] likely same root cause [19:30:14.0000] ah OK [19:30:14.0000] but yeah, the plural of anecdote isn't data; basic auth needs to die in a fire [19:30:28.0000] agreed [19:30:35.0000] /me wonders if we have a usecounter [19:31:04.0000] if you don't have a usecounter for it yet please try to get one added [19:31:19.0000] because I can't think of one single other place where I ever use basic auth [19:32:38.0000] /me wonders what the equivalent of "outlier" in the sense of doing something that nobody else does because they all already realize it's not a smart thing to do [20:10:22.0000] github is apparently using web sockets for something. I wonder what [01:48:42.0000] TIL: “No, WHATWG is not the organization we should use for anything.” http://stackoverflow.com/q/30526880/96656#comment49254637_30569669 [01:54:53.0000] mathiasbynens: you engaged in a discussion with someone who quotes from RFCs, you get what you deserve ;-) [02:00:04.0000] > You advised to use WHATWG specs for anything [02:00:07.0000] > The WHATWG URL Standard is the one reference you should use for anything [02:00:11.0000] yeah [05:11:34.0000] OH: pretty sure "Frederik Krautwald" is an anagram for "asshat" in German [05:13:34.0000] :} [05:15:35.0000] "WHATWG only addresses URLs in respect to the Web." ... [05:16:14.0000] as opposed to the myriad other places where URLs have any relevance [05:18:51.0000] holy christ I just now see my own stackoverflow score and find I got +500 from somewhere somehow recently [05:18:55.0000] what the hell [05:37:56.0000] MikeSmith: SO scores are weird [05:38:15.0000] I've answered maybe five questions and I'm at the 51th percentile [06:27:16.0000] Over 90% of my SO score comes from two CSS questions I answered years ago. People upvote them every few days. [06:30:00.0000] I did SO for years to get to like 20K and since then have coasted on upvotes to get me to 50K [06:30:35.0000] These days I'm just making sure I stay in the top 1000 [06:39:26.0000] can anybody imagine why I would have used `if (path.matches("^http:/[^/].+$"))` instead of just `startsWith("http://")` [06:39:47.0000] context is https://github.com/mariusj/validator/commit/4e7d409e00291d6c83bdb1d471a1a28414053d0d [06:40:01.0000] I'd like to think I must have had some good reason [06:42:55.0000] MikeSmith: Becuase you're specifically *not* looking for things that start with http:// ? [06:43:12.0000] That regex finds anything that starts with "http:/", then *doesn't* have a second slash. [06:43:39.0000] Tho why you used ".+$" on a .matches() call is still a mystery. [06:44:41.0000] yeah.. [06:44:59.0000] it might help if I had actually written any unit tests [06:45:13.0000] and/or comments [06:48:13.0000] that's a weird thing to check for [06:48:45.0000] why is "http:/frog" interesting but "blog:/frog" not interesting ? [06:49:17.0000] seems like !startsWith("http://") is a more useful check in general [06:53:25.0000] yeah I'm equally baffled [07:11:57.0000] that code makes no sense [07:12:57.0000] MikeSmith: it looks like you were working around a Java bug [07:13:18.0000] or at least a bug in whatever that File class is [07:13:24.0000] yeah I now vaguely recall that being the reason [07:13:32.0000] in which it returned broken paths [07:13:40.0000] yup [07:14:12.0000] it elides multiple concurrent slashes I think [07:14:19.0000] lovely [07:14:32.0000] or rathers, changes them into single slashes [07:14:34.0000] but that doesn't explain why you copypasted the same code for http and https :) [07:14:47.0000] or the .+$ [07:14:54.0000] that's probably the alcohol [07:15:11.0000] yeah what I'm doing with the code to begin with is basically a cludge to begin with [07:15:21.0000] well it's Java [07:15:51.0000] and yeah pretty much given that it there was some alcohol involved [07:15:52.0000] hacker's gotta do what a hacker's gotta do [07:16:29.0000] to paraphrase Antti Koivisto: Never code Java sober [14:28:32.0000] annevk: I finally deciphered what was going wrong with Document linking, and fixed it in Bikeshed. (Or rather, isolated the problem and solved it hackily for now.) 2015-06-04 [17:24:16.0000] Domenic: Do you use Bikeshed's piping features? [17:32:43.0000] in Mozilla bug reviews, what is rs=me [17:35:47.0000] rubberstamp [17:35:57.0000] a review without closely at the patch [17:42:47.0000] heycam: ah ok, thanks [01:29:35.0000] is location.assign(location.hash) is reasonable workaround to force navigation to the right anchor [01:30:19.0000] in a case where other script from a page is causing it to fail to scroll to the right place [01:32:23.0000] /me is trying to troubleshoot a buggy document and would prefer to workaround it rather than wade through its gobs of jquery-based script trying to figure out what's preventing it from scrolling to the expected anchor [02:03:40.0000] MikeSmith: Web development advice? Tried #html-wg? ;) [02:06:31.0000] hahahaha [02:06:55.0000] MikeSmith: I'm not sure that'll work if the browser thinks it's already at the hash, no? [02:08:48.0000] MikeSmith: this is how it's solved in ReSpec https://github.com/w3c/respec/blob/develop/js/core/location-hash.js [02:25:20.0000] /me looks [02:28:42.0000] MikeSmith: that code does some tricks to detect whether the user has already scrolled during load (so as not to re-scroll them back to the anchor) [02:28:45.0000] you might not need that [02:29:05.0000] but the heart of the trick is to unset location.hash, then set it again [02:29:22.0000] IIRC nothing else worked, at least when that code was written [02:31:37.0000] darobin: The location.assign(location.hash) way does work for me in my problem case, which is: location.hash does already have the right value (the anchor I want to scroll to) but other existing (broken) script on the page has caused it to scroll to the wrong place [02:32:16.0000] MikeSmith: it's quite possible that the code I'm pointing you to was written to address a browser that is no longer an issue [02:40:12.0000] jgraham: you're getting more like Ms2ger in your old age [02:40:29.0000] Get off our lawn [02:40:44.0000] Maybe I am Ms2ger [02:41:04.0000] or maybe y'all are actually twin brothers separated at birth [02:41:06.0000] Has anyone ever seen us in the same room anyway? [02:41:41.0000] I did, in a dream [02:41:51.0000] I won't go into the details [02:42:03.0000] tmi already [02:42:12.0000] heh [04:40:15.0000] darobin: in https://lists.mozilla.org/pipermail/dev-platform/2015-June/010235.html you must mean linked data is deployed to millions of *pages*, right? (not millions of domains) [04:58:31.0000] MikeSmith: no, domains [04:58:43.0000] counting pages is pretty useless [04:58:51.0000] some of those sites have infinite URL spaces [04:59:15.0000] I have it on very good authority, I didn't include the source because I'm not sure that I can quote it [05:00:31.0000] MikeSmith: search engines and social networks do useful stuff with that, it's not surprising that it's successful [05:00:36.0000] there's a huge incentive [05:49:45.0000] darobin: so yeah I see that https://schema.org/ says "Over 10 million sites use Schema.org to markup their web pages and email messages." [05:50:23.0000] (dunno how a site can use it mark up email messages though) [05:51:21.0000] I also see that Guha said back at the end of 2013, "about 15 percent of the pages we crawl have schema.org markup... Now over 5 million sites are using it." [05:51:29.0000] http://www.dataversity.net/schema-org-chat-googles-r-v-guha/ [05:52:32.0000] still I count that as a success measure specifically for schema.org rather than for Linked Data in general [05:52:44.0000] MikeSmith: there you go [05:52:52.0000] MikeSmith: FYI it was 7 million at TPAC [05:53:14.0000] yeah clearly it's still growing [05:55:06.0000] darobin: also 10 million sites is still only 3% or 4% of the sites on the Web, right? [05:55:32.0000] MikeSmith: yeah, but it's not a random 10 million, most are from the top destinations [05:55:38.0000] sure [05:56:26.0000] MikeSmith: re email, it does stuff in GMail (and some other clients) [05:56:34.0000] I'm sure Google can measure that :) [05:57:07.0000] in fact it's the only way of adding interactivity to email, so that's another big incentive [07:23:29.0000] TabAtkins: I do not think I use Bikeshed's piping features. [10:55:21.0000] Domenic: Cool, no problem then. Pretty sure krit is the only person who is. Just turning off the auto-piping, as it's a misfeature. 2015-06-06 [17:25:32.0000] After reviewing the ARIA roles for menu and menubar, I don’t understand the usecase for menubar. That it would be laid horizontally seems moot to its purpose. Can someone explain its purpose? [17:32:22.0000] wow Andreas Gal has left Mozilla [18:15:04.0000] entering the internet of things space in order to find ways to sell more data about you [18:35:36.0000] I'll pyt that [18:35:55.0000] *buy [20:50:39.0000] JonathanNeal: I guess it's because 1) orientation affects which cursor keys you use; 2) a menubar usually has a dedicated space whereas other menus are transitory; 3) a menu typically will take keyboard input automatically when visible, whereas activating a menubar's options needs another step 2015-06-07 [06:16:09.0000] H [06:16:11.0000] E [06:16:12.0000] J [06:16:13.0000] Bx [06:16:14.0000] T [06:16:14.0000] V [06:16:15.0000] B [06:16:15.0000] J [06:16:16.0000] J [06:16:16.0000] Z [06:16:17.0000] H [06:16:17.0000] U [06:16:17.0000] U [06:16:18.0000] U [06:16:18.0000] 8 [06:16:19.0000] U [06:16:19.0000] Z [06:16:20.0000] H [06:16:20.0000] J [06:16:21.0000] U [06:16:31.0000] U [06:16:32.0000] U [06:16:32.0000] 7 [06:16:33.0000] U [06:16:33.0000] J [06:16:34.0000] 7 [06:16:34.0000] U [06:16:35.0000] U [06:16:35.0000] J [06:16:36.0000] T [06:16:36.0000] H [06:16:37.0000] H [06:16:37.0000] H [06:16:38.0000] H [06:16:38.0000] H [06:16:39.0000] H [06:16:49.0000] Fuf [06:16:51.0000] Guguc [06:18:07.0000] https://www.facebook.com/ad.lingers [06:18:11.0000] https://www.facebook.com/ad.lingers [06:18:13.0000] https://www.facebook.com/ad.lingers [06:18:14.0000] https://www.facebook.com/ad.lingers [06:18:18.0000] https://www.facebook.com/ad.lingers [06:18:20.0000] https://www.facebook.com/ad.lingers [06:18:22.0000] https://www.facebook.com/ad.lingers [06:18:24.0000] https://www.facebook.com/ad.lingers [06:18:25.0000] https://www.facebook.com/ad.lingers [06:18:27.0000] https://www.facebook.com/ad.lingers [06:18:29.0000] https://www.facebook.com/ad.lingers [06:18:30.0000] https://www.facebook.com/ad.lingers [06:18:32.0000] https://www.facebook.com/ad.lingers [06:18:33.0000] https://www.facebook.com/ad.lingers [06:18:36.0000] https://www.facebook.com/ad.lingers [06:18:37.0000] https://www.facebook.com/ad.lingers [06:18:39.0000] https://www.facebook.com/ad.lingers [06:18:40.0000] https://www.facebook.com/ad.lingers [06:18:42.0000] https://www.facebook.com/ad.lingers [06:18:43.0000] https://www.facebook.com/ad.lingers [06:18:47.0000] https://www.facebook.com/ad.lingers [06:18:48.0000] https://www.facebook.com/ad.lingers [06:18:50.0000] https://www.facebook.com/ad.lingers [06:18:51.0000] https://www.facebook.com/ad.lingers [06:18:54.0000] https://www.facebook.com/ad.lingers [06:22:30.0000] https://www.facebook.com/ad.lingers [06:22:32.0000] https://www.facebook.com/ad.lingers [06:22:33.0000] https://www.facebook.com/ad.lingers [06:22:34.0000] https://www.facebook.com/ad.lingers [06:22:36.0000] https://www.facebook.com/ad.lingers [06:22:37.0000] https://www.facebook.com/ad.lingers [06:22:39.0000] https://www.facebook.com/ad.lingers [06:22:40.0000] https://www.facebook.com/ad.lingers [06:22:43.0000] https://www.facebook.com/ad.lingers [06:22:44.0000] https://www.facebook.com/ad.lingers [06:22:46.0000] https://www.facebook.com/ad.lingers [06:22:48.0000] https://www.facebook.com/ad.lingers [06:22:49.0000] https://www.facebook.com/ad.lingers [06:22:51.0000] https://www.facebook.com/ad.lingers [06:22:52.0000] https://www.facebook.com/ad.lingers [06:22:54.0000] https://www.facebook.com/ad.lingers [06:22:55.0000] https://www.facebook.com/ad.lingers [06:22:56.0000] https://www.facebook.com/ad.lingers [06:22:58.0000] https://www.facebook.com/ad.lingers [06:23:04.0000] Get lost [06:25:08.0000] https://www.facebook.com/ad.lingers [06:25:09.0000] https://www.facebook.com/ad.lingers [06:25:11.0000] https://www.facebook.com/ad.lingers [06:25:12.0000] https://www.facebook.com/ad.lingers [06:25:14.0000] https://www.facebook.com/ad.lingers [06:25:15.0000] https://www.facebook.com/ad.lingers [06:25:17.0000] Oh please [06:25:17.0000] https://www.facebook.com/ad.lingers [06:25:18.0000] https://www.facebook.com/ad.lingers [06:27:20.0000] Bye again [06:32:30.0000] https://www.facebook.com/ad.lingers [06:32:45.0000] https://www.facebook.com/ad.lingers [06:37:29.0000] thx 2015-06-08 [01:58:22.0000] Domenic: ping me when you're awake, we should start thinking about cancellable promises again [06:51:04.0000] JakeA: awake, but commuting/breakfasting for the next hour-ish [06:52:17.0000] Domenic: no rush, still catching up stuff too. I imagine the next step of the plan is investigate bluebird, but I'd like your take on it. Ping me when you're free. [06:54:21.0000] JakeA: maybe the SW f2f date got finalized in person or something? last email I have is from May 1 [06:55:57.0000] wanderview: hmm, you're right, slightlyoff mentioned that date, but it was internal. Will hold off on flight bookings. [06:56:00.0000] Cheers! [06:56:16.0000] well, someone has to just pick a date sometime :-) [06:56:41.0000] July 20 works for me [06:57:21.0000] at least when the robots take over the AI should do a better job of meeting scheduling [09:22:05.0000] Hmm, so I'm looking at script executionm in WebDriver. I have an ES Function (from "Create a Function Object"), but it isn't really clear to me if I can just call [[Call]] on it, or if I need to do something with creating a script setting a code entry point and then jumping to that code entry point [09:22:56.0000] Probably the latter [09:24:23.0000] This is what I fear [09:27:21.0000] It seems like the existing machinary for actually invoking a function like that is defined in WebIDL [09:37:23.0000] jgraham, is this servo? [09:58:33.0000] Ms2ger: No, it's the spec [09:58:41.0000] Oh [09:58:50.0000] Yeah, use IDL abstractions always [09:59:46.0000] Right, but there isn't actually a DOM API involved anywhere :) [10:13:56.0000] Yeah, it pretty much feels like WebIDL isn't the right thing here since it does a bunch of converting to IDL types that I really don't want [11:42:05.0000] I don't think IDL actually handles globals and executoin contexts anyways... that's one of the big open issues [11:49:47.0000] i think that may be a bit difficult if you are wanting languages to be agnostic [11:49:58.0000] to be language agnostic* [11:50:53.0000] nobody wants that [11:51:43.0000] at one time Java was tracking DOM APIs /shrug [12:35:40.0000] Domenic: whatever happened to the wrapper alternative? [12:43:06.0000] bradleymeck: WebIDL stopped trying to be language-agnostic years ago, tho. It's just a JS description language now. [13:40:08.0000] Hixie: You around? Do you know the answer to my script-injection question above? 2015-06-09 [21:13:48.0000] The Bloomberg site has a pretty cool way of handling page transitions as you scroll vertically [21:14:00.0000] e.g., starting at http://www.bloomberg.com/politics/articles/2015-06-08/donald-rumsfeld-george-w-bush-was-wrong-about-iraq [21:14:55.0000] which as you scroll past the end of that article transitions to the next one at http://www.bloomberg.com/politics/articles/2015-06-09/inidian-prime-minister-s-despite-being-a-woman-remark-sparks-backlash [21:15:09.0000] then from that to http://www.bloomberg.com/politics/articles/2015-06-09/bono-and-bill-clinton-denver-gets-a-power-lunch [21:15:12.0000] etc [21:15:22.0000] I wonder how many other sites are doing this [21:15:38.0000] I believe that's called the infinite scroll [21:16:23.0000] boogyman: no it's not [21:16:27.0000] not in the normal sense [21:16:41.0000] in the normal sense the URL for the page stays the same [21:17:17.0000] which is why many people rightly don't like infinite scroll [21:18:09.0000] ah, so they are using the History API to push the new article onto the stack. [21:24:52.0000] boogyman: yeah [21:25:17.0000] but I remember there was some other proposed API for facilitating this [21:25:23.0000] /me searches [21:26:45.0000] I find https://docs.google.com/document/d/17jg1RRL3RI969cLwbKBIcoGDsPwqaEdBxafGNYGwiY4/edit#heading=h.pcll678prpwu [21:26:56.0000] but I think that's not what I had remembered [21:29:37.0000] http://www.androidpolice.com/2014/11/20/chromes-upcoming-navigation-transitions-api-will-make-the-web-animate-and-flow-like-material-design-in-android/ [21:30:07.0000] but then something more recent from Chris Lord that actually looks a lot better: http://chrislord.net/index.php/2015/04/24/web-navigation-transitions/ [21:30:36.0000] dang, i haven't seen these. [21:32:38.0000] https://www.chromestatus.com/features/5169444246519808 entry for "Navigation Transitions" says "No longer pursuing" [21:33:41.0000] it looks like the code was implemented in blink but then removed last month [21:34:02.0000] https://code.google.com/p/chromium/issues/detail?id=370696#c86 [23:58:04.0000] So I got two password reset emails from wordpress.com... [00:10:54.0000] hey annevk [00:11:06.0000] that's double protection I guess [00:11:44.0000] I wonder if I should be worried [00:12:07.0000] I guess you should always be worried if you're using wordpress [00:12:20.0000] seriously [00:12:33.0000] it seems like multiple accidents waiting to happen [00:14:41.0000] annevk: anyway, the other day when we were talking about one of those tweets in Japanese about WHATWG, do you remember one being about stuff to enable sites to smoothly transition between different documents? [00:15:07.0000] in the context of single-page-app kind of user experiences [00:15:44.0000] I don't really... [00:15:48.0000] oh [00:15:58.0000] ah well [00:16:20.0000] I did figure out what https://twitter.com/hail2u_/status/604693350445285376 was about [00:16:20.0000] anyway I was trying to remember if anybody had ever properly specced out anything about it [00:16:28.0000] oh [00:16:31.0000] Apparently HTML and that game use a bunch of terms that are similar [00:16:37.0000] Such as "element" [00:16:42.0000] hah [00:16:48.0000] well [00:17:00.0000] chemistry uses "element" too [00:17:52.0000] "attribute" too apparently [00:20:08.0000] annevk: when you have minute please look at http://www.bloomberg.com/politics/articles/2015-06-08/donald-rumsfeld-george-w-bush-was-wrong-about-iraq and scroll down past the end of the first article [00:20:31.0000] or see http://krijnhoetmer.nl/irc-logs/whatwg/20150609#l-128 for the context [00:21:13.0000] the seem to have put a pretty nice user experience around navigation transitions from one document/article to the next [00:21:31.0000] maybe there are other sites that are doing this well now, I dunno [00:21:34.0000] “I am happy that Bangladesh Prime Minister, despite being a woman, has declared zero tolerance for terrorism.” o_O [00:21:41.0000] heh [00:22:17.0000] Oooh, they change the URL too, pretty cool [00:22:22.0000] yeah [00:22:26.0000] Now they need to add some HTTPS [00:22:31.0000] well yeah [00:22:38.0000] baby steps [00:22:51.0000] it would be nice to hear from the developers how they are doing that [00:23:07.0000] and if there are others doing it well now [00:23:20.0000] and then maybe pave some cowpath there [00:24:03.0000] because the Google-led "Navigation Transitions" thing that the implemented in blink seems to have not been a technical success [00:24:19.0000] since they yanked all the code for it least month [00:25:04.0000] Chris Lord's proposal at http://chrislord.net/index.php/2015/04/24/web-navigation-transitions/ looks sane [01:13:28.0000] I remember both not making much sense to me [01:13:54.0000] Ah, Chris updated his post with my suggestion [01:14:14.0000] Though not all the text... [02:30:01.0000] annevk: Do you know enough to help with the script execution problems I have? Specifically I am speccing a process that has a Window object, a string representing a function body, and an array of arguments, and I want to correctly get the effect of something like "var fn = new Function($body); fn.prototype.apply($window, $args)" i.e. construct a function object from the body and execute it with the provided args with window as the this object in the [03:00:08.0000] jgraham: I guess you could look at what event handlers did [03:00:15.0000] jgraham: I think you basically want to talk to bz though [03:01:13.0000] annevk: So I basically copied what event handlers did so far, but then to actually run the script they call some WebIDL algorithm that does conversion to IDL types, which is unfortunately more than I want [03:02:26.0000] jgraham: I guess you could call directly to some ES-defined algorithm [03:02:37.0000] jgraham: if you don't work with IDL that's sort of what you have to do [03:02:47.0000] jgraham: though then you need to security checks and such yourself too [03:02:57.0000] jgraham: at which point you want to talk to bz [03:03:26.0000] Yeah, so I wondered if I could just call [[Call]] but it wasn't clear to me that would actually specify execution in the right global [03:04:27.0000] You probably need a little more, but I'm also lacking some context so I'm not sure [03:05:13.0000] annevk: The context is that I'm trying to rewrite https://w3c.github.io/webdriver/webdriver-spec.html#executescript to be less wrong [03:05:28.0000] /me -> train [03:23:34.0000] jgraham: I guess you want to study how eval() works and copy that? [03:58:32.0000] annevk: So I think the thing I fundamentally don't understand is which bits that are in HTML but aren't in ES I need (the script settings object &c.) [04:00:20.0000] http://hoppipolla.co.uk/410/webdriver-spec/webdriver-spec.html#executescript is what I wrote so far [04:03:14.0000] (step 6 is known to be wrong, but not in a relevant way) [04:17:16.0000] annevk: dglazkov: I wonder how we should proceed with shadow DOM. Has the "3 champions" perhaps discussed something privately, and will have a proposal? (I still think imperative API should be the v1 solution) [04:18:00.0000] but I wouldn't be surprised if simple slots based approach will be used [04:38:12.0000] jgraham: script settings object is 1:1 with global object iirc [04:38:49.0000] jgraham: but as others have said there's some missing bits in IDL and HTML, and perhaps in ES [04:43:11.0000] hmm, smaug left [04:53:33.0000] TabAtkins: I need some help with that typing of [04:53:47.0000] TabAtkins: I have the feeling rubys did it wrong for URL [04:54:12.0000] TabAtkins: with lt="URL query" rather than something about the type being a URL, and query just being the term [05:37:46.0000] TabAtkins: also see https://github.com/whatwg/dom/issues/39#issuecomment-110343254 [05:53:05.0000] annevk: am i reading the TR46 spec correctly, in that it doesn't have as many requirements for valid labels as the IDNA2008 spec? [05:56:31.0000] Sebmaster: yeah [05:56:39.0000] Sebmaster: browsers use IDNA2003 [05:56:48.0000] (roughly) [05:57:01.0000] great :/, so the idna test data doesn't have to necessarily pass? [05:57:15.0000] Sebmaster: I think the IDNA test data is correct per browsers [05:57:23.0000] oh, hrm [05:57:40.0000] Sebmaster: and TR46 does have a non-transitional mode that should match IDNA2008 [05:57:46.0000] then i may have bugs in my implementation [05:57:49.0000] but URL doesn't use it [05:57:51.0000] oh yeah, tr46 is weird [05:57:57.0000] it uuh [05:58:08.0000] describes something impossible for conformance tests [05:58:11.0000] but maybe i read it wrong [05:58:42.0000] it's not a great writeup, but it's somewhat better now than before [05:58:51.0000] http://www.unicode.org/reports/tr46/#Format [05:58:56.0000] see toASCII vs toUnicode [05:59:21.0000] toUnicode in the tests says it accepts the processing_option [05:59:34.0000] but the implementation further up defines processing_option only for toASCII [05:59:47.0000] i think the test descriptions are switched around there [06:01:35.0000] ToUnicode always sets the processing_option to NonTransitional it seems [06:02:02.0000] not sure if that matches browsers, hmm [06:02:08.0000] I thought this was somewhat different before [06:02:17.0000] yeah but the conformance description says ToUnicode should accept the processing_option given in the first cell [06:02:25.0000] I might not have reviewed ToUnicode closely enough [06:02:35.0000] browsers generally use ToASCII [06:02:45.0000] only for display is ToUnicode used [06:03:03.0000] my issues is just with the conformance test description [06:03:42.0000] when i switched the two processing_options around (i.e. apply the given processing_option to toASCII) and always use nontransitional for unicode it seems to pass more tests [06:04:14.0000] the conformance test section doesn't match the implementation parameters, is what i'm saying [06:04:43.0000] no idea yet with regards to if the implementation itself is described perfectly [06:35:33.0000] Sebmaster: you should give Unicode feedback [06:35:53.0000] Sebmaster: and document somewhere that you did, since their archiving is poor [06:36:03.0000] Sebmaster: e.g. by emailing www-archive⊙wo your feedback [06:36:05.0000] i have no idea where to go, so you were the first that came to mind [06:36:29.0000] http://www.unicode.org/reporting.html unfortunately... [06:37:05.0000] Mark Davis tells me to use that form and they seem to process those comments [06:42:40.0000] okay, will do [06:43:14.0000] Sebmaster: ta [06:43:22.0000] TabAtkins: https://github.com/tabatkins/bikeshed/issues/403 still not fixed afaict [06:43:48.0000] TabAtkins: force=Document that is [06:43:57.0000] TabAtkins: Document still links to HTML [07:12:36.0000] JakeA: s/CookieContainer/CookieJar/g [07:14:10.0000] hah, yeep [07:14:26.0000] thats my significant contribution for today [07:14:33.0000] /me goes back to bed [07:14:34.0000] :D [07:14:57.0000] S'ok, my brain is broken reading https://github.com/petkaantonov/bluebird/issues/415 [07:32:06.0000] /me wonders if Domenic is following the promise changes on es-discuss [08:05:29.0000] I am mostly ignoring them, they go into weird territory quickly [08:37:33.0000] hello [08:43:22.0000] TabAtkins: I'm guessing the mysql "Too many connections" at https://drafts.csswg.org/ is something only Peter has access to fix and he's probably not online yet? [08:43:51.0000] I am sorry I don't know where else to ask this, but https://developer.chrome.com/devtools/docs/commandline-api#additional-apis this page describes that we can hook extra functions to the __commandLineAPI object and links to the extension https://chrome.google.com/webstore/detail/debug-utils/djailkkojeahmihdpcelmmobkpepmkcl?utm_source=chrome-app-lau [08:43:51.0000] ncher-info-dialog but it doesn't seem to be working as expected. It exposes the debugUtils object to the window scope as well. Is this intended behavior? How can I add functions for the console scope only? [08:44:55.0000] cc paul_irish ^ (sorry for random ping but someone told me I can ping you here for devtools related questions) [08:45:26.0000] awal: you might have better luck asking in #chromium-support [08:45:59.0000] MikeSmith: ok thanks! :) [08:51:39.0000] In the small event someone wants to check it out or test it, I wrote a pretty small DOM4 query polyfill this morning that won’t modify the DOM or add to the query selector to accomplish the task. Not that size matters these days, but I’ve scoped it out to be roughly 603bytes minified+gzipped https://gist.github.com/jonathantneal/446aea88f6d49b665dcc [08:52:19.0000] It would probably be even smaller if I cut out the IE8 support, too. [09:02:12.0000] I wonder what a DOM4 is [09:08:00.0000] It's a thing I coined at some point when I didn't know better [09:08:22.0000] And it stuck :-( [09:09:00.0000] sounds legit [09:11:23.0000] Well W3C put a sticker on it, so I guess it is [09:12:09.0000] where to get the sticker [09:12:20.0000] only streams and html have stickers so far [09:14:39.0000] Streams does? [09:14:48.0000] Oh, you're talking actual stickers [09:14:56.0000] :-) [09:15:28.0000] :) [09:32:05.0000] we're actually already at DOM 4.1 at the W3C [09:32:46.0000] I even made a logo for it http://emidius.mi.ingv.it/pictures/logo_DOM4.gif [09:33:31.0000] the caption translates as Chill Data is Illin' [09:33:33.0000] MikeSmith: nice find, though I'd like a 4.01 [09:34:24.0000] we can back-formate 4.01 later [09:34:29.0000] good brainstorming [09:34:50.0000] jetlag is great for that [09:34:57.0000] heh [09:35:43.0000] woohoo, GitHub down to zero unread [09:35:49.0000] if I missed something, let me know [09:36:06.0000] tomorrow the remaining emails and Bugzilla [10:12:20.0000] It's good to have you back!! :) [10:25:35.0000] annevk: JakeA: are cookies multimaps? [10:26:28.0000] Domenic: I believe the cookie name is a unique id, if that's what you're asking [10:26:46.0000] Hmm I am not entirely sure what I'm asking [10:27:16.0000] :D [10:27:40.0000] I guess can you have multiple values for the same cookie ID [10:29:04.0000] If I remember correctly some browser implementations differentiate secure only and http cookie definitions with the same id [10:29:22.0000] gross [10:30:34.0000] I wonder what happens if a subdomain tries to set a cookie with name "hello", when there's already a cookie named "hello" for all subdomains [10:30:53.0000] Whoa, I know nothing about cookies [10:31:16.0000] JakeA: be happy that SW don't send creds by default [10:31:35.0000] :D [10:56:30.0000] Is it just me or is [NewObject] kind of silly? It feels like there are lots of places that return new objects each time that don't use it... [11:02:51.0000] annevk: There are a few ways you can do a definition like that. Having a nice, descriptive linking term like "URL query" is actually pretty good. You can then use local-lt="query" to let yourself link to it with a shorter word in the spec. Or, yeah, query also works. I don't have a best practices for this kind of thing yet. [11:10:01.0000] annevk: I'm very curious as to what you're looking at that makes you think that Document is still linking to HTML. [11:19:08.0000] Domenic: not sure, see the RFC? [11:19:35.0000] Domenic: [NewObject] can help JIT iirc and is basically a check to see if specification authors paid attention [11:20:10.0000] TabAtkins: https://dom.spec.whatwg.org/#interface-document after "interface" it says "Document", that links to HTML [11:20:44.0000] annevk: ...no it doesn't. [11:21:04.0000] Are you still looking at a cached version? [11:21:23.0000] o_O [11:21:28.0000] I guess I was [11:21:35.0000] lol [11:21:44.0000] That never happens... [11:22:42.0000] Except when it's most embarrassing. [11:22:59.0000] Right, sorry about that [11:23:05.0000] It's okay! [11:23:18.0000] So I can remove Document from "ignored terms" I guess? [11:23:45.0000] Yeah [11:24:07.0000] (That just suppresses the linking warnings telling you that there are two plausible targets.) [11:24:12.0000] TabAtkins:I would like to use a suitable iframe external resource according to media query list for mapping use case's level of detail functionality. Can I use picture element or its variant in the future? [11:24:52.0000] Guess I should look into the URL stuff a bit more, looks a bit messy to me at the moment [11:24:57.0000] Next step is for me to implement the "obsoletes" attribute so DOM can declare that it wins over the HTML and SVG dfns. (The HTML one is extra annoying, since it's just a link to DOM.) [11:25:51.0000] stakagi: You don't want to use ; it's defined as a wrapper for only. But it *might* be appropriate as a model for how to design something for level-of-detail. [11:30:15.0000] TabAtkins:Thanks. What kind of contribution can I do for the design? TabAtkins:Thanks. What kind of contribution can I do for the design? Although I am concentrated on SVGWG from the first, probably it will not be limited to SVG. [11:40:05.0000] stakagi: I dunno, I'm still not sure how to do the LoD stuff correctly. I agree that it's an interesting and worthwhile case, it's unclear what to use for it. [11:48:12.0000] TabAtkins:I will draw up the description of Level Of Detail which I implemented. Incidentally, it is a combination of a picture element-like function, and a lazyload.js-like function. [11:48:31.0000] Yeah, I remember your presentation last year or so, in the Moz Japan offices. [11:54:32.0000] TabAtkins:Since two functionalities described above (picture and lazyload) have become the topic separately recently, I hope that the examination of Level Of Detail may be able to be performed slowly. [13:08:21.0000] anyone here know how to contact someone from Mozilla support? https://developer.mozilla.org/en-US/ is down (500) [13:15:53.0000] it doesn't look down to me [13:17:22.0000] interesting, i get a new message, but basically the same code "this service is temporarily unavailable" [13:21:28.0000] boogyman, appears to be up now [13:21:50.0000] cheers 2015-06-10 [21:47:42.0000] I wonder what made Twitter show the trailing slash in profile URLs [01:14:01.0000] MikeSmith, ping [01:25:27.0000] heycam: here now [01:26:43.0000] MikeSmith, hi! can you add someone to the right github group so they can push changes to the SVG spec? [01:26:53.0000] MikeSmith, github username is boggydigital [01:27:07.0000] MikeSmith, I think the group name is "svgwg members" or something [01:27:37.0000] cool username [01:27:41.0000] /me checks now [01:28:57.0000] heycam: ok added just now [01:29:13.0000] MikeSmith: cheers! [01:57:56.0000] Domenic: beverloo: abarth: belated happy b-day! [02:05:16.0000] triplets [02:05:43.0000] speaking of abarth I wonder where or where has our abarth gone these days [02:06:15.0000] he seems to not be working on web-platform stuff as much these days [02:06:21.0000] at least not publicly [02:06:50.0000] I think the web platform misses him [02:09:33.0000] so I'm wondering what level of implementor interest does the current draft at http://w3c.github.io/filesystem-api/ have [02:10:36.0000] I see that Domenic filed an issue against it a couple weeks ago https://github.com/w3c/filesystem-api/issues/4 [02:11:11.0000] so I would assume that means it's still a relevant spec with some promise [02:15:06.0000] Hi MikeSmith: I’d say parts of it are relevant including figuring out directory upload stuff. [02:16:35.0000] oh hey arunranga-afk ! [02:16:44.0000] long time no see [02:17:00.0000] oh hai MikeSmith :) [02:17:54.0000] arunranga-afk: I've not seen so much recent discussion about it but then I'm not on script-coord any more so maybe there's been some there [02:18:21.0000] anyway I hope we can finally get this right and get some implementor momentum behind it [02:18:31.0000] /me hopes [02:18:45.0000] I'm glad you're still on it [02:19:50.0000] MikeSmith, there’s been some public-script-coord discussion about having certain web platform types, including that old tin can, FileList, being converted to Array-types. [02:20:29.0000] ah OK [02:20:46.0000] I guess that's the right place now to have those discussions [02:40:13.0000] https://twitter.com/ISOTC211/status/608567032506912768 "The @W3C process is open|: drafts are published, mailing list available to public, etc... Quite different from @opengeospatial and #ISOTC221" [02:44:58.0000] in https://developer.apple.com/videos/wwdc/2015/?id=501 Brent Fulgham talks about "people coming to JavaScript from languages like Swift" (in the context of saying those people find JS's "prototype-based syntax has been somewhat less accessible" to such people [02:58:44.0000] https://pbs.twimg.com/media/CGvdAOBUIAEQCUE.jpg:large [03:01:48.0000] MikeSmith: what is open|: supposed to mean? [03:02:38.0000] ondras: I don't get why he refers to the friend as crazy in the third panel after just saying he isn't [03:16:20.0000] annevk: maybe that tweeter meant to type an explanation point instead of that pipe? [03:16:41.0000] aren't they the same key on english keyboards [03:17:18.0000] oh I guess not [03:32:50.0000] annevk: yeah. well, I am not an author, just an twitter->irc proxy [03:32:55.0000] *a [03:35:23.0000] inconsistency is funny [04:07:53.0000] philipj: if you want to experiment with lowercasing createAttribute() input, that'd be great... [04:08:05.0000] philipj: but currently no browser does that so maybe that's a bridge too far? [04:15:32.0000] annevk: I don't know, would that be a big win if it would work out? [04:16:12.0000] annevk: I'm not sure how to estimate the risk of it without extra bookkeeping [04:16:15.0000] philipj: you can do atom comparison rather than string comparison [04:16:48.0000] philipj: also, seems like Chrome does not always use case-insensitive matching... e.g. removeAttribute does something else? [04:16:56.0000] philipj: per comments in the Gecko bug [04:18:01.0000] but when you're doing lookup, you're not traversing the attributes and comparing [04:18:12.0000] sorry, wasn't finishing typing that [04:18:39.0000] I'm just guessing that there's a hash map, and that hash map could be case insensitive without storing the strings themselves in a normalized case [04:18:42.0000] maybe? [04:18:57.0000] sure [04:19:37.0000] I guess the more interesting thing is that not even case-insensitive will give us the same behavior, since Chrome does not share that algorithm across all methods [04:20:05.0000] philipj: oh also, createAttribute("test:test") is different in Chrome/Safari vs Firefox/IE & DOM [04:20:13.0000] annevk: and you're right, removeAttribute() does look different, it lowercases the value if it's an HTML Element and Document [04:20:53.0000] annevk: and so does hasAttribute actually [04:21:04.0000] but not getAttribute()? [04:21:06.0000] meh [04:21:07.0000] a weird mix of lowercasing and case-insensitive comparison, this is [04:21:11.0000] yes [04:21:22.0000] seems like we should do something consistent at least [04:22:57.0000] well, getAttribute() seems to set a |shouldIgnoreCase| which is used to do a case-insensitive compare when iterating over the attributes [04:23:31.0000] so at least Blink doesn't do the hash table thing, I guess there are too few attributes on average for it to be worth it [04:23:50.0000] I agree this is pretty strange and inconsistent [04:25:31.0000] how closely have you studied Gecko's and IE's black-box behavior? any hunch as to what state would be easiest to reach interop on? [04:26:01.0000] Gecko is problematic since we changed [04:26:15.0000] IE seemed to be mostly aligned with Chrome/Safari [04:26:27.0000] |shouldIgnoreCase| seems easiest [04:26:28.0000] right, did you just revert the change or is there now a old-Gecko vs. new-Gecko behavior to consider? [04:26:40.0000] We haven't reverted the change yet [04:26:51.0000] We need to decide on something though before we ship [04:26:54.0000] did it reach stable and break stuff? [04:27:08.0000] No, broke stuff earlier on [04:27:19.0000] So now we need to figure out what to do [04:27:33.0000] ok, that's a pretty good indication it's not going to fly. what was the attempted behavior? to lowercase like the spec says? [04:28:10.0000] Yeah, but we did not attempt lowercasing createAttribute() [04:28:33.0000] The cases that surfaced would have worked if that lowercased, but there's probably other cases that would break [04:28:45.0000] IE seems to be more consistently case-insensitive [04:28:58.0000] At least given https://bugzilla.mozilla.org/show_bug.cgi?id=1165851#c32 [04:29:28.0000] So making everyone do that seems like the most trivial change [04:29:39.0000] The prettiest change would be lowercasing createAttribute() [04:29:40.0000] there's really no way to measure the risk of lowercasing the input, as there's no way to track how the string returned by e.g. element.attributes[0].localName is used [04:29:46.0000] yeah [04:29:50.0000] :/ [04:30:24.0000] but wait, in an HTML document, should element.setAttribute('FOO', 'bar') result in an element with localName 'FOO'? [04:31:05.0000] /me tries [04:31:09.0000] nope [04:31:18.0000] different code path [04:31:47.0000] so where should the lowercasing go in the hypothetical store-as-normalized go? [04:32:32.0000] philipj: step 1.5 of https://dom.spec.whatwg.org/#dom-document-createattributelocalname would do that [04:33:12.0000] oh, so the extent of the compat risk is just when you manually create attribute nodes? [04:33:22.0000] (at which point we might introduce some kind of abstract "create an attribute" operation that does all the work) [04:33:24.0000] philipj: yeah [04:33:45.0000] afaict that's the only place that does not lowercase [04:34:16.0000] well, that actually doesn't sound too crazy [04:40:56.0000] the relevant use counter is https://www.chromestatus.com/metrics/feature/timeline/popularity/111 at ~0.13% [04:41:27.0000] I left a comment in the bug suggesting this alternative path [04:42:38.0000] however, if the true justification for trying this is performance, perhaps someone should verify that it's really going to be faster to lowercase the input and do case-sensitive compares than to just do case-insensitive compares in the loop? [04:46:29.0000] philipj: I don't think perf is a great argument, it would mostly be consistency [04:46:46.0000] what was Gecko's old behavior? [04:46:55.0000] philipj: though perhaps perf is important for Selector matching [04:47:22.0000] perf is pretty important in this context though, don't want Gecko implementing this new model and then we can't land it in Blink because there happens to be a perf test that regresses [04:48:02.0000] oh wait, let me see what setAttribute does [04:49:53.0000] I'm still a bit confused, clearly setAttribute already does the lowercasing, and that's the point where one should be careful [04:49:54.0000] philipj: I think per https://bugzilla.mozilla.org/show_bug.cgi?id=1075702 we might have lowercased for setNamedItem and friends [04:50:25.0000] I link to think of all other APIs as aliases for setAttribute(NS) and getAttribute(NS), does that match your thinking? [04:50:27.0000] philipj: but not createAttribute(), which would bem ore logical [04:50:29.0000] s/link/like/ [04:50:42.0000] not really [04:51:26.0000] no? so instead all the web-exposed APIs are entry points into the same underlying algorithm? [04:51:51.0000] yeah, they all share a bunch of logic [04:52:29.0000] so, anyway, the important point is that it's strange if say setAttribute() has different rules for case-folding than say setting Attr.value [04:52:42.0000] as long as that's not the case, it's fine [04:53:05.0000] setAttribute() has different rules from createAttribute() [04:53:11.0000] the value is never normalized [04:53:20.0000] the problem here is around attribute names [04:54:12.0000] sorry, I was thinking about changing the attribute name, but obviously you can't do that via Attr [04:55:28.0000] so are setAttribute(), setAttributeNS(), createAttribute() and createAttributeNS() the only entry points for scripts to create attributes, other than via the parser a la innerHTML? [04:57:16.0000] I believe that's correct [04:58:00.0000] well, then since the parser already normalizes the case, then trying to close that last hole that is createAttribute() does sound pretty good [04:59:46.0000] however, this does mean that for setAttributeNS(namespace, 'FOO', value) the resulting Attr would have localName 'FOO', correct? and getAttribute('FOO') would fail to return that value, where it would currently [05:00:23.0000] philipj: in Gecko that has always failed to return a value [05:00:32.0000] philipj: not sure about other browsers [05:01:18.0000] What Gecko did previously as far as I can tell is normalize case during setAttributeNode / setNamedItem... Ms2ger? [05:01:37.0000] annevk: that does work in Blink currently [05:01:54.0000] I can look if you find me the bug that changed it... [05:01:56.0000] philipj: yeah, and removeAttribute() does not [05:02:07.0000] Ms2ger: https://bugzilla.mozilla.org/show_bug.cgi?id=1075702 [05:02:10.0000] annevk: same in IE11 [05:02:43.0000] don't know, given that it never worked in Gecko it could work out [05:02:56.0000] philipj: I'm not worried about that though, seems like the smallest of all risks [05:03:30.0000] annevk: what kind of code are you most worried about breaking? [05:03:58.0000] philipj: attr.name == "FOO" [05:04:24.0000] annevk: where "FOO" comes from document.createAttribute("FOO")? [05:04:29.0000] yes [05:05:04.0000] ok, would it be of any help to measure how often lowercasing the name in createAttribute() results in a different string? [05:05:14.0000] as an upper limit of breakage [05:05:40.0000] it would be a few months to get data, so if you're in a hurry it won't help you [05:05:47.0000] Maybe. I think given what Gecko did before lowercasing is probably sound [05:06:04.0000] Since the only code that would break is code that checked the name before appending the attribute [05:06:10.0000] Since appending it lowercased the name in Gecko [05:11:30.0000] oh, so it was setAttribute that would change the case? [05:14:56.0000] one difference if doing it in createAttribute is that you don't yet know if it'll be attached to an HTML element, so the conditions won't be exactly the same [05:14:59.0000] but that's probably fine [05:16:15.0000] well, keep me posted on what you want to try in Gecko and if you change the spec for document.createAttribute(), in which case I'll add a use counter to gague if that'll be safe [05:16:29.0000] philipj: setAttribute != setAttributeNode [05:17:05.0000] I think I'll suggest to bz that we lowercase for createAttribute(), if he comes online again [05:17:12.0000] annevk: uh, yes, I mean setAttributeNode(document.createAttribute('FOO')) [05:26:05.0000] annevk: I just now reverted that change I made to github/xrefs that added the IETF Origin spec [05:26:21.0000] ta [05:37:15.0000] annevk: https://bugzilla.mozilla.org/show_bug.cgi?id=1165851#c36 [05:55:26.0000] Where would be the best place for someone to make a suggestion like extending RegExp to include a RegExp.escape function ala http://discourse.specifiction.org/t/regexp-escape-str/832 [05:55:59.0000] It would seem useful to provide some direction, like contact so-and-so or write an email to such-list. [05:56:06.0000] es-discuss [06:18:49.0000] Thanks, Ms2ger! [06:19:57.0000] annevk: i think i dont get it, why would it return null? [06:21:19.0000] Sebmaster: read step 2 of https://url.spec.whatwg.org/#dom-urlutils-origin [06:21:58.0000] ohhh [06:22:25.0000] so you serialize the GUID, which is not a scheme, host, port tuple [06:22:40.0000] right [06:22:52.0000] Sebmaster: I filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=28788 though to get HTML a little clearer on this [06:23:03.0000] is the GUID ever public then? [06:23:11.0000] Sebmaster: it should just say "if origin is an opaque identifier, return 'null'" [06:23:16.0000] Sebmaster: nope [06:23:23.0000] Sebmaster: neither is the alias concept [06:23:45.0000] what're aliases? [06:23:50.0000] I havent read about those anywhere [06:24:49.0000] Sebmaster: read HTML's definition of what an origin can be [06:25:05.0000] Sebmaster: you encounter alias in the DOM, with