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