| 03:29 | <zewt> | man, editing in gmail gets worse and worse (at least in firefox) |
| 03:30 | <zewt> | random spaces at the end of paragraphs magically appearing and disappearing |
| 03:39 | <rniwa> | rafaelw: yt? |
| 06:25 | <Hixie_> | anyone seen ben schwarz recently? the developers.whatwg.org site is rather out of date... |
| 07:01 | <MikeSmith> | Hixie_: Ben's around. Best way to reach him is twitter https://twitter.com/benschwarz |
| 07:20 | <Ms2ger> | hsivonen, wow, glad I don't use windows |
| 08:19 | <Ms2ger> | annevk-cloud, btw, I've been thinking about the suggestion to define the internal state of objects in idl |
| 08:20 | <Ms2ger> | I still think it'd be confusing to put it in idl, but it seems pretty useful to put it in a easy-to-read-at-a-glance table |
| 08:39 | <annevk> | An easy-to-read-table or a private { } block don't seem so different to me. |
| 08:39 | <annevk> | So I thought I outsmarted this visa application queue thing by bringing my laptop and some tethering, but the tethering sucks. |
| 08:40 | <annevk> | Also, they're currently servicing 1026 and I'm 1055. This is so sad. |
| 08:40 | <SimonSapin> | annevk: I didn’t get any signal in there |
| 08:43 | <jgraham> | Yeah, I did not-online work |
| 08:43 | <annevk> | What pisses me off the most is that they make it seem like you make an appointment, while it's actually first-come-first-serve. |
| 08:43 | <jgraham> | Well probably if you turn up at a time unrelated to your appointment time it's not allowed |
| 09:05 | <annevk> | Whoa, tethering sure makes the iPhone hot. Or maybe it's tethering in combination with Spotify... |
| 09:09 | <annevk> | Just saw someone who realized that she had 1075 and that it sucked badly (we're just at 1039). |
| 09:10 | <annevk> | Meanwhile sending email is a bitch... |
| 09:13 | <annevk> | I should've done express, seems they get a separate queue |
| 09:30 | <annevk> | Only a couple more numbers... |
| 10:07 | <MikeSmith> | http://beta.caniuse.com/ includes info for Firefox for Android and Chrome for Android |
| 10:07 | <MikeSmith> | e.g., http://beta.caniuse.com/#feat=mutationobserver |
| 10:07 | <MikeSmith> | but only in the "Usage relative" view |
| 10:08 | <MikeSmith> | oh and IE Mobile too |
| 10:16 | <annevk> | So that failed. My invitation letter was not sufficient at all (the new one I requested hasn't arrived so I thought I'd give it a go anyway)... |
| 10:20 | <wilhelm> | annevk: Did you request a visa now, or tried picking up one you already applied for? |
| 10:20 | <MikeSmith> | annevk: just forge one |
| 10:20 | <annevk> | wilhelm: I went there today |
| 10:21 | <MikeSmith> | I can send you the MS Word file they sent me, and you just replace my name with yours |
| 10:21 | <wilhelm> | To apply for one or pick it up? They accepted my application, no questions asked, but I haven't picked it up yet. Maybe they'll be difficult when I do. :P |
| 10:25 | <annevk> | wilhelm: apply |
| 10:26 | <annevk> | MikeSmith: I'll give this email thing a go first |
| 10:39 | <smaug____> | what does jQuery("div") do? |
| 10:46 | <zcorpan> | TabAtkins: could bikeshed warn about parse errors from html5lib? |
| 10:51 | <MikeSmith> | pornel should be named official media assassin for the web platform http://lists.w3.org/Archives/Public/public-respimg/2013Oct/0060.html |
| 10:54 | <MikeSmith> | "Complexity doesn't come from DOM nodes, but from statefulness and massive JS API exposing network state." |
| 10:54 | <zcorpan> | smaug____: i think basically document.querySelector('div') and wraps that in an object with the jQuery stuff |
| 10:55 | <zcorpan> | at least that's what i gather from http://jsfiddle.net/JkB89/ |
| 10:55 | <jgraham> | Yes |
| 10:56 | <jgraham> | jQuery is pretty weird. To support their chaining API, you always get back a jQuery object, but with different internal state |
| 10:57 | <jgraham> | Except sometimes |
| 10:57 | <jgraham> | (actually maybe even then?) |
| 10:57 | <jgraham> | For example if you pass in a function it doesn't act as a selector but gets added to DOMContentLoaded as an event handler |
| 10:59 | <barnabywalters> | $(function) is a shortcut for $(document).ready(function) due to frequency of use |
| 11:00 | <smaug____> | uh |
| 11:00 | <smaug____> | good that I don't need to use jQuery for anything |
| 11:00 | <smaug____> | (except profiling this one testcase) |
| 11:07 | <darobin> | jgraham: there are cases in which you don't get a chainable value back |
| 11:07 | <darobin> | e.g. $el.attr("foo") |
| 11:08 | <jgraham> | Right. |
| 11:08 | <darobin> | I only find it confusing in boolean cases |
| 11:08 | <darobin> | otherwise it is quickly vernacular |
| 11:09 | <jgraham> | I'm not sure that "weird" is quite the same as "confusing" |
| 11:09 | <barnabywalters> | or if you do item lookups on jQuery objects, e.g. $('div')[0] will return a HTMLDivElement |
| 11:10 | <darobin> | jgraham: true, I reckon weird only applies when you're not used to it; confusing stays so afterwards |
| 11:10 | <jgraham> | Well I have used it enough to be "used" to it, but it is still weird |
| 11:11 | <darobin> | I don't find the jQuery API weird anymore, but I still regularly do if ($("div.bar")) ... |
| 11:11 | <darobin> | which is always true |
| 11:11 | <jgraham> | I have the feeling it makes it very very easy to write unmaintainable code |
| 11:12 | <jgraham> | But it is indeed very very easy |
| 11:13 | <zcorpan> | jQuery should hook into document.all when returning falsy objects :-) |
| 11:14 | <barnabywalters> | if NodeList objects could be iterated over easily then document.querySelectorAll would be almost as easy to use as $() |
| 11:14 | <darobin> | zcorpan: heh |
| 11:14 | <zcorpan> | does gecko have document.all in standards mode these days? |
| 11:15 | <darobin> | jgraham: my experience is that it doesn't lead to unmaintainable code that easily (certainly not less maintainable than the equivalent DOM...) |
| 11:15 | <jgraham> | Er, yeah, well "as good as DOM" isn't that much of a compliment :) |
| 11:15 | <annevk> | zcorpan: log: [object HTML document.all class] |
| 11:16 | <zcorpan> | seems so |
| 11:16 | <annevk> | barnabywalters: once TC39 decides on iterators that'll be the case |
| 11:16 | <jgraham> | Blink were talking about removing it, I heard |
| 11:16 | <jgraham> | Although talk is cheap |
| 11:17 | <annevk> | barnabywalters: though we're introducing document.queryAll() that returns an actual array |
| 11:17 | <annevk> | ETA unknown |
| 11:17 | <zcorpan> | annevk: weird stringification |
| 11:17 | <jgraham> | We were talking about introducing a sane way to construct elements but that seems to have died :( |
| 11:18 | <barnabywalters> | annevk: oh that’s great to hear |
| 11:18 | <annevk> | zcorpan: yeah seems like a bug |
| 11:18 | <annevk> | jgraham: we couldn't figure it out |
| 11:19 | darobin | wonders if all the methods of Node could be on NodeList but act like map() |
| 11:19 | <darobin> | you get jQuery right there :) |
| 11:19 | <annevk> | darobin: NodeList cannot really change |
| 11:19 | <jgraham> | I don't remember all the discussion, but I wonder if we were letting the perfect be the enemy of the good |
| 11:19 | <darobin> | jgraham: that never happens |
| 11:19 | <annevk> | hah |
| 11:20 | <darobin> | annevk: I don't think we'd get away with the massive increase in API surface anyway |
| 11:20 | <annevk> | I think we were waiting for html`magic-pony-land` |
| 11:20 | <darobin> | fuck your ponies, I want unicorns |
| 11:20 | <annevk> | darobin: well yeah, that's what I mean |
| 11:21 | <annevk> | darobin: as for unicorns, I'm still plotting about:unicorn |
| 11:21 | <darobin> | annevk: that is a component of the Web platform that has long been missing |
| 11:21 | zcorpan | briefly pictures annevk fucking ponies :-( |
| 11:22 | <darobin> | and to say that I was thinking about lunch... |
| 11:22 | jgraham | wonders where his factory reset button is |
| 11:22 | <annevk> | TMI zcorpan |
| 11:24 | <darobin> | I'm pretty sure that from now on whenever I see zcorpan I'll be wondering what he's picturing in his mind's eye |
| 12:19 | <MikeSmith> | I wonder if somebody could summarize the state of the "canvas in workers" discussion for me |
| 13:21 | <annevk> | MikeSmith: people like their own horse? |
| 13:24 | <jgraham> | annevk: We heard all about you and horses already today |
| 13:24 | <annevk> | o_O |
| 13:26 | <Ms2ger> | tmi |
| 13:46 | <SimonSapin> | annevk: do you have tests for URL parsing? (where?) |
| 13:46 | <annevk> | SimonSapin: annevk/url |
| 13:46 | <annevk> | SimonSapin: I submitted them to web-platform-tests too |
| 13:46 | <annevk> | SimonSapin: there's a PR somewhere |
| 13:47 | <SimonSapin> | got it, thanks |
| 13:50 | <zcorpan> | annevk: https://critic.hoppipolla.co.uk/r/300 is reviewed but has open issues |
| 13:51 | <annevk> | oh awesome |
| 13:51 | <annevk> | zcorpan: I'll try to address those next week |
| 13:51 | <zcorpan> | ok cool |
| 13:51 | <annevk> | I don't have email enabled for any GitHub related stuff so that's why I hadn't seen it |
| 13:52 | <Ms2ger> | Please enable it for critic ;) |
| 14:21 | <SimonSapin> | annevk: should your URL tests have a license? |
| 14:23 | <jgraham> | If they are in web-platform-tests they are W3C testsuite/BSD dual licensed |
| 14:29 | <Domenic_> | I am tempted to write some JSON on paper, possibly using non-Unicode characters, then ask some mailing lists which spec I should use when I hand the piece of paper to a coworker so that he can unambiguously interpret it. |
| 14:30 | <jgraham> | JSON can't be stored on paper, evidently |
| 14:32 | <Domenic_> | I am surprised Crockford hasn't made an actual marble monument with JSON on it to prove his point. |
| 14:33 | <MikeSmith> | Domenic_: oh man it sounds like that semweb guy must still be still be involved in the discussion |
| 14:33 | <MikeSmith> | I thought that had petered out |
| 14:33 | <MikeSmith> | is that still going somewhere? |
| 14:33 | <MikeSmith> | es-discuss? |
| 14:33 | <Domenic_> | Nah full on Ecma + W3C TAG vs. IETF fight going on here from what I can tell. www-tag |
| 14:36 | <MikeSmith> | oh I see the discussion has reached a possible Julian-Bjoern vortex |
| 14:36 | <Ms2ger> | Voertex? |
| 14:37 | <zewt> | oh jeez, gmail can't even get links right |
| 14:38 | <zewt> | i click a link in an editor and get the "go to link" popup, i middle click to open in another tab and ... it's not a real link |
| 14:38 | <MikeSmith> | Ms2ger: :) |
| 14:38 | <zewt> | google using fake links = ww3 |
| 14:41 | <MikeSmith> | anyway as far as this sitcom goes the scenes where the writers have that Peter F. Patel-Schneider character wander in to say stuff are still the funniest. Or at least the most novel. To me, the stuff they used to have the Bjoern character say was funnier than now. |
| 15:12 | <annevk> | SimonSapin: assume CC0 |
| 15:26 | <SimonSapin> | annevk: all the fields are (non-optional) strings except password which is an optional string, does that look right? https://github.com/annevk/url/blob/master/urltestparser.js#L7 |
| 15:27 | <SimonSapin> | (optional meaning null is allowed and different from the empty string) |
| 15:27 | <annevk> | yeah I think so |
| 15:57 | <annevk> | matijs: letterAt()? |
| 15:57 | <annevk> | matjas: ^^ |
| 15:57 | <annevk> | matjas: only superficially works, if you don't think too hard about it :) |
| 15:59 | <matjas> | “…but it deals with digits too!!1” |
| 16:00 | <annevk> | Oh, I was thinking combining marks. I could have kept it simple I suppose. |
| 16:05 | <matjas> | String.prototype.lolwAt() |
| 16:16 | <jgraham> | Hmm, someone has scrawlled "I hate AppCache!!! :(" on a napkin and stuck it to our office fridge |
| 16:16 | <Ms2ger> | Hah |
| 17:22 | <MikeSmith> | jgraham: they misspelled "ate" |
| 17:23 | <jgraham> | AppCache is a delicios delicacy? |
| 17:23 | <jgraham> | *delicious |
| 17:26 | <MikeSmith> | jgraham: I think it's a puzzle. You're supposed to go identify which person ate AppCache, based on their behavior |
| 17:26 | <MikeSmith> | btw http://w3c-test.org/web-platform-tests/master/battery-status/battery-interface.html |
| 17:26 | <MikeSmith> | did not treat noncallable host object as null expected (object) null but got (function) function "function Node() { [native code] }" |
| 17:26 | <MikeSmith> | is this is known problem or a bug in the test? |
| 17:29 | <TabAtkins> | zcorpan: Maybe? What sort of thing are you looking for? |
| 17:29 | <TabAtkins> | zcorpan: Also: file bugs in github, please. |
| 17:32 | <Ms2ger> | MikeSmith, looks like a test bug |
| 17:35 | <Ms2ger> | MikeSmith, yeah, window.Node has [[Call]] defined, so IsCallable(window.Node) is true, so it's just assigned |
| 17:37 | <MikeSmith> | Ms2ger: ok |
| 17:37 | <MikeSmith> | thanks |
| 17:37 | <Ms2ger> | Np |
| 18:48 | <Jasper> | Hixie_, Q on ML etiquette: if I have feedback on notifications, should I cross-post to public-notification-notification⊙wo and whatwg⊙wo, or just the former? |
| 18:49 | <Ms2ger> | Don't cross post |
| 18:49 | <MikeSmith> | Jasper: it's fine to just post to whatwg⊙wo |
| 18:50 | <Jasper> | MikeSmith, just whatwg@ ? OK. |
| 18:57 | <hober> | obv. we need to make json.spec.whatwg.org; there aren't enough competing json specs. |
| 18:59 | <Ms2ger> | Clearly |
| 19:06 | <gsnedders> | hober: I thought it was deliberate that they all defined the exact same bytestream as valid |
| 19:20 | <Hixie_> | Jasper: what Ms2ger and MikeSmith said. |
| 19:29 | <Hixie_> | anyone know what MSPointerDown, MSPointerUp, MSPointerMove, MSPointerOver, and MSPointerOut are? |
| 19:29 | <Hixie_> | oh i see, vendor prefix for Pointer Events |
| 20:01 | <GPHemsley> | TabAtkins: Is there a character or character sequence that is allowed in a CSS class name but not in an XML element name? |
| 20:01 | <GPHemsley> | TabAtkins: Also, is there a way to style multiple elements as if they were contained within a single pseudo-element? |
| 20:03 | <SimonSapin> | GPHemsley: yes, CSS accepts anything non-ASCII in identifiers. XML has a bunch of ranges: http://www.w3.org/TR/REC-xml/#NT-NameStartChar |
| 20:05 | <SimonSapin> | though if you count escaping, class selectors can be anything |
| 20:08 | <Hixie_> | GPHemsley: "1" |
| 20:08 | <Hixie_> | GPHemsley: or even " " :-) |
| 20:09 | <Hixie_> | as SimonSapin says, pretty much anything |
| 20:09 | <GPHemsley> | I was hoping to avoid escaping |
| 20:10 | <Hixie_> | .× |
| 20:10 | <Hixie_> | looks like it should be valid CSS but invalid XML |
| 20:11 | <Hixie_> | as in <×> should be invalid xml |
| 20:11 | <GPHemsley> | I'm converting XML to HTML, with the old XML element names as the class on the HTML element |
| 20:12 | <GPHemsley> | and I was hoping to somehow identify elements in non-default namespaces in a such a way that wouldn't clash with default-namespace elements of the same name |
| 20:13 | <GPHemsley> | without being too exotic |
| 20:13 | <Hixie_> | that sounds like a terrible thing to do, but shouldn't be too hard to come up with a solution :-) |
| 20:13 | <Hixie_> | do you need to know the namespace? |
| 20:14 | <Hixie_> | or do you need to distinguish namespaces in some way? |
| 20:14 | <Hixie_> | you could just use ':' in the class name |
| 20:14 | <Hixie_> | or '×' |
| 20:14 | <Hixie_> | as in, class="foo×bar" for <foo:bar/> |
| 20:14 | <GPHemsley> | I hope/plan to use the different namespace classes for styling, yeah |
| 20:15 | <GPHemsley> | but I suppose that could work |
| 20:15 | <GPHemsley> | is there anything I could use that's easier to type than the multiplication sign? |
| 20:15 | <GPHemsley> | (and that doesn't require escaping) |
| 20:15 | <Hixie_> | i would just use something like class="ns-foo e-bar" or something |
| 20:16 | <GPHemsley> | oh |
| 20:16 | <GPHemsley> | hmm |
| 20:16 | <GPHemsley> | I suppose that could work |
| 20:16 | <Hixie_> | subsuming a namespace into another is always a good way to avoid clashes :-) |
| 20:16 | <GPHemsley> | heh, yeah |
| 20:17 | <GPHemsley> | is - OK as a first character in a class? |
| 20:18 | <GPHemsley> | like, what if I did "-bar" and "foo-bar"? |
| 20:18 | <Hixie_> | you'd need .\-bar |
| 20:18 | <GPHemsley> | or somesuch |
| 20:18 | <GPHemsley> | ah, darn |
| 20:19 | <Hixie_> | but you can just have the "" namespace turn into "e-bar" and other namespaces turn into "e-foo-bar" |
| 20:19 | <Hixie_> | hm, wait |
| 20:19 | <GPHemsley> | ah, hmm |
| 20:19 | <Hixie_> | that wouldn't work |
| 20:19 | <Hixie_> | element names can have hyphens |
| 20:19 | <GPHemsley> | oh, right |
| 20:19 | <Hixie_> | e--bar and e-foo-bar, assuming you can normalise your namespace prefixes |
| 20:20 | <GPHemsley> | what am I trying to avoid? |
| 20:20 | <Hixie_> | - |
| 20:20 | <GPHemsley> | gotcha |
| 20:20 | <GPHemsley> | hmm |
| 20:20 | <GPHemsley> | I think having two separate classes would be the easier route |
| 20:21 | <Hixie_> | but really if you're doing this you also probably want to avoid <foo:bar xmlns:foo="a"/><bar xmlns="a"/><baz:bar xmlns:baz="a"/> from being three namespaces in the CSS |
| 20:21 | <Hixie_> | so you'll probably need some cleverer normalisation of the namespaces |
| 20:21 | <Hixie_> | s/in the CSS/in the HTML/ |
| 20:23 | <GPHemsley> | what's wrong with <span class="ns-foo bar"></span><span class="ns- bar"></span><span class="ns-baz bar"></span> ? |
| 20:23 | <GPHemsley> | oh |
| 20:23 | <GPHemsley> | make all those e-bar |
| 20:25 | <GPHemsley> | what's wrong with <span class="ns-foo e-bar"></span><span class="ns- e-bar"></span><span class="ns-baz e-bar"></span> ? |
| 20:25 | <Hixie_> | well it depends what you're doing, but if you're doing anything sane, you've just suffered dataloss. |
| 20:25 | <Hixie_> | those three elements in my sample above are {a,bar}{a,bar}{a,bar} |
| 20:25 | <Hixie_> | if you serialise them as being in different namespaces, you're violating the Namespaces in XML spec. |
| 20:26 | <GPHemsley> | ah, I see |
| 20:26 | <Hixie_> | (i guess technically they're {a}bar,{a}bar,{a}bar) |
| 20:26 | <GPHemsley> | right |
| 20:26 | <GPHemsley> | hmm |
| 20:27 | <GPHemsley> | Is xmlns the default namespace? |
| 20:27 | <Hixie_> | that question is "not even wrong" |
| 20:27 | <Hixie_> | i don't know what you mean by it |
| 20:28 | <GPHemsley> | oh |
| 20:28 | <Hixie_> | do you mean, does xmlns="" set the default namespace? |
| 20:28 | <Hixie_> | as in, xmlns="..." |
| 20:28 | <Hixie_> | if so, yes. |
| 20:28 | <GPHemsley> | I guess the more basic question is, does the default namespace have a unique identifier? And, if so, what is it? |
| 20:28 | <Hixie_> | for elements |
| 20:29 | <Hixie_> | a namespace is an opaque string. the default namespace can be set to whatever opaque string you want. |
| 20:29 | <Hixie_> | in a namespace-wellformed XML file with no xmlns="" attributes, the namespace of the elements is "" |
| 20:29 | <GPHemsley> | oh, perhaps there's a terminology conflict... what is the part before the colon called in <foo:bar>? |
| 20:29 | <GPHemsley> | (i.e. "foo") |
| 20:30 | <GPHemsley> | <foo:bar xmlns="baz" /> |
| 20:30 | <GPHemsley> | (or is that even valid?) |
| 20:30 | <Hixie_> | prefix. |
| 20:30 | <GPHemsley> | prefix, OK |
| 20:31 | <GPHemsley> | s/namespace/prefix/ wherever I sounded silly |
| 20:31 | <GPHemsley> | though I suppose that doesn't sound any less silly |
| 20:31 | <Hixie_> | (my statement above is technically incorrect. in a namespace-wellformed XML file with no xmlns="" attributes, the namespace of the elements is |no namespace|. It's unclear to me what the difference is.) |
| 20:32 | <GPHemsley> | null vs. the empty string? |
| 20:32 | <Hixie_> | (and setting the default namespace to "" using xmlns="" sets the default namespace to |no namespace|, not the empty string) |
| 20:32 | <GPHemsley> | ah |
| 20:32 | <Hixie_> | it's not "null" per se, it's just there's-no-namespace. |
| 20:33 | <Hixie_> | there's no way to distinguish it from "" as far as i can tell |
| 20:33 | <GPHemsley> | nonetheless, this is probably way off-topic from what I was looking to find out :P |
| 20:34 | <GPHemsley> | though you've pretty much given my answer for that |
| 20:34 | <Hixie_> | (and xmlns:foo="" seems like it's a well-formedness error) |
| 20:34 | <GPHemsley> | the subquestion I was looking to answer whether "ns-" was a valid serialization of the default namespace, or if perhaps "ns-xmlns" was better |
| 20:35 | <GPHemsley> | (as a CSS class) |
| 20:35 | <Hixie_> | what do you mean by "the default namespace"? |
| 20:35 | <GPHemsley> | the one represented without a prefix |
| 20:35 | <GPHemsley> | <bar> |
| 20:35 | <Hixie_> | the lack of a prefix or the presence of a prefix is not semantically relevant. |
| 20:35 | <GPHemsley> | hmm, OK |
| 20:36 | <Hixie_> | except for elements in no namespace, you can express elements with or without a prefix. |
| 20:36 | <Hixie_> | <bar xmlns="a"> and <foo:bar xmlns:foo="a"> are semantically indistinguishable |
| 20:36 | <GPHemsley> | any chance we can ignore that fact for simplicity's sake? |
| 20:37 | <Hixie_> | (if "a" is the empty string, then the second is non-well-formed) |
| 20:37 | <Hixie_> | well you can ignore anything you like, but if what you're doing is attempting to be useful and follow specs, you do so at your peril :-) |
| 20:37 | <Hixie_> | i mean it's like saying "can we ignore the fact that <foo/> is an empty element and just treat it like a start tag" |
| 20:38 | <GPHemsley> | well, I wasn't heretofore operating as if what I was doing was governed by a spec |
| 20:38 | <Hixie_> | or "can we ignore the fact that element names in HTML are case-insensitive" |
| 20:41 | <GPHemsley> | oh, wait, I think my XML parser abstracts away from this alright |
| 20:41 | <GPHemsley> | s/alright/already/ |
| 20:41 | <GPHemsley> | which means I can use what prefixes I want |
| 20:41 | <GPHemsley> | s/what/whatever/ |
| 20:42 | <GPHemsley> | i.e. all those things will already be treated as the same |
| 20:43 | <GPHemsley> | because I get the information as "{a}bar" not "{foo}bar" |
| 20:43 | <Hixie_> | good |
| 20:44 | <GPHemsley> | so I can map "a" to "foo" (in "ns-foo") |
| 20:44 | <GPHemsley> | the only problem is if something actually is "{foo}bar" |
| 20:44 | <GPHemsley> | time for another namespace, I guess |
| 20:45 | <GPHemsley> | "ns-p-foo" "ns-ns-foo" |
| 20:45 | <GPHemsley> | this is getting too complicated |
| 20:45 | <GPHemsley> | "p-foo" and "ns-foo" is probably better |
| 20:46 | <GPHemsley> | "p-foo" "ns-foo" "e-foo" |
| 20:46 | <GPHemsley> | I can probably figure that all out from here... |
| 20:46 | <GPHemsley> | any chance there's an answer to my original second question? |
| 20:47 | <Hixie_> | i've (a) lost track of what you're doing and (b) no idea what your second question was, sorry :-) |
| 20:54 | <GPHemsley> | is there a way to style multiple elements as if they were contained within a single pseudo-element? |
| 20:54 | <GPHemsley> | Hixie_: ^ |
| 21:02 | <Hixie_> | not to my knowledge |
| 21:02 | <Hixie_> | i've been asking for stuff like that since forever |
| 21:04 | <Hixie_> | annevk-cloud: you around? |
| 21:04 | <Hixie_> | annevk-cloud: Map and Set and structured clones, what's the story |
| 21:04 | <Hixie_> | annevk-cloud: should i spec it? |
| 21:15 | <SimonSapin> | GPHemsley: not that I know of |
| 21:26 | <matijs> | ugh… there I was, thinking that someone finally need me in this here fine channel! |
| 21:26 | <matijs> | +annevk-cloud |
| 21:33 | <rniwa_> | rafaelw: yt? |
| 21:33 | <rniwa_> | aklein: yt? |
| 21:34 | <aklein> | ah, over her? |
| 21:34 | <aklein> | here |
| 21:34 | <aklein> | rniwa_: now I am |
| 21:34 | <rniwa_> | aklein: hi |
| 21:34 | <rniwa_> | aklein: so does template element provide some way to fill in values? |
| 21:34 | <rniwa_> | aklein: we were thinking of a use case where you want to define a template once |
| 21:35 | <rniwa_> | aklein: and use it in multiple places |
| 21:35 | <rniwa_> | aklein: as I understand it, you do that by template.content.cloneNodes(true) |
| 21:35 | <rniwa_> | aklein: but in a lot of use cases, you want to fill in some values inside the DOM |
| 21:36 | <aklein> | rniwa_: there's nothing in the element itself that provides a way to fill stuff in; for now that's left to (library) authors |
| 21:36 | <rniwa_> | aklein: e.g. <template><address><name>Ryosuke Niwa</name><email>rniwa⊙wo</email></address></template> |
| 21:36 | <rniwa_> | aklein: can we add some mechanism to do it declaratively either in template element or custom element? |
| 21:37 | <rniwa_> | aklein: it seems like this whole system is less useful if we didn't have any declarative mechanism to do that |
| 21:37 | <rniwa_> | aklein: e.g. to give you a more concrete example |
| 21:37 | <rniwa_> | aklein: suppose you wanted to add a "like button" on every article you have on your page |
| 21:37 | <rniwa_> | aklein: think of techcrunch.com |
| 21:37 | <rniwa_> | aklein: then you want to specify some parameters, etc… in your template that includes iframe |
| 21:37 | <rafaelw> | rniwa: catching up |
| 21:38 | <rniwa_> | aklein: but then the url you pass in to the Facebook needs to be different for each article |
| 21:38 | <aklein> | rniwa_: indeed, this was in the original MDV plan; it's since been broken into smaller pieces, but rafaelw has some ideas about the next pieces of this |
| 21:38 | <rniwa_> | aklein: it really sucks that people have to write any script at all to do this |
| 21:38 | <rafaelw> | Totally agree. |
| 21:38 | <rafaelw> | So the current design is that there remaining bits required to do full templating & databinding are |
| 21:39 | <rniwa_> | rafaelw, aklein: excelllent. |
| 21:39 | <rafaelw> | 1) Node.bind: This makes it the concern of nodes to understand what it means to be bound to a value |
| 21:40 | <rafaelw> | 2) TemplateBinding: This defines the syntax for replacements within a template and explains how templates produce instance of there content with bound values |
| 21:40 | <rniwa_> | rafaelw: does 2 require 1? |
| 21:40 | <rniwa_> | rafaelw: I think in a lot of use cases, you don't really have to bind a variable |
| 21:40 | <rniwa_> | because the value is fixed once an instance is created |
| 21:41 | <rafaelw> | 3) TemplateBinding defines a delegation mechanism which gives script a chance to custom-interpret the meaning of bindings. This allows what we specify to be fairly simple -- bypassing lots of issues around everyone's favorite syntax & semantics, and allows script to implement more advance functionality. |
| 21:41 | <rafaelw> | yes, 2 requires 1. |
| 21:41 | <rafaelw> | These designs are currently codified as (seperable) sub-repos with in the Polymer project. |
| 21:42 | <rniwa_> | rafaelw: okay |
| 21:42 | <rafaelw> | It's still my intent to write specs for these two remaining primitives (Node.bind and TemplateBinding). |
| 21:42 | <rniwa_> | rafaelw: do you have pointers for those? |
| 21:42 | <rniwa_> | rafaelw: great. |
| 21:42 | <rafaelw> | If you're interested in supporting this effort, I'd love it. |
| 21:42 | <rniwa_> | rafaelw: presumably, all of this will be spec'ed in WebApps WG? |
| 21:42 | <rniwa_> | rafaelw: well, I have to talk with my colleagues |
| 21:42 | <rafaelw> | https://github.com/Polymer/NodeBind |
| 21:42 | <rniwa_> | rafaelw: but we're definitely interested in this functionality |
| 21:43 | <rafaelw> | https://github.com/Polymer/TemplateBinding |
| 21:43 | <rafaelw> | That would be my desire. Obviously WebApps has accepted this as a deliverable yet. |
| 21:43 | <rniwa_> | rafaelw: because we want to have a declarative form of custom element & auto-template-instantiation with parameterization |
| 21:43 | <rafaelw> | Your support would be helpful in that direction =-) |
| 21:44 | <rniwa_> | rafaelw: is there any write up of use cases or designs I can read somewhere? |
| 21:44 | <rafaelw> | Sounds exciting. |
| 21:44 | <rniwa_> | rafaelw: yeah. |
| 21:44 | <Domenic_> | rafaelw: I am idly curious why web components is at W3C and not WHATWG |
| 21:44 | <rniwa_> | rafaelw: I actually think this stuff is much more important than inheritance, etc… in shadow DOM |
| 21:44 | <rniwa_> | rafaelw: because customizing & instantiating a template is something everyone does already |
| 21:44 | <Domenic_> | e.g. the problems caused by having <template> be in an outdated W3C draft but also in the WHATWG HTML spec. |
| 21:45 | <rafaelw> | Unfortunately, no. The design is conceptually simple, but I don't have a write-up at the moment. |
| 21:45 | <rniwa_> | rafaelw: okay. |
| 21:45 | <rniwa_> | rafaelw: it would be great if we could either sync up on this |
| 21:45 | <rafaelw> | Perhaps it's worth a white-board discussion =-) |
| 21:45 | <rafaelw> | Love to. |
| 21:45 | <rniwa_> | rafaelw: or you write write a short summary on what your current design is |
| 21:45 | <rniwa_> | if you could* write |
| 21:46 | <rafaelw> | domenic: The <template> spec has been integrated into HTML |
| 21:46 | <rafaelw> | it's effectively in both whatwg and w3c. |
| 21:47 | <rafaelw> | rniwa_; I'll send you an email. |
| 21:47 | <rniwa_> | rafaelw: thanks! |
| 21:47 | <rniwa_> | rafaelw: it seems like the current template element spec is pretty stable at this point |
| 21:47 | <rniwa_> | but we really need that node binding stuff though :/ |
| 21:47 | <rniwa_> | it's nice not having to worry about adoption agency craziness |
| 21:48 | <rniwa_> | but it's less than ideal that you have to manually traverse the DOM and replace values yourself :/ |
| 21:49 | <rniwa_> | rafaelw, aklein: anyways, thanks for the info! I might come back to you guys later (not today though) asking more info LOL |
| 21:50 | <rafaelw> | awesome. |
| 21:55 | <aklein> | rniwa_: cool, thanks for pinging us |
| 22:04 | <annevk-cloud> | Hixie_: you could for short term benefit if you want. Long term cloning ought to move to ES |
| 22:12 | <abarth> | Does anyone know if ms2ger is still actively editing http://domparsing.spec.whatwg.org/ ? |
| 22:13 | <abarth> | some folks have asked for a version of DOMParser#parseFromString that returns a promise for a document rather than a document |
| 22:13 | <abarth> | (so that the parsing can happen on a background thread rather than synchronously on the main thread) |
| 22:13 | <abarth> | I guess I could email whatwg@ and find out |
| 22:14 | <smaug____> | perhaps not actively, but we were discussing about some other stuff in that spec earlier this week, and he will probably fix those issues..... |
| 22:15 | <Domenic_> | +1 async parsing |
| 22:16 | <smaug____> | I guess "not actively" is because no one has asked changes to that spec until very recently |
| 22:16 | <smaug____> | async parsing if there is a use case |
| 22:16 | <smaug____> | I guess there is |
| 22:16 | <smaug____> | if the string is huge |
| 22:16 | <smaug____> | but then, you really want to change the API |
| 22:17 | <smaug____> | so that the parser takes some kind of stream or buffers |
| 22:17 | <smaug____> | which are parsed |
| 22:17 | <abarth> | yeah, there's a bunch of modernization that you could do |
| 22:17 | <abarth> | like accepting a Blob or a Stream |
| 22:18 | <smaug____> | In Gecko we have parseFromStream, exposed to chrome js only |
| 22:18 | <smaug____> | that Stream is internal thing |
| 22:18 | <smaug____> | not any web api |
| 22:20 | <abarth> | The trickiness with Blobs and Streams it that they're binary |
| 22:31 | <esprehn> | abarth: once we fix xhr in Chrome someone should create a polyfill |
| 22:31 | <abarth> | yeah |
| 22:32 | <abarth> | that will still be slower than just parsing the string directly |
| 22:32 | <abarth> | due to memcpying the string a bunch |