| 00:08 | <jcranmer> | what would be the best markup to indicate something of the form "There's a sucker^H^H^H^H^H^H potential customer born every minute?" |
| 00:13 | <jcranmer> | I've been using <del>sucker</del><ins>potential customer</ins>, but I'm not convinced that's the best markup |
| 00:14 | <webben> | jcranmer: Yep, it's a thorny one. |
| 00:15 | <jcranmer> | I originally used <s>, but stopped when I discovered that said element was deprecated in HTML 4.01 |
| 00:25 | jcranmer | is cleaning out his WHATWG folder and notes how the cvs commit emails tend to bunch up as time passes |
| 00:44 | jcranmer | notes that Hixie is technically violating RFC 2822 in his messages |
| 00:45 | <jcranmer> | he only has In-Reply-To set to the last parent, and uses References to denote all parents |
| 00:46 | <jcranmer> | but the spec quite clearly states that, in the case of multiple parents, In-Reply-To should be set to the Message-IDs of all parents that have them and the References field should not be used |
| 00:48 | <jcranmer> | Hixie: ^ (although I suspect you don't care) |
| 00:55 | <Philip`> | Normally his mail client fails to set References to more than about three of the emails that are being referenced, which totally breaks the referencing mechanism anyway :-) |
| 00:57 | <jcranmer> | file a bug report with Pine :-) |
| 01:08 | <asidwell> | is there any order or reason for the treebuilder steps intermingling end tag tokens and start tag tokens? |
| 01:19 | <asidwell> | it makes it much harder to implement |
| 01:30 | <Philip`> | asidwell: As far as I'm aware, there is no reason (except historical or organisational) - the token-matching cases are all be independent (except for the "anything else" ones at the end) |
| 01:31 | <Philip`> | Oops, too late |
| 01:31 | <takkaria> | nah |
| 01:31 | <takkaria> | it's me :) |
| 01:31 | Philip` | wishes his wireless network didn't keep cutting out every five seconds |
| 01:31 | <Philip`> | takkaria: Ah, confusing :-) |
| 01:32 | <takkaria> | when I say it makes it harder to implement, I just mean that it's much easier to make sure my code's doing the right thing because I have to scan through it once for start tag tokens, and again for end tag tokens |
| 01:32 | <jcranmer> | Philip`: I presume you've ssh'd to a screen session on another session? |
| 01:32 | <jcranmer> | s/session\?/server?/ |
| 01:32 | <takkaria> | if they were grouped together, then it would be one scan and I wouldn't accidentally miss anything |
| 01:35 | <Philip`> | jcranmer: I have |
| 01:35 | <jcranmer> | only way you could be on a weak wireless network and not lose connectivity in IRC |
| 01:36 | <Philip`> | Not necessarily, since I don't lose the SSH connection while the wireless is being dodgy - it just hangs for a while, then recovers once it's got reconnected |
| 01:37 | <Philip`> | (But it's the only way I could not lose connectivity while my computer is turned off while I'm sleeping or travelling) |
| 01:37 | jcranmer | uses ssh+screen |
| 01:38 | <jcranmer> | and so do most of the people here, I presume |
| 01:39 | <Philip`> | takkaria: If start/end tags were grouped together, that would mean it would no longer group e.g. all table tags together, which would make the spec a bit harder to read and understand |
| 01:40 | <Philip`> | I just parse the spec with regular expressions so I can programmatically reorder it to however I want, which is only a slightly stupid way to do it |
| 01:40 | <takkaria> | hmmm |
| 03:28 | <takkaria> | Hixie: ping. you still have the text "Still need to add these new elements to the lists: event-source, section, nav, article, aside, header, footer, datagrid, command" in the spec despite it no longer being true |
| 03:52 | <Hixie> | d'oh |
| 03:52 | <Hixie> | is it just a comment? |
| 03:52 | <Hixie> | or a red box? |
| 04:02 | <takkaria> | red box |
| 04:02 | <takkaria> | how's URI work going? :) |
| 05:44 | <Hixie> | takkaria: painfully |
| 05:44 | <Hixie> | takkaria: if you want me to get rid of the red box, send mail :-) |
| 06:36 | <mcarter> | Hixie, I've got a basic version of the WebSocket emulation working in all the browsers, and I'm getting ready to make a release and put up a article/blog post about it |
| 06:36 | <mcarter> | Hixie, whenever you get a chance, I have a few simple questions for you that i wanted to publish with the post |
| 10:30 | <hsivonen_> | Philip`: I have gradientunits in my camelCase table |
| 10:31 | <hsivonen_> | Did you notice problems with other attributes not getting the proper camelCase? |
| 10:33 | <Philip`> | hsivonen_: gradientunits was the only one I noticed (though that could be because that's the only one that was used in any content) |
| 10:36 | <hsivonen_> | Philip`: OK. I'll investigate. |
| 10:36 | <Philip`> | (I don't know if this was a problem in the parser or the serialiser) |
| 10:38 | <hsivonen_> | although I like to blame stuff on the serializer, I think this one is more likely in the parser |
| 10:38 | <hsivonen_> | I should write my own XML serializer. |
| 10:44 | <MikeSmith> | "Anne ist immer noch Gott." |
| 10:44 | <annevk> | Gott? |
| 10:47 | <Philip`> | Anne is still a goat? |
| 10:48 | <annevk> | http://translate.google.com/translate_t?sl=de&tl=en |
| 10:48 | <gDashiva> | Philip`: Probably meant goth :P |
| 10:50 | <Philip`> | Hmm, they made Google Translate all ugly and Ajaxy |
| 10:50 | <Philip`> | What's wrong with using <select> when you want a drop-down list? |
| 10:51 | <zcorpan_> | Philip`: <select> would work in opera mini, the ajaxy stuff doesn't |
| 10:54 | <annevk> | http://translate.google.com/translate_t?sl=de&tl=en&q=gott is what I was looking for |
| 11:03 | annevk | wouldn't classify himself as goth, goat, or God |
| 11:04 | <Philip`> | Sounds like denial |
| 11:04 | <gDashiva> | The divine goth goat graces us with his presence |
| 11:04 | <hsivonen_> | I'm very close to writing my own XML serializer and throwing out the Xalan one |
| 11:11 | <MikeSmith> | annevk: I thought it meant "Anne is him not good." |
| 12:58 | <Philip`> | It takes longer to learn to write PDF by hand than HTML :-( |
| 13:37 | <hsivonen_> | weird. I ended up fixing the gradientUnits bug, but I didn't notice when exactly I fixed it. |
| 13:37 | <hsivonen_> | troubling |
| 13:37 | <hsivonen_> | hmm. |
| 13:37 | <hsivonen_> | now I know |
| 13:37 | <hsivonen_> | I had localNames camelCased but qNames not |
| 15:27 | <hsivonen_> | we need tokenizer test coverage for character data after a tag that has had bogus entities in attributes |
| 15:28 | <Philip`> | By "we" do you mean "you"? ;-) |
| 15:28 | <hsivonen_> | Philip`: by "we" I mean I need it but we who write html5lib tests should have it |
| 15:30 | <Philip`> | ((Hmm, I was ambiguous - by "you" I meant you, i.e. "I" from your perspective, not me/us i.e. "you" from your perspective. Pronouns are hard :-( )) |
| 15:30 | <Philip`> | hsivonen_: Sounds reasonable to me :-) |
| 15:30 | <hsivonen_> | what's the purpose of ruby/testdata/ ? |
| 15:31 | <Philip`> | Ooh, I didn't notice the viewbox/viewBox thing |
| 15:31 | <hsivonen_> | does the ruby port have divergent tests? |
| 15:31 | <Philip`> | It's exactly the same files, pulled in via svn:externals |
| 15:31 | <hsivonen_> | ok |
| 15:32 | <Philip`> | $ svn propget svn:externals ruby/ |
| 15:32 | <Philip`> | testdata http://html5lib.googlecode.com/svn/trunk/testdata/ |
| 15:32 | <Philip`> | I don't know why it's done like that |
| 15:34 | <Philip`> | Hmm, Opera 9.5 renders http://upload.wikimedia.org/wikipedia/en/b/b5/Lindos5.svg as SVG |
| 15:35 | <hsivonen_> | I guess Opera has given up on XML correctness in order to be compatible with the Adobe plug-in |
| 15:35 | <hsivonen_> | yay for XML |
| 15:36 | <Philip`> | I thought that was a problem in 9.2 but fixed in 9.5 |
| 15:37 | <Philip`> | Ah - 9.2 triggers SVG rendering on <svg>, but 9.5 requires either <!DOCTYPE whatever><svg> or <svg xmlns="whatever"> |
| 15:37 | <hsivonen_> | Philip`: what behavior was a "problem"? being compatible with Adobe or being XML-wise correct? |
| 15:38 | <hsivonen_> | Philip`: is doctype whatever really whatever or a magic SVG doctype? |
| 15:38 | <Philip`> | hsivonen_: Being compatible with content with <svg> (no doctype and no xmlns) |
| 15:38 | <Philip`> | hsivonen_: It's not really "whatever", that's just a placeholder for some string whose constraints I am unaware of |
| 15:38 | <hsivonen_> | ok |
| 15:42 | <Philip`> | Looks like it requires the doctype to either have -//W3C//DTD SVG 1.(0|1|1 Tiny|1 Basic)//EN, or else http://www.w3.org/TR/SVG10/DTD/svg10.dtd or http://www.w3.org/Graphics/SVG/1.1/DTD/svg11(|-flat|-basic|-tiny).dtd |
| 15:42 | <hsivonen_> | "input":"<!doctype! ??" |
| 15:42 | <hsivonen_> | test cases say 3 errors |
| 15:42 | <hsivonen_> | my code says 2 |
| 15:43 | <Philip`> | Has the spec changed about that recently? |
| 15:43 | <hsivonen_> | Philip`: is it testable if it really parses a DTD or fakes some data structures selectively |
| 15:43 | <hsivonen_> | Philip`: I'm pretty sure Hixie changes EOF errors |
| 15:44 | <Philip`> | hsivonen_: I was assuming it doesn't parse a DTD, and just matches against hardcoded strings |
| 15:44 | <Philip`> | since those DTD strings are the hardcoded ones I extracted from the binary |
| 15:45 | <Philip`> | (and they seem to work in practice, and other strings don't seem to) |
| 15:45 | <hsivonen_> | "input":"<!doctype!?", |
| 15:45 | <hsivonen_> | test cases say two errors |
| 15:47 | <Philip`> | The second "!" is "anything else" in "doctype state", which errors into "before doctype name state", which goes into "doctype name state", then EOF errors into "data state" |
| 15:47 | <Philip`> | (hence two errors) |
| 15:47 | <Philip`> | Is that not what you get? |
| 15:48 | <Philip`> | "<!doctype! ??" is about the same, plus a third error because "??" is not "public" or "system" |
| 15:48 | <hsivonen_> | I don't see EOF erroring anymore |
| 15:48 | <hsivonen_> | hence, two errors |
| 15:49 | <hsivonen_> | oops. sorry I was talking about the wrong case |
| 17:15 | <hsivonen_> | allowing <option> and <optgroup> in 'in body' invalidated a bunch of test cases :-( |
| 18:27 | hsivonen_ | wonders what happens to document.write from setTimeout |
| 18:30 | <hsivonen_> | If I'm in a JavaScript function, is there a cross-browser way to tell if the function is being called from an inline script or from an external script? |
| 18:31 | <hsivonen_> | I recall something about throwing an exception, catching it and examining where it was thrown |
| 18:43 | <virtuelv> | hsivonen_: I don't think there is any really reliable way |
| 18:44 | <hsivonen_> | virtuelv: OK. thanks |
| 18:44 | <hsivonen_> | It's really hard to emulate all aspects of document.write in JavaScript, then |
| 18:50 | <smedero> | Philip: Are there any notes about this tool? http://philip.html5.org/tools/parser/ specifically, what is old, unfinished, and broken about it :) |
| 18:53 | <Philip`> | smedero: The notes/documentation are one part that is entirely unfinished ;-) |
| 18:53 | <Philip`> | It's old because it's based on the spec from some months ago, before e.g. the MathML/SVG changes (and probably lots of other minor changes) |
| 18:54 | <Philip`> | It's unfinished because there are various things I haven't got around to implementing, like (if I remember correctly) all the adoption agency details |
| 18:55 | <Philip`> | It's broken because it's doesn't understand things like CDATA/RCDATA (since the tree constructor doesn't link back to the tokeniser to tell it about <title> and <script> etc changing the mode) |
| 18:55 | <Philip`> | s/it's/it/ |
| 18:56 | <Philip`> | though that could be considered just an aspect of being unfinished |
| 18:56 | <Philip`> | It's also pretty much entirely untested |
| 18:57 | <smedero> | Ok, that helps! |
| 18:59 | <Philip`> | That should all be fixable without too much pain - it would just require time (and prioritisation) |
| 19:01 | <Philip`> | (and it's probably not a high priority if hsivonen_ is going to port his Java parser to JavaScript) |
| 19:01 | <hsivonen_> | Philip`: I'm working on it right now, actually :-) |
| 19:02 | <hsivonen_> | I want an environment where I can test document.write |
| 19:02 | <hsivonen_> | the GWT Hosted Mode seems to fit the bill |
| 19:02 | <hsivonen_> | when Google fixes the compiler, the JavaScript port is right there |
| 19:05 | <Philip`> | Does "when" mean "if"? |
| 19:05 | <hsivonen> | Philip`: yes |
| 19:06 | <Philip`> | Is there any way to work around the problem if the compiler isn't fixed? |
| 19:09 | <hsivonen> | Philip`: use compiler techniques to automatically rewrite the Java code not to use constructs that GWT can't compile right :-) |
| 19:09 | <hsivonen> | s/use/using/ |
| 19:12 | <Philip`> | hsivonen: Does "munge it with Perl" count as a compiler technique? :-) |
| 19:12 | <hsivonen> | w00t! I have Hixie's Live DOM Viewer running an HTML5 parser and rendering using a browser engine |
| 19:14 | <hsivonen> | Philip`: It doesn't. I'm not sure if the problem is of the Perl mungable sort. |
| 19:14 | hsivonen | gets food |
| 19:34 | <hsivonen> | hmm. perhaps looplabel: for(;;) { ... default: break looplabel;} could be perl munged to looplabel: while(looplabelCond) { ... default: looplabelCond = false; } |
| 19:35 | <Philip`> | hsivonen: Can't it just say "break;" instead of "break looplabel;"? |
| 19:36 | <hsivonen> | Philip`: it can't. default: break; would only break out of the switch |
| 19:37 | <Philip`> | hsivonen: Ah, I didn't see the switch since it was invisible ;-) |
| 19:37 | <hsivonen> | implied by 'default' :-) |
| 19:43 | <Philip`> | In the worst case, you could just annotate the code like "looplabel: for (;;) //#break-loop" so it's easily transformed into a JS-compilable less-micro-optimised version |
| 20:12 | hsivonen | has inline document.write and scripts working in GWT |
| 20:12 | <hsivonen> | (hosted mode) |
| 20:14 | <hsivonen> | sadly, SVG sucks in the copy of WebKit embedded in GWT |
| 20:14 | <hsivonen> | I guess I should try to install a Gecko-based version of GWT under Ubuntu |
| 20:22 | <hsivonen> | what browser engine does GWT use on Windows? |
| 21:02 | <hsivonen> | the Gecko version GWT uses on Linux is really old |
| 22:05 | <jgraham__> | gsnedders: I think I fixed the outliner bug that you reported a few days ago (the "few days ago" applies to both the report and the fix) |
| 22:05 | <gsnedders> | jgraham__: which bug? |
| 22:06 | <jgraham__> | <header> not working correctly |
| 22:06 | <gsnedders> | jgraham__: ah |
| 22:06 | <gsnedders> | jgraham__: well, if you update http://james.html5.org/temp/outline/outline.py then I could look :) |
| 22:07 | <jgraham__> | Oh, you want the code too :) |
| 22:07 | jgraham__ | should finish setting up hg on james.html5.org |
| 22:09 | <jgraham__> | gsnedders: Done |
| 22:10 | <gsnedders> | jgraham__: why is textContent() so complex? |
| 22:11 | Philip` | has learnt never to call a directory "temp", because it will always contain files that he could never risk deleting and so they will all stay there permanently |
| 22:11 | <Philip`> | (so I call the directories "misc" instead) |
| 22:11 | gsnedders | just uses stuff.gsnedders.com |
| 22:11 | <jgraham__> | gsnedders: Because the text equivalent of a <header> should be the text of the highest ranked <h1-6> child |
| 22:11 | <gsnedders> | (that actually includes some folders that are hidden from the index on HTTP) |
| 22:11 | <gsnedders> | jgraham__: ah |
| 22:12 | <gsnedders> | jgraham__: Mine doesn't do that. |
| 22:12 | <Philip`> | gsnedders: That doesn't solve the problem when you're using local filesystems rather than URLs |
| 22:12 | <jgraham__> | "For the purposes of document summaries, outlines, and the like, header elements are equivalent to the highest ranked h1–h6 element descendant of the header element (the first such element if there are multiple elements with that rank). " |
| 22:12 | <gsnedders> | jgraham__: Yeah, I see |
| 22:12 | <gsnedders> | Philip`: I just create a new folder for everything, thereby avoiding the need for "misc" |
| 22:13 | <Philip`> | gsnedders: I can never think of enough folder names |
| 22:13 | <Philip`> | so I have ~/misc, ~/download/misc, ~/html/misc, ... |
| 22:13 | <gsnedders> | jgraham__: Would it not just be simpler to just iter(tag=etree.Element)? |
| 22:14 | <jgraham__> | gsnedders: ? |
| 22:14 | <gsnedders> | Hixie: If header is equiv. to the highest rank h1–h6 descendant, surely it doesn't need to have a rank of its own? |
| 22:14 | <jgraham__> | (The answer is "probably, I seemed determined to do something crazy" |
| 22:14 | <jgraham__> | ) |
| 22:15 | <Hixie> | gsnedders: ? |
| 22:15 | <gsnedders> | Hixie: "For the purposes of document summaries, outlines, and the like, header elements are equivalent to the highest ranked h1–h6 element descendant of the header element (the first such element if there are multiple elements with that rank)." |
| 22:15 | <jgraham__> | Hixie: A <header><h3></header> would have rank=3 not rank =1 |
| 22:15 | <gsnedders> | Hixie: So do we treat a header element as if it was just the h1–h6 element, thereby the header element doesn't exist? |
| 22:15 | <Hixie> | the sentence gsnedders quoted is misleading |
| 22:16 | <gsnedders> | Hixie: Well, go write it better! |
| 22:16 | <Hixie> | i just meant that the header element's highest ranked hn element's text is the text that should be used |
| 22:16 | <jgraham__> | Yeah, I realised that but I'm not sure if it makes the most sense or not |
| 22:16 | <jgraham__> | I guess it does |
| 22:17 | <gsnedders> | jgraham__: just element.find("h1") all the way down to h6, and return the first non-null one |
| 22:17 | <gsnedders> | Hixie: It also doesn't say what to do if there isn't an h1–h6 descendant |
| 22:18 | <Hixie> | someone send mail or file a bug so i know to fix it :-) |
| 22:18 | <hsivonen> | I'm a bit disappointed. |
| 22:18 | <hsivonen> | the rendered view |
| 22:18 | <hsivonen> | does not work |
| 22:18 | <hsivonen> | in GWT hosted mode on Linux |
| 22:19 | <hsivonen> | Is the Live DOM Viewer supposed to work in Mozilla 1.7? |
| 22:19 | <gsnedders> | peh! Hixie: you should write better specs in the first place! |
| 22:20 | <Hixie> | agreed |
| 22:20 | <jgraham__> | gsnedders: Yeah I could have done that I guess. |
| 22:20 | <jgraham__> | For some reason I didn't want to :) |
| 22:20 | <hsivonen> | hmm. Log tells me uncaught exception: null on line 0 |
| 22:24 | <gsnedders> | Hixie: mail sent |
| 22:25 | <Hixie> | thanks |
| 22:32 | <hsivonen> | did XHTML nodes inserted into an HTML doc render in Mozilla 1.7? |
| 22:33 | <jgraham__> | gsnedders: Changed, although iirc the original goal I had was to only perform a single walk of the subtree but not write all the iterator code myself |
| 22:33 | <hsivonen> | did Mozilla 1.7 break if the root element was removed from the document? |
| 22:33 | Philip` | decides that testing Object.prototype.toString.call(p) === '[object CanvasPattern]' is a really stupid thing to do |
| 22:34 | hsivonen | wishes GWT used newer versions of Gecko and WebKit |
| 22:55 | <Philip`> | http://www.bbc.co.uk/blogs/radiolabs/2008/06/removing_microformats_from_bbc.shtml - someone should suggest they look at HTML5 and <time> instead of looking at RDFa :-) |
| 22:57 | <hober> | Philip`: indeed. <time> is just as invalid HTML 4 as RDFa, and has a much greater chance of being adopted by mainstream browsers. |
| 23:07 | <gsnedders> | jgraham__: Well, it wouldn't do that with the existing xpath code anyway |
| 23:07 | <Philip`> | Hmm, I'm 9 lines short of 10,000 in my canvas test cases |
| 23:07 | <Philip`> | Can anyone suggest one short test case to add? :-) |
| 23:07 | <takkaria> | SMIL+canvas if you're running out of ideas |
| 23:08 | <jgraham__> | gsnedders: Hmm. |
| 23:09 | <Philip`> | takkaria: I don't think that quite exists yet, and I don't think I particularly want to encourage it :-p |
| 23:09 | <takkaria> | hey, it worked for Acid3 ^_^ |
| 23:11 | Philip` | makes some editorial changes |
| 23:12 | <jgraham__> | gsnedders: Is it actually guaranteed to walk multiple times? I guess I was assuming it would perform a single walk and try to match each expression, but I didn't think about it very carefully or read the spec or anything |
| 23:12 | <Philip`> | 9998 lines |
| 23:12 | <gsnedders> | jgraham__: No, it isn't. But AFAIK more or less every implementation does. |
| 23:12 | Philip` | adds a couple of blank lines for no good reason |
| 23:12 | <Philip`> | 10,000! Hooray |
| 23:13 | <jgraham__> | gsnedders: Well in that case I claim that my implementation was fine and that xpath people need to optimise their code more ;) |
| 23:13 | <gsnedders> | jgraham__: That's hard :) |
| 23:14 | <jgraham__> | So, they're cleverer than me! That's why they're writing the low level library and I'm writing the crappy micro-application on top |
| 23:14 | <gsnedders> | jgraham__: Me? Cleverer than you? :) |
| 23:14 | <jgraham__> | You've written an xpath implementation? |
| 23:14 | <gsnedders> | jgraham__: Well, hacked at one |
| 23:15 | <gsnedders> | jgraham__: I don't think my patches are actually publicly available anywhere |
| 23:15 | <jgraham__> | Which one? |
| 23:15 | <gsnedders> | jgraham__: Mainly 'cos the lead dev more or less vanished due to time constraints |
| 23:15 | <gsnedders> | http://sourceforge.net/projects/webpath/ |
| 23:16 | <Philip`> | I like how the C++ STL provides abstraction in a way that doesn't hide all the performance characteristics |
| 23:17 | <Philip`> | but that seems pretty rare, and most libraries seem to not provide any information about what's going to give good/bad performance :-( |
| 23:19 | <jgraham__> | gsnedders: FWIW I think it is very likely that you are better are programming-type things than I am |
| 23:20 | <gsnedders> | jgraham__: I wouldn't say so — any difference between us is marginal, I'd say |
| 23:44 | <Philip`> | Argh |
| 23:44 | <Philip`> | Doesn't WebKit have getImageData? :-( |
| 23:44 | <Philip`> | (particularly r34578 on Windows) |
| 23:44 | <Hixie> | some versions of webkit certainly have getImageData() support |
| 23:45 | <Hixie> | i need hsivonen |
| 23:45 | <Philip`> | I'd like some don't-crash-when-loading-the-default-home-page support too |
| 23:46 | <Philip`> | Argh again |
| 23:47 | <othermaciej_> | WebKit trunk has it afaik |
| 23:48 | <Philip`> | othermaciej: I'm using a (Windows) nightly that claims to be a week old but can't find any traces of its existence :-/ |
| 23:49 | <Philip`> | Argh yet again - the 3.1 release doesn't crash but it hangs forever on one of my tests cases |
| 23:49 | <othermaciej> | Philip`: olliej on #webkit might be able to help you |
| 23:50 | <othermaciej> | we'd also be glad to look at any hangs you've got |
| 23:50 | <Philip`> | Just got to work out which of these 175 test cases it is... |
| 23:52 | <Philip`> | Hmm, Beziers |
| 23:54 | <Philip`> | Hmm, non-finite Beziers |
| 23:57 | <Hixie> | interesting |
| 23:57 | <Hixie> | but logical |
| 23:57 | <Hixie> | hmm...... |
| 23:58 | Hixie | ponders the ins and outs of url behaviour shown by http://www.hixie.ch/tests/adhoc/uri/encoding/ |
| 23:58 | <Hixie> | i clearly need to do tests that use location.href... |