00:25 | <zewt_> | dear google: stop returning 4 results and then going "results for similar searches" with no way to get more real non-irrelevant results |
00:50 | <TabAtkins> | zcorpan: Regarding http://lists.w3.org/Archives/Public/www-style/2013Jun/0038.html, no bug yet. I haven't done it yet, but expect to get to several UseCounter things this week. |
00:54 | <TabAtkins> | SimonSapin: Except for the occasional thread where we mess up, the css private list is solely for things like dinner plans and f2f details. We discuss nothing of importance there, but some of the things we *do* discuss are mildly sensitive, and are best done privately. |
05:55 | <UserC479> | hi there - i need help - trying to figure out how to get background image and body content one color |
09:14 | <Ms2ger> | zcorpan, you should have access now |
09:14 | <zcorpan> | Ms2ger: thanks |
09:21 | <MikeSmith> | jgraham: it'd be nice to have a message bot on #whatwg too |
09:32 | <Ms2ger> | zcorpan, how do you feel like adding a test for https://bitbucket.org/ms2ger/anolis/pull-request/11/enable-usage-of-instead-of-for-xrefs-also/diff too? :) |
09:34 | <zcorpan> | Ms2ger: (╯°□°)╯︵ ┻━┻ |
09:35 | <Ms2ger> | That seems unhappy :) |
09:36 | <zcorpan> | i'll add a test |
09:36 | <Ms2ger> | Thanks :) |
09:48 | <Ms2ger> | Is there anything else I promised someone here to do this week? |
10:18 | <zcorpan> | annevk: can you update web-apps-tracker please? |
10:19 | <annevk> | zcorpan: we're just gonna 404 web-workers-tracker? |
10:20 | <zcorpan> | annevk: yeah, why not? |
10:20 | <annevk> | seems it ought to be 410 |
10:21 | <zcorpan> | fair enough |
10:22 | <annevk> | you also forgot to update the .htaccess |
10:22 | <annevk> | do you want me to do that? |
10:24 | <annevk> | i'm gonna do that |
10:28 | <annevk> | I wonder why I couldn't do that online |
10:31 | <annevk> | hmm scp * doesn't copy .htaccess |
10:59 | <annevk> | Ms2ger: I think you promised to do AttrExodus this week |
10:59 | <Ms2ger> | Ha |
11:04 | <annevk> | zcorpan: btw, I synced the whole thing now |
11:04 | <zcorpan> | annevk: thanks! |
11:11 | <annevk> | Asked Domenic_ about a better NodeList for find/findAll: https://gist.github.com/domenic/5864658 |
11:11 | <annevk> | Not entirely sure why it uses const, but the logic looks reasonable. |
11:25 | <annevk> | zcorpan: "url += location.protocol+'//'+location.host+location.pathname+location.search;" why not just echo location? Want to avoid the fragment? |
11:30 | <zcorpan> | annevk: yeah |
12:06 | <zcorpan> | Ms2ger: i wrote a test but i get this error: |
12:06 | <zcorpan> | self.buildReferences(ElementTree, **kwargs) |
12:06 | <zcorpan> | TypeError: buildReferences() takes at least 3 arguments (2 given) |
12:06 | <zcorpan> | from xspecxref.py |
12:08 | <Ms2ger> | Hmm |
12:08 | <Ms2ger> | Try adding "allow_duplicate_dfns": false in the options? |
12:09 | <zcorpan> | TypeError: buildReferences() takes at least 3 arguments (3 given) |
12:11 | <Ms2ger> | Oh, wait |
12:11 | Ms2ger | blames annevk |
12:12 | <Ms2ger> | How about if you change... |
12:12 | <Ms2ger> | - def buildReferences(self, ElementTree, xref, allow_duplicate_dfns=False, **kwargs): |
12:12 | <Ms2ger> | + def buildReferences(self, ElementTree, xref="data/", allow_duplicate_dfns=False, **kwargs): |
12:12 | <Ms2ger> | Or without the slash |
12:15 | <zcorpan> | then i get SyntaxError: Specification not found: foobar. i guess i should have "xref":"xref" in options? |
12:15 | <Ms2ger> | Yeah |
12:17 | <zcorpan> | tests/xref even |
12:17 | <zcorpan> | ok now it seems to work |
12:25 | <zcorpan> | thanks. pushed |
12:34 | <annevk> | Ms2ger: I don't even |
12:49 | <zcorpan> | TabAtkins: ok cssom toc is now non-ugly |
13:44 | <annevk> | Hmm, http:@/example.com/ ends up as http:///example.com/ which ends up as http://example.com/ |
13:47 | <MikeSmith> | annevk: is that bad? |
13:48 | <annevk> | MikeSmith: it would be nice if parsing URLs was idempotent |
13:48 | <MikeSmith> | ah |
13:49 | <annevk> | MikeSmith: maybe that's not quite the right term, but parse(serialize(parse(x))) is ideally equal to parse(x) |
13:50 | <hober> | that's the right term |
13:50 | <Hixie_> | mornin' all |
13:51 | <annevk> | hober: Hixie_: early much? :) |
13:53 | <Hixie_> | yes. |
13:57 | <annevk> | hober: yeah so ap suggested this |
13:58 | <annevk> | hober: it seems we'd have to forbid empty host names to make that actually work out |
13:59 | <annevk> | aaah |
13:59 | <annevk> | that's what he implemented |
14:04 | <hober> | annevk: re: early, yeah, got an early morning appt |
14:16 | <Hixie_> | i think my least favourite people who aren't actually evil are people who complain about things in vague terms but refuse to give specifics because they "know" that the complaints won't be fixed |
14:17 | <Ms2ger> | Me? |
14:18 | <Ms2ger> | I guess I'm actually evil |
14:18 | <Hixie_> | no, you file tons of specific bugs |
14:18 | <Hixie_> | i mean like http://www.reddit.com/r/web_design/comments/1gtxtz/i_need_clarification_on_article_and_section/caqed9q |
14:20 | <zcorpan> | Hixie_: i commented on https://www.w3.org/Bugs/Public/show_bug.cgi?id=14703 - let me know if you need something more or if i'm being unclear |
14:21 | <annevk> | "Even the writing ability is lower in this document compared to previous HTML versions." what does this mean? |
14:21 | <zcorpan> | annevk: idempotent should be a requirement |
14:22 | <annevk> | Heh, what did Chris Wilson do? |
14:22 | <annevk> | zcorpan: is this just a "makes sense" remark or is this coming from somewhere? |
14:23 | <Hixie_> | zcorpan: cool, thanks |
14:24 | <annevk> | zcorpan: Hixie_: HTML should probably define <?xml-stylesheet?> in total, so it can also define when to do XSLT |
14:24 | <annevk> | XSLT \o/ |
14:25 | <SimonSapin> | Can HTML even do XSLT? |
14:25 | <Hixie_> | i don't understand xslt, and nobody else seems to care enough to tell me what it should say, so i'm not doing xslt stuff. |
14:25 | <zcorpan> | annevk: not being idempotent can lead to bugs like http://labs.spotify.com/2013/06/18/creative-usernames/ |
14:25 | <MikeSmith> | annevk: yeah about URL parsing, I understood what you meant. Maybe plain-old "round-trippable" is a better term |
14:25 | <Hixie_> | annevk: see bug 18460 |
14:25 | <annevk> | SimonSapin: I meant HTML as in the HTML Standard |
14:26 | <Hixie_> | annevk: and bug 17976 |
14:26 | <annevk> | SimonSapin: I think our XSLT APIs might allow for non-XML DOMs to be used though, haven't played with that |
14:26 | <annevk> | Hixie_: yeah I'm aware, I don't care enough really to fix that up, if it was up to me we'd nuke <?xml-stylesheet?> |
14:26 | <Hixie_> | ditto |
14:28 | <zcorpan> | Hixie_: i've made CSSOM only know about CSS as the supported styling language, btw |
14:28 | <annevk> | zcorpan: heh, that's pretty much why I'm looking into this (different exploit of course) |
14:29 | <annevk> | zcorpan: Hixie_: I think embracing CSS / JavaScript makes sense as we'd have to rethink a whole lot of things anyway when it comes to introducing something new |
14:30 | <annevk> | zcorpan: Hixie_: also, for most other features our extensibility story is almost never that we anticipate something new but that we leave ways for new things to be introduced later |
14:30 | <Ms2ger> | Hixie_, if you want to know about xslt, you just need to ask hsivonen :) |
14:30 | <annevk> | zcorpan: Hixie_: seems kinda weird that for CSS and JavaScript we explicitly call out some theoretical non-CSS and non-JavaScript thingies |
14:30 | <zcorpan> | annevk: yeah. the features have intertwingled with css and js specifics anyway already |
14:31 | <zcorpan> | so the theory is just an illusion |
14:31 | <annevk> | right |
14:52 | <Hixie_> | Ms2ger: pretty sure he's cc'ed on those bugs |
14:53 | <Hixie_> | zcorpan: vbscript and dart have both been implemented in browsers, so it's not that much an illusion. it's just that we're not doing a good job of it. |
14:53 | <Hixie_> | (and i agree that we shouldn't...) |
14:56 | <zcorpan> | Hixie_: dart has a separate API for the DOM, right? |
14:57 | <Hixie_> | probably |
15:02 | <annevk> | rillian: http://quuz.org/webvtt/ has that error message you wanted now |
15:03 | <annevk> | rillian: see https://github.com/annevk/webvtt/commit/89316fa128668bd953be9db162dd9751a990f4d7 for the change if you're interested |
15:41 | <Hixie_> | rafaelw: ping |
15:50 | <SteveF> | question: does the browser update the value if you do a setfocus on an element whose tabindex value is set to -1? or does it just return the tabindex value for the element as set in the element attribute set? and where is this specced? |
15:51 | <annevk> | SteveF: as an editor of HTML5.1... |
15:52 | <SteveF> | annevk: I don't expect to know everything and thats HTML 5.1 to you ;-) |
15:52 | <annevk> | SteveF: you correct spelling of such things is quite rich, but fair enough |
15:52 | <SteveF> | annevk: and am happy to show my ignorance in order to get a helpful answer |
15:52 | <annevk> | correcting, even |
15:53 | <SteveF> | annevk: tongue in cheek is the term i would use, so do you know i just wanted to bait me? |
15:54 | <annevk> | SteveF: it's not entirely clear what your question means, but I do know the answer can be found in HTML |
15:54 | <SteveF> | or just |
15:54 | <SteveF> | OK so will look some more |
15:55 | <annevk> | SteveF: e.g. whether you're talking about the DOM property or the content attribute |
15:55 | <annevk> | SteveF: and what "value" refers to |
15:58 | <SteveF> | annevk: I am talking about the HTMLElement interface property. Not the content attribute |
15:58 | <SteveF> | interface HTMLElement : Element { |
15:58 | <SteveF> | // metadata attributes |
15:58 | <SteveF> | attribute DOMString title; |
15:58 | <SteveF> | attribute DOMString lang; |
15:58 | <SteveF> | attribute boolean translate; |
15:58 | <SteveF> | attribute DOMString dir; |
15:58 | <SteveF> | readonly attribute DOMStringMap dataset; |
15:58 | <SteveF> | // user interaction |
15:58 | <SteveF> | attribute boolean hidden; |
15:58 | <SteveF> | void click(); |
15:58 | <SteveF> | attribute long tabIndex; |
15:58 | <SteveF> | annevk: btw asking for a friend |
15:59 | <annevk> | "The tabIndex IDL attribute must reflect the value of the tabindex content attribute. Its default value is 0 for elements that are focusable and −1 for elements that are not focusable." |
16:00 | <SteveF> | annevk: thanks |
16:05 | <Hixie_> | annevk: you don't honestly expect w3c editors to have read the spec they're editing, do you? |
16:06 | <annevk> | I was going to say "I don't even" but I think I reached my quota for that |
16:07 | annevk | defers to the topic |
16:07 | <Hixie_> | (one would imagine that "reading the spec" would be a prerequisite for being assigned as editor or chair, but...) |
16:18 | <Hixie_> | darobin: since rafaelw's not around, maybe you can help. do you have any idea why rafael and tony added the "in html scope" thing? Isn't it equivalent to just asking if the element is in the stack at all? |
16:18 | <Hixie_> | darobin: (or for that matter, do you have any info on the questions i was asking yesterday, like, "<body><template><body></body><!---->; where does the comment go?") |
16:19 | <annevk> | Hixie_: are you considering nested <template> elements? |
16:20 | <annevk> | (I haven't read the <template> spec in detail, just thinking some of it might be related to that) |
16:21 | <Hixie_> | yes |
16:21 | <Hixie_> | i don't think nested templates do anything special in these cases |
16:21 | <Hixie_> | but i could be wrong, certainly |
16:26 | <annevk> | Hixie_: reading it, it does seem like all it means is if there's a <template> on the stack |
16:27 | <Hixie_> | it can't just be that, surely. otherwise why woudl rafael and tony and darobin all write it the way they did instead of the simpler way. |
16:28 | <annevk> | Hmm, how does that stack concept work? Don't <template> elements have their own stack? |
16:29 | <Hixie_> | of open elements? |
16:29 | <Hixie_> | there's just one of those |
16:30 | <Hixie_> | i'm really confused by 7.7 |
16:30 | <Hixie_> | why do they only add "template" to the table scope list |
16:30 | <Hixie_> | surely it should be in all the scope lists? |
16:33 | annevk | is lost |
16:33 | annevk | goes back to hacking his URL parser |
16:33 | <Hixie_> | eh |
16:33 | <Hixie_> | heh even |
16:34 | <Hixie_> | next question. why does <template> not reset the frameset-ok flag? |
16:35 | Hixie_ | also wonders why they went with "template contents" instead of "in template" for the insertion mode, given the style of all the other modes |
16:43 | <annevk> | Hixie_: consistency does not seem high on the list for most people; e.g. CSP decided to use URI throughout contrary to most of the platform |
16:45 | <rafaelw> | hixie: here now. |
16:47 | <rafaelw> | yes. that is the idea. |
16:47 | <rafaelw> | i'd be fine saying it a different way. |
16:49 | <Hixie_> | rafaelw is here! woot |
16:49 | <Hixie_> | rafaelw: ok, let me go back to my list of questions. i hope you slept well. :-) |
16:50 | <Hixie_> | rafaelw: given <button><template><button>, should the template have a button in it? |
16:52 | <Hixie_> | (currently chrome says yes, firefox says no) |
16:52 | <Hixie_> | (as far as i can tell, the spec says no) |
16:53 | <Hixie_> | (but it seems like yes is the better answer? from my naive perspective, anyway...) |
16:53 | <Hixie_> | basically this boils down to "should 'template' be added to the various lists of "in foo scope" elements, in addition to just the "in table scope" one that is specified currently" |
17:02 | <Hixie_> | (i guess we don't have to add it to the select scope list, i can't see a way in which that would affect parsing) |
17:05 | <rafaelw> | yes. slept better. |
17:05 | <rafaelw> | thanks. |
17:05 | <rafaelw> | good question. i don't think this came up previously. |
17:05 | <rafaelw> | looking |
17:08 | <dglazkov> | good morning, Whatwg! |
17:08 | <Hixie_> | rafaelw: similar question would be how to parse <body><template><body></body><!--x--> |
17:09 | <Hixie_> | rafaelw: in firefox and the spec, the comment ends up outside the template. in chrome, it goes inside the tempalte |
17:09 | <Hixie_> | (in neither case does a second <body> get created, obviously) |
17:10 | <rafaelw> | Ok. So WebKit/blink added template as a new element in the set of scope markers. |
17:10 | <Hixie_> | (nor do attributes on the second get propagated) |
17:10 | <rafaelw> | I know this was intentional. |
17:10 | <Hixie_> | seems like the right thing to do |
17:10 | <rafaelw> | That explains the button example. |
17:11 | <rafaelw> | I know the spec adds template as a "special" element. |
17:11 | <rafaelw> | (which means it gets a cute hat) |
17:12 | <Hixie_> | it also explains the comment example, i think |
17:13 | <Hixie_> | the scope thing, i mean |
17:13 | <Hixie_> | not the hat :-) |
17:15 | <MikeSmith> | Hixie_: btw not to break your train of thought, but in <p><style scoped>/* first */</style><style scoped>/* second */</style> is the second <style> instance valid or should it be reported as an error? |
17:15 | <rafaelw> | I think maybe the spec needs to add template as a (general) scope marker. |
17:15 | <Hixie_> | MikeSmith: off the top of my head, should be valid, i think. is the spec unclear? |
17:15 | <Hixie_> | rafaelw: k |
17:16 | <annevk> | you cannot have <body> inside <template>? that's kinda sad |
17:16 | <rafaelw> | you can't have <body><head> or <frameset> inside a template. |
17:16 | <rafaelw> | allowing this would have made the parser changes WAY more invasive. |
17:16 | <MikeSmith> | Hixie_: I'll make it valid in the validator for now but it's not clear to me from the spec, so I'll file a bug |
17:16 | <Hixie_> | yeah |
17:17 | <Hixie_> | MikeSmith: cool, thanks man |
17:17 | <Hixie_> | rafaelw: so next question |
17:17 | <Hixie_> | annevk: what's the use case? |
17:17 | <Hixie_> | rafaelw: <table><tr><td><select><template></template><caption>A</table> vs <table><tr><td><select><xxxxxxxx></xxxxxxxx><caption>A</table> |
17:17 | <Hixie_> | rafaelw: is the difference intentional? |
17:18 | <annevk> | Hixie_: creating generic template for some <iframe>s |
17:18 | <Hixie_> | rafaelw: http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=2374 |
17:18 | <Hixie_> | annevk: just do the template for the contents of the <body> and dump it into the body |
17:18 | <Hixie_> | annevk: no need to explicitly list the body in the template |
17:19 | <Hixie_> | annevk: unless you mean you want to template the whole thing, <head>, <title>, and all? |
17:19 | <rillian> | annevk: thanks! |
17:19 | <rafaelw> | (working) |
17:19 | <annevk> | Hixie_: you might want to modify some attributes on <body> too, but sure |
17:20 | <annevk> | Hixie_: just seems annoying to have exceptions given how generic it otherwise is |
17:21 | <Hixie_> | annevk: no disagreement there |
17:21 | <Hixie_> | annevk: seems like if you're going to template the whole document, though, you might as well... just use a document |
17:21 | <annevk> | badum tish |
17:22 | <TabAtkins> | Hixie_: One use-case I saw was a code editor, which will put the code into an <iframe> afterwards. |
17:22 | <TabAtkins> | And it wants its contents to be used literally, like a <textarea>. |
17:23 | <Hixie_> | can you elaborate on how <template> fits in here? |
17:24 | <TabAtkins> | Well, I was thinking that a <template> could be wrapped around the contents to "protect" it. |
17:24 | <TabAtkins> | But then, <xmp> can be used just as well for this case. |
17:25 | <Hixie_> | or <textarea> :-) |
17:25 | <annevk> | except <xmp> is non-standard |
17:27 | <rafaelw> | Hixie: does it make sense to you why the later case doesn't ignore the <caption>A |
17:27 | <rafaelw> | ? |
17:28 | <rafaelw> | Clearly Chrome doesn't, but I'm not getting why yet |
17:28 | <rafaelw> | Seems like you stay in InSelect mode and keep ignoring tokens. |
17:28 | <rafaelw> | What am I mising. |
17:28 | <rafaelw> | ? |
17:28 | <Hixie_> | rafaelw: yeah, it's because the reset algorithm resets to 'in select' instead of 'in select in table' which is what it was in before |
17:28 | <Hixie_> | it's easily fixed by making the reset algorithm detect that case |
17:29 | <Hixie_> | (i think... haven't checked what that would entail yet) |
17:29 | <Hixie_> | (i hope it would just entail checking the stack for a <td> or <th>) |
17:29 | <Hixie_> | (or <caption>) |
17:29 | <rafaelw> | Ah. |
17:29 | <rafaelw> | I see. Thank you. |
17:29 | <Hixie_> | (or any table node, maybe?) |
17:29 | <rafaelw> | <sigh> |
17:29 | <rafaelw> | Well, the reset would need to do more work in this case. |
17:30 | <Hixie_> | yeah, but only in the case that it currently detects a "select" |
17:30 | <Hixie_> | so it's not a hot path |
17:30 | <rafaelw> | If it finds a <select> it would need to look further up to see if the select is in a table. |
17:30 | <Hixie_> | yeah |
17:30 | <rafaelw> | No. |
17:30 | <rafaelw> | Good catch. |
17:30 | <Hixie_> | so, i should fix that one? |
17:31 | <rafaelw> | so aside from just popping a <template>, how else can reset get called with <select> as the bottom element? |
17:32 | <Hixie_> | the only way it could before <template> was innerHTML, i think |
17:32 | <Hixie_> | (incidentally, i think i'm gonna remove all the "(fragment case)" annotations, they're becoming really convoluted to maintain and not that useful as far as i can tell) |
17:33 | <rafaelw> | no complaint. |
17:34 | <rafaelw> | i only see three places that reset: </template> (generally), </table> (when InTable), and </select> (when InSelect) |
17:34 | <rafaelw> | don't think the later two can have a <template> as the bottom element afterwards. |
17:34 | <rafaelw> | Seems safe. |
17:34 | <rafaelw> | I'll open a w3c bug |
17:34 | <bholley> | Hixie_: curious about https://www.w3.org/Bugs/Public/show_bug.cgi?id=22102#c6 when you get the chance. Let me know if there's some better way to get questions like that in your queue |
17:35 | <TabAtkins> | annevk: <xmp> is perfectly well-standardized. It's just hidden away. ^_^ |
17:35 | <annevk> | okay... |
17:36 | <bholley> | Hixie_: FWIW, I think it would be awesome to get NEEDINFO up and running on the WHATWG bugzilla. It's majorly helpful on BMO |
17:36 | <rafaelw> | Hixie: So does reset insertion mode need to just look at the previous element to see if it's a table cell element? |
17:37 | <Hixie_> | rafaelw: not just previous, it needs to check if there's a table-related element in scope, i think. for some definition of scope. |
17:37 | <Hixie_> | rafaelw: i haven't worked otu exactly what it should be yet. |
17:38 | <Hixie_> | bholley: best way is just to reopen the bug, if you want me to look at it :-) looking now... |
17:38 | <bholley> | Hixie_: ok - wasn't sure if that was kosher :-) |
17:38 | <Hixie_> | bholley: hm, yeah, dunno why i thought window.document was accessible per spec. |
17:38 | <Hixie_> | bholley: oh definitely feel free to reopen bugs |
17:38 | <Hixie_> | bholley: not a problem |
17:38 | <bholley> | Hixie_: ok, cool |
17:38 | <Hixie_> | bholley: especially from you! |
17:38 | <bholley> | :-) |
17:38 | <bholley> | Hixie_: also curious about comment 7 |
17:38 | <Hixie_> | bholley: Storage is accessible cross-domain when you change document.domain |
17:39 | <Hixie_> | bholley: it's the one thing that gets neutered when you change d.d |
17:39 | <bholley> | Hixie_: why that and only that? |
17:39 | <bholley> | Hixie_: (Gecko neuters everything) |
17:40 | <Hixie_> | bholley: well, other things don't get neutered because they never did (gecko is a lone pioneer in changing that, currently) |
17:40 | <bholley> | Hixie_: (Presto too, but that's kind of moot these days) |
17:40 | <rafaelw> | How does the <select> rule for InBody get reached if the insertion mode is InTable, InTableBody etc... |
17:40 | <Hixie_> | bholley: but Storage has to be neutered because otherwise it breaks the ability to do locking or some such |
17:40 | <Hixie_> | rafaelw: the "any other" rule falls through to in body |
17:40 | <bholley> | Hixie_: locking? |
17:41 | <Hixie_> | bholley: storage mutex |
17:41 | <Hixie_> | bholley: on a per-origin basis |
17:41 | <Hixie_> | not that anyone actually implements that |
17:41 | <Hixie_> | but the spec tries to keep it possible |
17:43 | <Hixie_> | rafaelw: the next question, assuming you agree we should fix the reset algorithm for that rare edge case of 'in select', is more editorial, i hope. the spec uses "template element in html scope" -- does that just mean the same as "has a template element in the stack of open elements"? |
17:43 | <bholley> | Hixie_: Ah, I see. It would be helpful to mention that in the spec at http://www.whatwg.org/specs/web-apps/current-work/#security-localStorage - I'll file a bug |
17:43 | <Hixie_> | bholley: thanks |
17:44 | <bholley> | Hixie_: np |
17:44 | <rafaelw> | hixie: yes |
17:44 | <rafaelw> | so presumably the point of the in select in table mode is to allow tables to close when there is a select inside which fails to close itself? |
17:46 | <Hixie_> | rafaelw: yeah |
17:46 | <Hixie_> | rafaelw: (welcome to legacy web parsing) |
17:46 | <rafaelw> | :-( |
17:47 | <Hixie_> | rafaelw: oh another question, when you see <template> you don't reset the frameset-ok flag. is that intentional? i don't remember how that flag works exactly... |
17:48 | <Hixie_> | i guess it must be, or you couldn't have a template in <head> and then use <frameset> |
17:49 | <rafaelw> | Filed: https://www.w3.org/Bugs/Public/show_bug.cgi?id=22482 |
17:51 | <Hixie_> | cool |
17:51 | <Hixie_> | k, the only other thing i had on my list so far is a small comment on the way the ownerDocument requirement is phrased |
17:51 | <Hixie_> | right now it only actually sets ownerDocument to the template doc for nodes that are children of the <template> |
17:52 | <Hixie_> | so e.g. <template><div><img src='...'> would create the <div> in the template doc, but it doesn't say what the <img> would be created in |
17:52 | <Hixie_> | i assume that's just an oversight? |
17:54 | <rafaelw> | hixie: frameset-ok. |
17:54 | <Hixie_> | man, i really did a poor job of putting the start tag / end tag cases in the spec in any sort of sane order |
17:57 | <TabAtkins> | I'd always wondered what order you based that on. |
17:57 | <rafaelw> | I'm pretty sure setting frameset-ok inside template would allow <frameset> |
17:58 | <rafaelw> | which we don't want. |
17:58 | <Hixie_> | rafaelw: it's set by default, and right now you don't unset it |
17:58 | <rafaelw> | i'm now trying to convince myself that the parser *can't* currently end up inside <template> with frameset-ok set to 'ok' |
17:58 | <Hixie_> | rafaelw: if you unset it, you'd prevent <head><template></template><frameset> from working |
17:59 | <Hixie_> | rafaelw: currently you do indeed support <head><template><frameset>; i haven't checked to see what that implies. |
18:00 | <Hixie_> | (not sure why it doesn't get parsed in firefox) |
18:00 | <Hixie_> | (or chrome) |
18:00 | <Hixie_> | oh, i see |
18:01 | <rafaelw> | nope. that throws away the <frameset>. |
18:01 | <Hixie_> | <frameset> only gets parsed after head and in body |
18:01 | <Hixie_> | and in body only if you've already seen a <body> but are still frameset-ok |
18:02 | <Hixie_> | yeah i haven't studied this closely enough yet to have educated things to say about it |
18:02 | <Hixie_> | i'll add it to my list |
18:09 | <rafaelw> | I see |
18:09 | <rafaelw> | . |
18:09 | <rafaelw> | We don't need to unset it because the test for in body on <frameset> fails if a template is open. |
18:09 | <rafaelw> | If the second element on the stack of open elements is not a body element, or, if the stack of open elements has only one node on it, then ignore the token. (fragment case) |
18:09 | <rafaelw> | == false |
18:10 | <rafaelw> | this is the case for <head><template><frameset> |
18:13 | <rafaelw> | Also opened: https://www.w3.org/Bugs/Public/show_bug.cgi?id=22484 |
18:17 | <Hixie_> | cool |
18:20 | <Hixie_> | so here's an interesting case: <!DOCTYPE html>�<template></template><frameset></frameset> |
18:20 | <Hixie_> | the U+0000 null character pushes us into <body> mode, but doesn't reset the frameset-ok flag |
18:20 | <Hixie_> | we then parse the <template>, then get to the <frameset>, and we're still frameset-ok |
18:20 | <Hixie_> | so we nuke the entire <body>, <template> and all, and replace it with a <frameset>. |
18:21 | <Hixie_> | you'd get the same result with <!DOCTYPE html>�<!-- --><frameset></frameset> |
18:21 | <Hixie_> | or <!DOCTYPE html>�<link><frameset></frameset> |
18:21 | <Hixie_> | so it's probably ok to keep it with <template> |
18:25 | <Hixie_> | rafaelw: what's the change that's intended to the "A start tag whose tag name is "frameset"" part of "in body"? is it just changing the parenthetical? |
18:26 | <rafaelw> | yes. |
18:26 | <rafaelw> | before, this could only happen in the fragment case. |
18:26 | <rafaelw> | now it's template case as well. |
18:28 | <Hixie_> | k |
18:50 | <Yuhong> | IE10 finally supports Mutation Observers: http://msdn.microsoft.com/en-us/library/ie/dn265034(v=vs.85).aspx |
18:50 | <Yuhong> | *IE11 |
18:51 | <Yuhong> | But with two releases of IE only supporting Mutation Events, I wonder if they can ever be removed from the platform. |
19:26 | <smaug____> | dglazkov: curious, what does "registration context." actually mean |
19:26 | <smaug____> | the window of a document may change |
19:38 | <gsnedders> | What tree should <p><table></p> give per spec? |
19:40 | <dglazkov> | smaug____: when? tell me more. |
19:41 | <smaug____> | dglazkov: I filed a bug |
19:41 | <smaug____> | dglazkov: but document.open |
19:41 | <dglazkov> | smaug____: great! |
19:42 | <smaug____> | http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#dom-document-open step 15 |
19:42 | <dglazkov> | aha |
19:50 | <smaug____> | dglazkov: webkit at least used to have buggy document.open, so blink may have too |
19:51 | <dglazkov> | smaug____: right, we don't create new Window, or Document for that matter |
19:51 | <smaug____> | document.open obviously doesn't create a new document ;) |
19:52 | <dglazkov> | smaug____: sorry, right |
19:52 | <smaug____> | (well, it does, if it forwards open call to window, but that is not the case we're talking here) |
19:52 | <Hixie_> | not sure if this is relevant here, but note that a Window's Document can change too |
19:52 | <dglazkov> | intuitively, if I call document.open, I should probably blow away the custom element registry |
19:52 | <Hixie_> | specifically, if you open an iframe then navigate it, the Document changes from the about:blank one to a new one, but the Window remains. |
19:53 | <dglazkov> | Hixie_: that part's okay. |
19:53 | <Hixie_> | ok just checking |
19:53 | <dglazkov> | it's the other way around that I haven't thought through |
19:53 | <dglazkov> | smaug____: thanks for checking on me :) |
19:56 | <Hixie_> | rafaelw: why does the in body EOF token handler defer to the template contents EOF handler? |
19:56 | <Hixie_> | rafaelw: does it do something in particular that you're looking to trigger? |
19:58 | <gsnedders> | So <p><table><p> is the only case in which you can get a p element as a child of a p element from the parser. Lovely. Seems a bit horrible. |
19:58 | <Hixie_> | gsnedders: only in quirks mode right? |
19:58 | <gsnedders> | Yes. |
19:58 | <Hixie_> | and that's why quirks mode is non-conforming. |
19:58 | <gsnedders> | I may have just caused myself and abarth a panic through not realizing that. :) |
19:59 | <Hixie_> | no panicking abarth |
19:59 | <abarth> | :) |
19:59 | <Hixie_> | panicking security researchers can have adverse effects |
20:00 | gsnedders | is now imagining abarth as having a big red STOP EVERYTHING button next to him :) |
20:00 | <abarth> | SHUT DOWN EVERYTHING |
20:02 | <Hixie_> | i don't understand the EOF handling in the <template> spec |
20:03 | <Hixie_> | it looks like <template>.innerHTML = '' never stops parsing, for instance. |
20:03 | <gsnedders> | Hixie_: So html5lib has 49 tests that don't roundtrip (take tree, serialize, parse, compare tree). I wonder if this is worthwhile trying to reduce. If we ignore html5lib's serializer's brokenness with <plaintext>, it takes it down to 36. Things like <p><table><p> having no obvious serialization when presented with the tree (XML: <p><p/><table/></p>). |
20:04 | <abarth> | data:text/html,<template id="foo"><script>alert("no template support")</script></template><script>document.getElementById("foo").innerHTML = "";alert(1)</script> |
20:04 | <abarth> | seems to termiante |
20:04 | <Hixie_> | if there are any that are conforming inputs, that's definitely a problem |
20:04 | <abarth> | maybe the spec doesn't match the impl? |
20:05 | <Hixie_> | abarth: well by "doesn't stop parsing" i mean the behaviour is undefined. You run out of tokens, but never get to invoke the "stop parsing" steps. |
20:06 | <Hixie_> | gsnedders: as a general rule there's lots of things that parse into a state that can't be represented in conforming content |
20:07 | <Hixie_> | gsnedders: and the serialisation only tries to form conforming content |
20:07 | <Hixie_> | gsnedders: e.g. anything involving the form pointer would fail to round-trip correctly (i doubt html5lib would even catch that case) |
20:07 | <Hixie_> | gsnedders: but i'm happy to examine the cases if you want to talk about any in particular |
20:07 | <Hixie_> | especially now that i've the parser swapped in |
20:09 | <gsnedders> | BTW, can you remember what the "CDATA" category was renamed to? |
20:09 | <gsnedders> | escapable raw text elements, actually |
20:09 | <Hixie_> | yeah, sounds right |
20:09 | gsnedders | realizes he could just look what elements are in that group and compare :P |
20:09 | <Hixie_> | that's in syntax, not in parsing |
20:10 | <Hixie_> | parser still uses cdata |
20:10 | <rafaelw> | hixie: yes, all the potentially nested <template>s need to unwind. |
20:10 | <Hixie_> | rafaelw: why? |
20:10 | <gsnedders> | Hixie_: Parser doesn't have CDATA, just RCDATA |
20:10 | <Hixie_> | rafaelw: or rather, what does that do that just popping all the nodes like the "stop parsing" rules say to do doesn't do? |
20:10 | <Hixie_> | gsnedders: oh, right |
20:10 | <Hixie_> | gsnedders: cdata is raw text, rcdata is escapable raw text. or something. |
20:11 | <rafaelw> | let me see what it breaks =-) |
20:11 | <Hixie_> | rafaelw: i don't see anything that acts outside the parser in the </template> handling... |
20:11 | <Hixie_> | quite possible i'm missing something though |
20:12 | <gsnedders> | Hixie_: Right, so CDATA became RCDATA, and RCDATA became RAWTEXT it would appear. |
20:12 | <rafaelw> | I know there was a reason. We had a lengthy discussion about it. |
20:12 | <rafaelw> | Actually, let me try to find the bug |
20:12 | <gsnedders> | html5lib ought rename them before I get even more confused :) |
20:12 | <Hixie_> | gsnedders: that doesn't sound right |
20:13 | <gsnedders> | html5lib has cdata: title, textarea; rcdata: style, script, xmp, iframe, noembed, noframes, noscript |
20:13 | <rafaelw> | hixie: https://www.w3.org/Bugs/Public/show_bug.cgi?id=20924 |
20:14 | <Hixie_> | aah, after-head |
20:14 | <Hixie_> | ok |
20:14 | <rafaelw> | basically, it's possible to hit EOF in body (in head) |
20:16 | <Hixie_> | yeah, this makes sense |
20:20 | <gsnedders> | Hixie_: Given I've forgotten the conclusion here, do we want nested a elements being created by the parser? |
20:21 | <gsnedders> | (non-conforming case) |
20:23 | <Hixie_> | gsnedders: in what case? |
20:23 | <Hixie_> | gsnedders: we definitely can end up with it if there's enough scoping going on, i would guess |
20:23 | <Hixie_> | gsnedders: maybe e.g. <a><table><tr><td><a> or some such |
20:23 | <Hixie_> | or <a><button><a>, i dunno off-hand what scoping "a" start tags check |
20:23 | <gsnedders> | Hixie_: Yeah, that sort of case |
20:23 | <Hixie_> | pretty sure that yes |
20:42 | <Hixie_> | i wonder why "in table"'s EOF rule doesn't defer to in body |
20:42 | <Hixie_> | it's basically the same thing... |
21:16 | <Hixie_> | i wonder why we support <template><frame><frameset> but not <template><frameset><frame> |
21:22 | <Hixie_> | this has to be an error |
21:23 | <Hixie_> | if i'm reading this right, the spec says <template><frame><frameset></frameset><frameset></frameset> ignores the end tags. |
21:36 | <zcorpan> | gsnedders: CDATA didn't become RCDATA. CDATA just became RAWTEXT. and RCDATA was always RCDATA |
21:36 | <zcorpan> | gsnedders: and the writing section renamed RCDATA to escapable text elements |
21:37 | <zcorpan> | s//raw/ |
21:38 | <zcorpan> | gsnedders: looks like html5lib has cdata and rcdata backwards re http://krijnhoetmer.nl/irc-logs/whatwg/20130626#l-1058 |
21:41 | <Hixie_> | i think you mean "s//raw/dwim" :-P |
21:42 | <gsnedders> | zcorpan: Weird. |
21:46 | <Hixie_> | hmm... i wonder why link, script, style, meta, and template are treated differently than base, basefont, bgsound, noframes, and title in <template> |
21:46 | <Hixie_> | maybe that's a web component thing... |
22:02 | <zcorpan> | Hixie_: those flags are on by default in irc :-) |
22:12 | <gsnedders> | html5lib-tests needs people to actually review stuff if it's actually going to be review-then-commit |
22:21 | <jgraham> | gsnedders: Sure. Encourage other people to become reviewers on that repo. But I might have time tomorrow (although I have said that about a number of other things) |
22:22 | <jgraham> | gsnedders: Oh, wait, it's not even in critic |
22:22 | <jgraham> | OK, first I should fix that, then you should encourage other people to become reviewers for it |
22:23 | <jgraham> | But tomorrow |
22:24 | <gsnedders> | jgraham: You've agreed to fix that before :P |
22:24 | <jgraham> | Or "today, after I sleep", if you don't speak en-GB-x-Hixie |
22:24 | <jgraham> | gsnedders: Well, maybe |
22:24 | <jgraham> | It is tedious to fix at the moment because it needs manual setup |
22:24 | <jgraham> | Still not going to do it before the morning though |
22:25 | <gsnedders> | Okay, so html5lib would now fail a lot of the tokenizer tests if it were up to date with the submodule. |