| 01:22 | GPHemsley | wonders what memo he missed about the meaning of #, @, : as search filters |
| 01:24 | <TabAtkins> | If you use an @ in your selector, it matches the Twitter user with that username. |
| 01:25 | <GPHemsley> | I mean in things like devtools inspector and such |
| 01:26 | GPHemsley | realized after he said that that this was not the topic of conversation earlier. |
| 05:32 | <rniwa> | annevk: yt? |
| 08:39 | <Ms2ger> | Hixie, https://www.w3.org/Bugs/Public/show_bug.cgi?id=24628 |
| 10:22 | <annevk> | well, I'm here now, but rniwa is not |
| 10:31 | <annevk> | Aah, TabAtkins realized I was right due to http://dev.w3.org/csswg/shadow-styling/ |
| 10:31 | <annevk> | Ms2ger: is Editing easily maintainable at the moment? |
| 10:32 | <Ms2ger> | I think I have access to it |
| 10:34 | <annevk> | Cool, it's available under CC0 |
| 10:35 | <annevk> | I wonder if Hixie is interested in taking it back into HTML |
| 11:02 | <annevk> | "[Bug 24627] New: [Shadow]: Support disconnected nodes" o_O |
| 11:02 | <annevk> | Glad that was fixed swiftly |
| 11:03 | <Ms2ger> | zcorpan, https://gist.github.com/zcorpan/8952688 |
| 11:05 | <zcorpan> | Ms2ger: i noticed i managed to mistype "errorVideo" as "video" |
| 11:05 | <zcorpan> | Ms2ger: i don't understand your comment |
| 11:06 | <Ms2ger> | I don't know what the issue is, but one of the tests clears the page for me |
| 11:11 | <zcorpan> | maybe it does document.write() or something which clears the page after onload |
| 11:13 | <zcorpan> | ok now i've got something working |
| 11:34 | <annevk> | Sigh. I feel like I'm explaining to everyone how to write specifications |
| 11:34 | <Ms2ger> | Write it down |
| 11:36 | <jgraham> | Make a specification-specification |
| 11:37 | <zcorpan> | what if other people want to write a specification-specification and get it wrong? |
| 11:38 | <jgraham> | Well we could write a specification-specification-specification to avoid that |
| 11:38 | <jgraham> | "specification-specifications MUST be written by annevk" |
| 11:38 | <annevk> | You guys are not helping |
| 11:39 | <Ms2ger> | :) |
| 11:40 | <jgraham> | annevk: Are you kidding? I found a base case so we could avoid specification^N recursion! |
| 11:40 | <jgraham> | I saved you an infinite amounbt of work! |
| 11:40 | <annevk> | But yes, maybe I should put my comment about monkey patching in a blog post, with a slight elaboration so it also applies to the web perf group |
| 11:40 | <Ms2ger> | You should |
| 11:41 | <jgraham> | The slight elaboration being "btw web-perf wg: you don't read my blog, but this applies to you guys too"? |
| 11:47 | <annevk> | jgraham: well I guess I still need to tell them about it |
| 11:47 | <annevk> | e.g. http://www.w3.org/TR/resource-timing/ is guilty of this |
| 12:48 | <Ms2ger`> | zcorpan, r+ https://critic.hoppipolla.co.uk/r/74 |
| 12:49 | <jgraham> | \o/ |
| 12:49 | <jgraham> | zcorpan, foolip: Awesome work :) |
| 12:49 | <zcorpan> | woot |
| 12:49 | <zcorpan> | should i click the green button or squash or something first? |
| 12:50 | <jgraham> | I don't mind either way |
| 12:50 | <jgraham> | It's OK to just merge, I think |
| 12:51 | <zcorpan> | ok done |
| 12:53 | <Ms2ger`> | Didn't even take 10 months! |
| 12:56 | <Ms2ger`> | zcorpan, r? https://critic.hoppipolla.co.uk/r/744 :) |
| 13:08 | <Ms2ger`> | foolip, html/semantics/embedded-content-0/the-video-element/video_width_reflect.html might be removable |
| 13:31 | <bhanu_> | hi, I have submitted a patch for #25571 few days back, I am waiting for someone to review it |
| 13:32 | <annevk> | bhanu_: what bug database? |
| 13:32 | <bhanu_> | annevk : on HTML DOM |
| 13:33 | <annevk> | bhanu_: pointer? |
| 13:33 | <bhanu_> | range methods not working with detached nodes |
| 13:34 | <annevk> | bhanu_: I meant an actual URL to the issue you're talking about |
| 13:35 | <annevk> | bhanu_: because I'm having a hard time following this |
| 13:36 | <bhanu__> | annevk: https://bugs.webkit.org/show_bug.cgi?id=25571 |
| 13:37 | <annevk> | bhanu_: #whatwg is not #webkit, though reading that bug I wonder why you think the specification is wrong |
| 13:37 | <zcorpan> | TabAtkins: i get "FATAL ERROR: Couldn't find 'respimg-usecases' in bibliography data." in https://api.csswg.org/bikeshed/ with https://github.com/ResponsiveImagesCG/picture-element/blob/gh-pages/index.src.html as input |
| 13:42 | <zcorpan> | bhanu__: you had asked earlier whether to implement stuff from dom2. both annevk and i said you should ignore dom2. what gives? |
| 13:45 | <bhanu__> | annevk: I think we had mail communication on this issue few days back, and I came to know that we should only follow the latest one, but when I saw the chromium source code, I got confused |
| 13:46 | <annevk> | bhanu__: I see |
| 13:47 | <annevk> | bhanu__: Anything in particular that was confusing? You should only have to read http://dom.spec.whatwg.org/ |
| 13:50 | <bhanu__> | annevk: Going by one is never a confusion, I could completely follow http://dom.spec.whatwg.org/ ignoring what chromium has done in their source code which will fix the issue. |
| 13:51 | <annevk> | bhanu__: that sounds good |
| 13:51 | <annevk> | bhanu__: Chrome has a bunch of issues with "disconnected" nodes |
| 13:52 | <annevk> | bhanu__: so much even that they baked their own silly assumptions into new specs |
| 13:52 | <annevk> | :/ |
| 13:52 | <bhanu__> | annevk, zcorpan: thank you for your help |
| 13:53 | <annevk> | bhanu__: thank you for fixing bugs |
| 14:07 | <annevk> | I cannot believe I am writing this out. Why monkey patching is bad should be so obvious!!1! |
| 14:12 | <Ms2ger`> | Ha |
| 14:12 | <Ms2ger`> | Remember when we did it? :) |
| 14:18 | <annevk> | Ms2ger`: we did? |
| 14:18 | <annevk> | Ms2ger`: oh, Web Forms 2.0? :-) |
| 14:19 | <Ms2ger`> | For example :) |
| 14:19 | <annevk> | Ms2ger`: it was a disaster |
| 14:19 | <Ms2ger`> | dom xpath comes to mind |
| 14:19 | <Ms2ger`> | Or plain xpath |
| 14:19 | <Ms2ger`> | Whatever that bit was |
| 14:19 | <annevk> | I hope that dies at some point. Otherwise we'll need to fix that too. There's an even an additional Node type there that apparently ties into attributes? |
| 14:20 | <annevk> | Ms2ger`: http://wiki.whatwg.org/wiki/DOM_XPath |
| 14:20 | <annevk> | Although that page does not deal with the new node type |
| 14:22 | <jgraham> | annevk: I plan to monkey patch your blog post so that every time it reads "monkey patching", it instead reads "not monkey patching" |
| 14:23 | <annevk> | jgraham: I'll monkey patch your desk |
| 14:23 | <Ms2ger`> | Yeah, I know that page, I wrote it :) |
| 14:23 | <zewt> | don't run that monkey patch on itself, you'll destroy the universe |
| 14:24 | <jgraham> | annevk: With a real monkey? |
| 14:24 | <annevk> | jgraham: no spoilers |
| 14:24 | <zewt> | i guess monkeys need help quitting too |
| 14:26 | <annevk> | I guess I'll just post it and then update it per comments here |
| 14:27 | <annevk> | http://annevankesteren.nl/2014/02/monkey-patch |
| 14:35 | <annevk> | Why do the crypto people keep coming back to me talking about CORS? |
| 14:59 | <annevk> | Because they don't understand structured clones is the answer it seems |
| 14:59 | <annevk> | It is very silly |
| 14:59 | <gsnedders> | Well why aren't they explained better? |
| 14:59 | <gsnedders> | If they keep on coming back to you, that implies you haven't explained it well enough! |
| 15:00 | <annevk> | I'm not sure, I have the feeling someone with half a clue hears origin and things "oh CORS!" and then all the people with less of a clue start asking about it |
| 15:00 | <annevk> | thinks* |
| 16:05 | <TabAtkins> | zcorpan: Did you grab *just* that file? There's also a biblio.json file in the repo that you need. |
| 16:07 | <arv> | annevk: Is there a spec bug related to enumerability of named properties in HTMLCollection? |
| 16:07 | <annevk> | arv: I just fixed it |
| 16:07 | <annevk> | arv: last commit has a pointer |
| 16:09 | <arv> | annevk: thanks |
| 16:11 | <arv> | annevk: If bz and Christophe is happy with that I'm happy |
| 16:11 | <annevk> | bz has a patch for Gecko he said |
| 16:11 | <annevk> | arv: btw, if we add iterators, should they make snapshots? so live becomes static? |
| 16:12 | <annevk> | arv: we're leanings towards yes, makes for-of and such nicer |
| 16:12 | <annevk> | leaning* |
| 17:06 | <Jabberwock> | Hello, all. Could someone point me to some documentation regarding websocket security testing? (and any security concerns) |
| 17:19 | <Hixie> | annevk: i really don't have the bandwidth to take over editing again right now, but it'd be fantastic if someone did |
| 17:20 | <annevk> | Hixie: yeah figured |
| 17:20 | <dglazkov> | good morning, Whatwg! |
| 17:20 | <Hixie> | long-term i'd love to take it up again |
| 17:20 | <Hixie> | i mean, that was the original plan and all |
| 17:24 | <Hixie> | dglazkov: https://www.w3.org/Bugs/Public/show_bug.cgi?id=24312#c19 implies you're supposed to be telling me things |
| 17:33 | <dglazkov> | Hixie: annevk was doing great work at coordination! :) |
| 17:33 | <annevk> | dglazkov: I'm kind of tired of being a project manager for custom elements though |
| 17:34 | <marcosc> | annevk: it's all a ploy to convert you into a middle manager. Didn't you get that tie for xmas? |
| 17:34 | <annevk> | at least, my job is to write specs, not clean up other specs |
| 17:34 | <dglazkov> | Hixie: annevk is right, there needs to be gooder coordination here. |
| 17:34 | <dglazkov> | annevk: can I fix it by making you the editor of custom elements? |
| 17:35 | <marcosc> | aaawww snap! |
| 17:35 | <annevk> | dglazkov: well that's what it feels like, apart from writing the prose :p |
| 17:35 | <dglazkov> | annevk: btw, I am super-grateful for your work. |
| 17:36 | <dglazkov> | and filing bugs |
| 17:36 | <dglazkov> | I've been caught in the storm of basically answering emails all day, and haven't made a lot of progress myself |
| 17:38 | <annevk> | It does feel like we're getting closer |
| 17:42 | <dglazkov> | annevk: asymptotically approaching it, yup |
| 17:43 | <annevk> | dglazkov: I'm back to wondering why the hooks are related to the document with a view rather than simple insert and delete as the DOM has, but it seems that might have been based on bugs in Chrome |
| 17:44 | <annevk> | dglazkov: and at that point we can look at the callbacks HTML has for insert/remove and see how "sync" they need to be and if they can be done at the point we want them to be done for custom elements |
| 17:44 | <dglazkov> | annevk: what bugs in Chrome? |
| 17:44 | <annevk> | dglazkov: around disconnected nodes not being proper trees |
| 17:48 | <dglazkov> | annevk: I don't think disconnected nodes was a consideration at that time. Originally, that callback was born out of the element's need to have a hint at whether they're being shown on screen. esprehn had the example of <google-maps> element wanting to know when to start drawing their WebGLey stuff. |
| 17:49 | <esprehn> | back then <template>'s contents also issued callbacks, so it was even more important |
| 17:50 | <annevk> | But the point of this exercise is also to actually expose the primitives and be able to implement "native" elements in terms of this right? |
| 17:50 | <annevk> | At which point you need to study what hooks they are using at the moment and if they can be refactored somehow |
| 17:50 | <esprehn> | <template> no longer issues callbacks, so we could possibly make this simpler if we give you an easy way to tell if you're in an import (imports also have a defaultView so a component can't just if (!defaultView) return; |
| 17:52 | <annevk> | esprehn: the check is node.ownerDocument === document && document.defaultView or some such, rniwa mentioned it in the bug |
| 17:52 | <esprehn> | annevk: that's not enough, what if you move across an iframe boundary? |
| 17:52 | <annevk> | esprehn: I don't understand |
| 17:53 | <esprehn> | you do node.ownerDocument === document, but if you're inserted into a document in an iframe that check will be against the other window |
| 17:53 | <esprehn> | it'll be false, and your callback will abort incorrectly |
| 17:55 | <annevk> | Okay, in any event, we could expose a check for that, but basing the callbacks around that seems incorrect given the precedent we have for HTML elements |
| 17:56 | <esprehn> | what precedent? |
| 17:59 | <annevk> | esprehn: the DOM exposes (sync) node inserted/removed callbacks that HTML elements use |
| 18:01 | <esprehn> | do you want callbacks that fire in detached subtrees too? |
| 18:01 | <esprehn> | we found that excessively spammy, and not what developers wanted. I'd support making the callbacks "inserted" and "removed" and they act when you enter/leave any document tree |
| 18:02 | <annevk> | esprehn: consider e.g. implementing <select> or <video> yourself |
| 18:02 | <annevk> | esprehn: you need to know when new child elements are inserted and update yourself (or do that from the child elements, which can be custom too) |
| 18:03 | <esprehn> | annevk: MutationObservers let you observe child changes |
| 18:03 | <annevk> | esprehn: not in a way that allows for re-implementing HTML elements |
| 18:03 | <esprehn> | yes |
| 18:03 | <annevk> | esprehn: no, the delivery is too late |
| 18:03 | <esprehn> | Inside any getter on <select> you call takeRecords() and update the state |
| 18:03 | <esprehn> | that's fine, querying the state forces a sync takeRecords(), just like offsetTop forces a layout |
| 18:04 | <annevk> | hmm interesting, I wonder if that would break anything |
| 18:08 | <annevk> | esprehn: can you bring that up in the "Extending Mutation Observers to address use cases of" thread? |
| 18:10 | <esprehn> | annevk: sure |
| 18:11 | <annevk> | esprehn: the amount of callbacks for "node is removed" seems worrying though http://mxr.mozilla.org/mozilla-central/ident?i=ContentRemoved |
| 18:12 | <esprehn> | annevk: internally we react synchronously usually, but as far as the page is concerned it could have been a MutationObsever and a takeRecords() in the getter |
| 18:12 | <annevk> | esprehn: e.g. I could append two Text nodes to a <style>, remove one text node, then do getComputedStyle(), which would then have to ask <style> to do takeRecords() but that might happen as part of the general flush I suppose |
| 18:13 | <annevk> | esprehn: "in the getter" is nice when it's easy |
| 18:13 | <esprehn> | any getter causes a state synchronization, so getComputedStyle() would force the <style> to synchronize with it's records |
| 18:13 | <esprehn> | since getComputedStyle() conceptually calls style.sheet |
| 18:14 | <annevk> | yeah, I guess I can see how that might work |
| 18:14 | <annevk> | hopefully the others agree |
| 18:14 | <esprehn> | it shouldn't be any harder than making all rendering queries force a style recalc or a layout like offsetTop or getComputedStyle(...).color |
| 18:34 | <annevk> | I wonder what the best way would be to define the DOM meanwhile |
| 18:41 | <annevk> | In terms of mutation records and takeRecords() could be interesting, but also somewhat verbose |
| 19:43 | <arv> | annevk: Iterators of live node lists... Maybe not add them at all to discourage people from using live node lists? |
| 19:44 | <annevk> | arv: people will use getElementsByTagName() and then try for-of |
| 19:44 | <arv> | annevk: :'( |
| 19:44 | <annevk> | arv: in fact everyone is asking for HTMLCollection and NodeList and such to have iterator and Gecko already has it |
| 19:45 | <arv> | annevk: I think we should keep them live. ArrayIterator is live |
| 19:45 | <arv> | annevk: Doing `NodeList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator]` works fine with live lists |
| 19:47 | <annevk> | arv: added that to https://www.w3.org/Bugs/Public/show_bug.cgi?id=17648#c6 |
| 19:48 | <arv> | annevk: thanks |
| 21:33 | SamB_ | mumbles something about <https://www.w3.org/Bugs/Public/show_bug.cgi?id=24628>, and also wonders why Selection needs to be tied up with so many editing commands ... |
| 21:36 | SamB_ | isn't finding https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html very easy to read without it's proper styling |
| 22:14 | <TabAtkins> | SamB_: Complain to Hixie to support https on whatwg.org. |
| 22:14 | <SamB_> | Hixie: consider yourself complained to |
| 22:15 | Hixie | looks into it |
| 22:15 | <Hixie> | (though the real solution would be for someone to take over editing that spec and host it somewhere like whatwg.org) |
| 22:23 | <SamB> | should it be marked "orphaned"? |
| 22:23 | <Hixie> | SamB: ok, i need a cert to make this work. can you provide me with a cert? :-) |
| 22:24 | <SamB> | maybe TabAtkins's plan wasn't the best after all |
| 22:24 | <Hixie> | right now i have it set up as a self-signed cert |
| 22:25 | <Hixie> | but that doesn't solve your problem |
| 22:25 | <Hixie> | oh wait, the page is loading it straight from http:// |
| 22:25 | <Hixie> | so that won't help anyway |
| 22:25 | <SamB> | yeah, true |
| 22:26 | <SamB> | I thought that's what you meant when you said "that doesn't solve your problem" |
| 22:26 | <TabAtkins> | Yeah, the spec needs to be changed to use https, *and* whatwg.org needs to support https. |
| 22:26 | <TabAtkins> | It doesn't, currently. |
| 22:26 | <SamB> | because I could clearly teach *my* browser that it's okay to accept the self-signed cert |
| 22:44 | <annevk-cloud> | Someone maintaining it would be great |
| 22:45 | <annevk-cloud> | Maybe if someone takes over some of my smaller specs |
| 22:46 | <Hixie> | man i wish you had posted that blog post on G+ just so that I could +1 the hell out of it |
| 22:46 | <TabAtkins> | You can link to it from your own g+ post, then +1 it yourself. |
| 22:47 | <Hixie> | that sounds like work |
| 22:49 | <Hixie> | lol |
| 22:49 | <Hixie> | i tried getting an ssl cert with startssl.com, since they have free 1 year certs |
| 22:49 | <Hixie> | but they asked for a phone number and i don't have one |
| 22:49 | <Hixie> | so i gave them +1 555 555 5555 |
| 22:50 | <Hixie> | then they e-mailed me, "we need a valid number", so i said i didn't have one and which would they suggest |
| 22:50 | <Hixie> | to which they replied, and i quote, "you parent's" |
| 22:50 | Hixie | may have misjudged the level of professionalism involved with these free certs |
| 22:50 | <TabAtkins> | Hahahahaha |
| 22:52 | <Hixie> | ooh, another reply |
| 22:52 | <Hixie> | "So [...] If someone wants to reach you, they can't?" |
| 22:52 | <Hixie> | um, YOU ARE REACHING ME RIGHT NOW |
| 22:54 | <Hixie> | gotta give them one thing, they're pretty responsive |
| 22:57 | <Hixie> | oh hey, i convinced them |
| 22:57 | <Hixie> | excellent |
| 22:57 | <gavinc> | ... yeah, they are in fact a very decent cert provider that's done a better job checking things out then plenty of them. |
| 22:58 | <Hixie> | holy jeepers, a <keygen> element |
| 22:59 | <Hixie> | woah, hold on, how the heck did they install a new user cert |
| 23:01 | <gavinc> | <keygen>... that's what it does |
| 23:01 | <Hixie> | i thought that uploaded a cert to them |
| 23:01 | <Hixie> | how did they cause my browser to install the one they sent back? |
| 23:02 | <gavinc> | No, you generated a private key, and sent them the public |
| 23:02 | <gavinc> | the private cert is installed locally |
| 23:03 | <gavinc> | private key is just added to the local keystore |
| 23:05 | <gavinc> | they just send back the signed client cert |
| 23:05 | <annevk-cloud> | Hixie defined the element… |
| 23:05 | <gavinc> | yeah that's why I'm confused? |
| 23:05 | <TabAtkins> | If you think that "defined X" means "understands X permanently", I have some bad news for you. |
| 23:06 | gavinc | doesn't |
| 23:08 | <Hixie> | (i barely understood it then) |
| 23:08 | <Hixie> | so it's the "they just send back the signed client cert" part i have a problem with |
| 23:08 | <Hixie> | how do they "send it back"? |
| 23:10 | <annevk-cloud> | New 2014 goal: get bz to spell it URL |
| 23:10 | annevk-cloud | does no get <keygen> either, to be clear |
| 23:19 | <TabAtkins> | Random fun element demo: http://maklesoft.github.io/shape-shifter/ |
| 23:25 | <SimonSapin> | startssl uses client certs for auth (no password) |
| 23:25 | <zewt> | yeah, that site is terrible |
| 23:25 | <SimonSapin> | I recently renewed a server cert, but my client cert had expired so I had to create a new account |
| 23:25 | <zewt> | so the first thing everyone on that site does is create an account and get immediately locked out of it because they didn't create a cert before they logged out |
| 23:27 | <zewt> | so i decided i'd rather pay a couple bucks for a cert than deal with a site with that little common sense, heh |
| 23:27 | <gavinc> | So by using SSL to secure an CA provider they demonstrated to you that they didn't have common sense? |
| 23:28 | <jamesr__> | Hixie: why is the storage mutex still in the spec? |
| 23:28 | <jamesr__> | has anyone indicated that they'll ever implement it? |
| 23:28 | <zewt> | by having an auth system that lets you get locked out that trivially in the normal first-time-user UI flow |
| 23:29 | <jamesr__> | another developer was just confused by trying to interpret what the storage mutex does |
| 23:29 | <jamesr__> | which in practice is absolutely nothing, since nobody implements or will ever implement it |
| 23:31 | <Hixie> | jamesr__: implementations that don't implement the storage mutex will corrupt user data. |
| 23:31 | <Hixie> | jamesr__: so... |
| 23:32 | <TabAtkins> | Which is what all implementations do, and plan to continue doing. |
| 23:33 | <Hixie> | i'm not writing a spec where the only valid implementation corrupts user data. |
| 23:33 | <Hixie> | it's fine if it gives two options, fast and corrupting vs slow and safe, but removing the "safe" option is silly. |
| 23:34 | <Hixie> | having said that, i'm happy to make the spec clearer about the fact that all current UAs ignore it, if that would help |
| 23:34 | <Hixie> | in other news, https://whatwg.org now has a real cert |
| 23:34 | <Hixie> | so https://www.whatwg.org/style/specification should work now |
| 23:35 | <Hixie> | at least for the next year |
| 23:35 | <Hixie> | then i have to do all this nonsense again |
| 23:40 | <annevk-cloud> | We plan to implement it in Servo |
| 23:40 | <annevk-cloud> | The storage mutex |
| 23:43 | <SimonSapin> | (do we?) |
| 23:47 | <annevk-cloud> | roc said so at one point |