| 00:12 | <AryehGregor> | Hixie, why drop the syntax sugar for walking the keys of a Storage object? |
| 00:12 | <AryehGregor> | Syntax sugar is nice. |
| 03:05 | <Hixie> | AryehGregor: because it only saved 4 characters anyway, it was inconsistent in setting and getting, only 1 browser out of 5 implemented it, and what the other browsers did is not compatible (they couldn't implement it without potentially breaking content that assumed their behaviour). |
| 10:29 | <Figaroo> | Hi all |
| 10:31 | <benjoffe> | it seems adding an link with the 'tel:' attribute will annoy more users than it will help, as desktop browser that can't handle it still render the link clickable |
| 10:33 | <sholmes> | that is, when a new line is created and overflows the element's height, the text should have an ellipsis |
| 10:33 | <sholmes> | You know what I'm saying? |
| 10:34 | <sholmes> | wait my last message didn't go through. |
| 10:34 | <sholmes> | Is it possible to use text-overflow for text that overflows the height? |
| 13:16 | <annevk> | Opera has an extension for that ellipsis problem... |
| 17:18 | <webr3> | true? -> "In HTML5, rel and rev are no-longer paired, and the rel attribute no longer describes the direction of a relationship. Microformats which use rev will need to use rel instead." |
| 17:19 | <webr3> | rel no longer has directionality, as in "currentdoc rel href" as a typed directed link is no longer the case, and rel is some generic relation between the two uris, such that "A rel B" and "B rel A" both hold as true |
| 17:34 | <annevk> | webr3, there's no rev |
| 18:18 | <webr3> | annevk, yup i know there's no rev, but what about directionality, and how do you actually do a reverse link? |
| 18:19 | <webr3> | well, no rev in the draft html 5 / living standard spec, well there is it's mentioned in a few places, but shouldn't be used, but when it is, it's catered for, in some places |
| 18:19 | <Philip`> | rel is directional, and you can do a reverse link by using a rel keyword with the opposing meaning |
| 18:19 | <webr3> | okay, so directionality is based on the property used in the rel ya? |
| 18:20 | <Philip`> | Yes, that defines the directionality of the meaning |
| 18:21 | <Philip`> | e.g. rel="next" says the linked page is next after the current one, and rel="prev" says it's previous to the current one |
| 18:22 | <Philip`> | so instead of rev="next" you can use rel="prev", etc |
| 18:22 | <webr3> | A next B infers B prev A |
| 18:22 | <Philip`> | which is typically less confusing (people use rev wrongly about as often as they use it correctly) |
| 18:24 | <webr3> | and some are bidirectional i assume? alternate for example? |
| 18:25 | <webr3> | what's the inverse of author? |
| 18:27 | <webben> | webr3: The inverse of author is to add a rel="author" back from the authored page to the author page. |
| 18:36 | <AryehGregor> | Hmm. I should have tested extend() with diacritics. |
| 18:39 | <AryehGregor> | Thankfully Firefox is sane and treats the offsets as corresponding to characters (or maybe code units?) and not grapheme clusters. |
| 18:39 | <AryehGregor> | But modify() still works on grapheme clusters. |
| 18:39 | <AryehGregor> | At least with "character". |
| 18:40 | <AryehGregor> | Seems like it's all code units. |
| 18:45 | <AryehGregor> | Okay, so in WebKit all Range boundary points have to fall on grapheme cluster boundaries, it looks like . . . that seems bad. |
| 18:45 | AryehGregor | goes with Firefox and the current spec on that point |
| 18:58 | <Philip`> | Does "grapheme cluster boundaries" mean "code unit boundaries after NFC normalisation"? |
| 18:58 | <Hixie> | no |
| 19:01 | <Ms2ger> | So, what should happen to cx.createImageData("1", "2")? |
| 19:01 | <AryehGregor> | Philip`, no, because a character and its diacritics count as one grapheme cluster even if there's no composed form. |
| 19:01 | <AryehGregor> | In fact, UAX29 defines everything in terms of NFD. |
| 19:07 | <Philip`> | Ms2ger: It should teach API designers the foolishness of typed-based overloading in a dynamically-typed language |
| 19:07 | <Ms2ger> | I was actually hoping you'd write a test ;) |
| 19:07 | <Philip`> | and then it should do whatever the convoluted algorithms in WebIDL say it should do, unless WebIDL is wrong |
| 19:08 | <Philip`> | (Maybe WebIDL just looks at the number of arguments and ignores the types?) |
| 19:08 | <Philip`> | (Hmm, no, it can't do that) |
| 19:08 | Philip` | shrugs |
| 19:15 | <webr3> | webben, you you're saying that on an html page if I do "A author B" then it infers that "B is author of A" and if I do "A author B" on another page (the authors page) then it infers that "A is author of B" |
| 19:22 | AryehGregor | just rewrote everything in DOM Range like "If the position of new start relative to the context object's end is after" to something like "If new start is after the context object's end" |
| 19:23 | <AryehGregor> | I love the convention of making normal words mean magical stuff by making them hyperlinks. |
| 19:25 | <Philip`> | Sounds like you're one of those fancy modern programmers who likes using subroutines |
| 19:26 | Philip` | doesn't think they'll catch on - much better to be explicit and write everything out in full each time |
| 19:31 | <Ms2ger> | Who uses functions anyway? |
| 19:45 | <zcorpan> | hsivonen: the validator could maybe give a clearer message if you put body stuff in head |
| 19:45 | <zcorpan> | http://validator.nu/?doc=http%3A%2F%2Fdevelopers.whatwg.org%2F |
| 19:46 | <hsivonen> | zcorpan: yeah. grammars strike again |
| 19:46 | <zcorpan> | hsivonen: but you could do something in the html parser, no? |
| 19:47 | <hsivonen> | zcorpan: do you mean error 6 and keeping track of whether body was implied? |
| 19:47 | <zcorpan> | hsivonen: e.g. when you see </head> or <body> but body was implied, emit a warning saying which token implied body and say it should be moved into the body or so |
| 19:47 | <zcorpan> | yeah |
| 19:48 | <hsivonen> | ok. that's doable |
| 19:51 | <zcorpan> | should i file a bug? |
| 19:57 | <hsivonen> | zcorpan: that would be nice |
| 19:59 | <webben> | webr3: No. |
| 20:00 | <webben> | webr3: I'm saying there isn't a registered inversion of author |
| 20:01 | <webben> | webr3: Nobody's registered authoredby or anything like that. |
| 20:04 | <AryehGregor> | Hixie, okay, so do you really want me to try figuring out what things like "sentenceboundary" mean? I assume that's got to be left mostly platform-specific anyway. |
| 20:05 | <AryehGregor> | I'm not sure what parts we'd want to spec here. Ideally not too vague . . . |
| 20:07 | <AryehGregor> | But I can't see how to realistically be specific. |
| 20:08 | <AryehGregor> | I'm thinking stuff like "paragraphboundary: The beginning or end of a paragraph, where a paragraph might correspond to the text selected when the user triple-clicks (on platforms using that convention)." I.e., enough to give you an idea, not much more. |
| 20:10 | <webr3> | webben, looks like you're seeing author as it's inversion, { <page> author <person> } means <person> is the author of <page>, <link rel="author" href="<person>" /> - I'm looking for the inverse of that, which would be "author of" in english, not "authored by" - "authored by" is the meaning of the "author" rel |
| 20:11 | <webben> | webr3: Sorry, yeah I mean pageauthoredby or work or something. |
| 20:11 | <webben> | webr3: Anyway nobody's registered what you want, so if you want it, define and register it I guess. |
| 20:12 | <webr3> | that process is going to have to be repeated for every rel, which is a shame |
| 20:14 | webben | shrugs. |
| 20:17 | <Ms2ger> | webr3, that's assuming we need all reverse relationships. The fact that rev has never taken off suggests we don't |
| 20:33 | <Hixie> | AryehGregor: if it's an API, i don't see how ti can be anything but strictly defined |
| 20:33 | <Hixie> | AryehGregor: otherwise people will use the API and get different results |
| 20:34 | <AryehGregor> | Hixie, because selection.modify("extend", "right", "line") is meant to mimic the effect of Shift+Down, for instance. In particular, its effect depends on things like where lines are broken and what font is used. |
| 20:34 | <AryehGregor> | There's no way we can spec that unless CSS is specced pixel-perfect. |
| 20:35 | <AryehGregor> | Logically, this is a visual API, not a DOM one. |
| 20:35 | <AryehGregor> | (the modify() part is, I mean) |
| 20:35 | <AryehGregor> | (extend() can be defined in terms of DOM alone, although WebKit seemingly doesn't implement it that way) |
| 20:36 | <AryehGregor> | Also, we want modify("extend", "right", "character") to depend on the definition of a grapheme cluster, which isn't really defined anywhere and should defer to how the platform behaves when the user does Shift+Right anyway. |
| 20:37 | <AryehGregor> | Similarly modify("extend", "right", "word") == Ctrl+Shift+Right, etc. |
| 20:43 | <benschwarz> | zcorpan: thanks for the bug report |
| 20:45 | <zcorpan> | benschwarz: thanks for fixing it :) |
| 20:46 | <zcorpan> | oh you meant the newest bug |
| 20:47 | <benschwarz> | one at a time :) |
| 20:47 | <benschwarz> | I have no idea why the spec splitter is doing that right now |
| 20:47 | <benschwarz> | I actually had a brief look over the weekend |
| 20:47 | <benschwarz> | no idea |
| 20:49 | <zcorpan> | Philip`: ^ |
| 20:50 | <Philip`> | Doing what? |
| 20:51 | <benschwarz> | Philip`: we have a <header class="head"> in the developer spec. The spec splitter seems to place it inside <head> |
| 20:55 | <benschwarz> | really it should be <header role="banner">, but thats another story :) |
| 20:56 | <zcorpan> | role=banner is implied by <header> no? |
| 20:56 | <zcorpan> | or maybe that was dropped |
| 20:56 | <benschwarz> | zcorpan: if its at the top level… I think |
| 20:57 | <zcorpan> | seems spec says header has no implied role but banner is allowed |
| 20:57 | <zcorpan> | ...to be specified |
| 20:59 | <Philip`> | benschwarz: What's the input file? |
| 20:59 | <Philip`> | Also, what version of the spec-splitter? |
| 21:00 | <Philip`> | Also, what command-line arguments? |
| 21:00 | <benschwarz> | ttp://www.whatwg.org/specs/web-apps/current-work/dev-index |
| 21:00 | <benschwarz> | only --html5lib-serialiser |
| 21:01 | <Hixie> | AryehGregor: that's why this is hard |
| 21:01 | <Hixie> | AryehGregor: doesn't mean we don't define it :-) |
| 21:01 | <volkmar> | someone remembers why all attribute float changed to attribute double? |
| 21:01 | <Hixie> | AryehGregor: there's nothing wrong with referencing CSS in these definitions |
| 21:02 | <benschwarz> | Philip`: as for version… its HEAD about a week about |
| 21:02 | <benschwarz> | ago |
| 21:02 | <benschwarz> | Hixie: good morning :) |
| 21:02 | <Hixie> | hey ben |
| 21:03 | <benschwarz> | Hixie: we have rudimentary offline support and search… |
| 21:03 | <Hixie> | cool |
| 21:03 | <AryehGregor> | Hixie, we can't get script-testable interop anyway. Things like line breaking aren't specced. CSS itself doesn't define word or character boundaries for the purposes of things like :first-letter. |
| 21:03 | <AryehGregor> | Besides, the whole point of the API is to match what the user does when they hit arrow keys and so on, which is inherently platform- and browser-dependent. |
| 21:04 | <benschwarz> | I need to roll to the office. First day back for this client |
| 21:04 | <AryehGregor> | Using uniform definitions that don't match what browsers do for normal user interaction defeats the point of the API, and I doubt browsers would implement it. |
| 21:04 | <erlehmann> | the whatwg logo. is there a canonical svg version? |
| 21:04 | <benschwarz> | Philip`: it looks like http://www.whatwg.org/specs/web-apps/current-work/dev-index is missing a <HEAD> to begin with… |
| 21:05 | AryehGregor | solicits Ms2ger's opinion |
| 21:05 | <Ms2ger> | Present, sir! |
| 21:05 | <Hixie> | AryehGregor: at least "line", "paragraph", "line boundary", and "document boundary" are completely definable |
| 21:05 | <Hixie> | AryehGregor: looks like a lot of the others aren't interoperably implemented anyway and maybe shouldn't be defined |
| 21:05 | <AryehGregor> | Hixie, are they? "Line" depends on line-breaking, which isn't interoperable. |
| 21:06 | <Philip`> | benschwarz: The head start tag is optional |
| 21:06 | <Ms2ger> | Not interoperable, but still definable |
| 21:06 | <Hixie> | AryehGregor: just define it in whatever terms CSS uses so that as we fix CSS it'll become interoperable |
| 21:06 | <Philip`> | benschwarz: I'm wondering whether your version of lxml is accidentally parsing the header as inside the head, or something |
| 21:06 | <erlehmann> | found it http://lists.w3.org/Archives/Public/www-archive/2009Apr/att-0042/logo.svg |
| 21:06 | <Hixie> | AryehGregor: e.g. use the same wording for letter boundaries as ::first-letter, or whatnot |
| 21:07 | <benschwarz> | Philip`: in the real world, everyone uses a <head> |
| 21:07 | <Hixie> | AryehGregor: same wording for word boundaries as text-transform:capitalise |
| 21:07 | <AryehGregor> | Hixie, so how do I work CSS into it? Does CSS have any notion of mapping between line boxes and the parts of the DOM they represent? |
| 21:07 | <AryehGregor> | IIRC, CSS just doesn't define those. :) |
| 21:07 | <benschwarz> | so despite the fact that its optional. most people expect them |
| 21:07 | <AryehGregor> | It makes more sense to informatively reference UAX#29. |
| 21:07 | <Hixie> | AryehGregor: start reading and learning the css2.1 spec :-) |
| 21:07 | <AryehGregor> | I have . . . it's horrifyingly vague. |
| 21:08 | <benschwarz> | maybe all I have to do is plead with Hixie to add a <head> :) |
| 21:08 | <Philip`> | benschwarz: Hmm, did you modify the splitter so the serialiser outputs explicit <head> etc? |
| 21:08 | <Philip`> | (It doesn't seem to do that by default) |
| 21:08 | <Hixie> | benschwarz: dev-index is generated by anolis |
| 21:09 | <AryehGregor> | Look at this, it just doesn't define line boundaries at all: http://www.w3.org/TR/CSS21/selector.html#first-line-pseudo |
| 21:09 | <AryehGregor> | There's nothing to reference. |
| 21:09 | <Hixie> | benschwarz: but <head> is optional, the element is still there even if the tag isn't |
| 21:09 | <Hixie> | benschwarz: so so long as you're using a conforming parser you should be fine |
| 21:09 | <Hixie> | AryehGregor: for line boxes you want chapters 8, 9 and 10 iirc, not ::first-line |
| 21:10 | <AryehGregor> | I've read those before. |
| 21:10 | <AryehGregor> | I don't see how they're useful. |
| 21:10 | <Philip`> | benschwarz: Where does the <link rel="stylesheet" href="/css/master.css"> come from? |
| 21:12 | <AryehGregor> | I think I should ask the people implementing this what sort of description they'd like to see. |
| 21:12 | <Hixie> | AryehGregor: they define how the display boxes (line boxes, inline boxes, line-wrapping, etc) are done |
| 21:12 | <benschwarz> | Philip`: I add it in postprocessing |
| 21:12 | <Philip`> | Added how? |
| 21:13 | <Philip`> | I would guess your postprocessing tools are probably using non-HTML5-conforming parsers |
| 21:13 | <Philip`> | and are failing to correctly imply a <body> start tag when they see the <header> start tag |
| 21:13 | <Philip`> | since the splitter seems to be working correctly, as far as I can tell |
| 21:14 | <benschwarz> | hmm |
| 21:14 | <benschwarz> | let me verify |
| 21:14 | <Philip`> | (lxml looks okay to me) |
| 21:14 | <benschwarz> | Philip`: lxml would've been okay for many versions by now |
| 21:15 | <AryehGregor> | I'll send an RFC to whatwg. |
| 21:15 | <Ms2ger> | Not the IETF? |
| 21:16 | <benschwarz> | you must be right Philip` |
| 21:16 | <Philip`> | The splitter outputs <html ...><title>...</title><!-- ... --><meta ...> <script src="link-fixup.js"></script> <header class="head"> ... |
| 21:16 | <Philip`> | which is perfectly valid and means the header element is inside the body element |
| 21:16 | <benschwarz> | The parser I'm using is nokogiri, which is uses on libxml2… |
| 21:17 | <benschwarz> | due to the amount of postprocessing I'm doing, a <head> would be useful anyway… |
| 21:18 | <Philip`> | Add omit_optional_tags=False in the splitter's HTMLSerializer line if you want nothing omitted |
| 21:21 | <benschwarz> | Thanks Philip` I will try that |
| 21:21 | <benschwarz> | now… I need to leave for the office |
| 21:21 | <benschwarz> | or else I'll be late :) |
| 21:23 | <benschwarz> | Philip`: hmm. header still in the head |
| 21:23 | <benschwarz> | I'll keep trying to diagnose it later… |
| 21:23 | <benschwarz> | thanks for the heads up |
| 23:30 | <AryehGregor> | Is any version of .innerText specced anywhere? |
| 23:32 | <gsnedders> | No |
| 23:33 | <AryehGregor> | Yay. |
| 23:33 | <AryehGregor> | I assume it's unreasonably complicated. |
| 23:34 | <gsnedders> | It's more complex than it seems at face-value, IIRC |
| 23:34 | <gsnedders> | Note WebKit has a high-cost for changing their innerText behaviour as a lot of their tests depend upon the exact serialization. |
| 23:35 | <AryehGregor> | Nice. |
| 23:35 | <othermaciej> | we could easily make the tests use something than innerText |
| 23:35 | <othermaciej> | it's not encoded in every text or anything |
| 23:36 | <AryehGregor> | So what's an example of a difference between innerText and textContent? |
| 23:36 | <othermaciej> | but it would suck to carry around multiple conversion to plaintext algorithms |
| 23:36 | <gsnedders> | othermaciej: Converting existing tests' expectations would be expensive, though, at least provided you actually check the change |
| 23:37 | <gsnedders> | AryehGregor: head element, scripts |
| 23:37 | <AryehGregor> | Ah. |
| 23:37 | <othermaciej> | yeah, but there's no need to convert expectations |
| 23:37 | <othermaciej> | we would convert the test harness |
| 23:37 | <gsnedders> | othermaciej: Ah, to match the current innerText behaviour? |
| 23:39 | <AryehGregor> | innerText also seems to do newline collapsing of some kind. |
| 23:40 | <AryehGregor> | Actually, whitespace collapsing generally. |
| 23:40 | AryehGregor | gets to work writing a spec |
| 23:51 | <gsnedders> | AryehGregor: Also note it should be affected by the computed style |
| 23:51 | <gsnedders> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/809 for example |
| 23:51 | <AryehGregor> | Yeah, I've figured that part out. |
| 23:52 | <AryehGregor> | display: none is suppressed, display: block adds newlines, etc. |
| 23:52 | <gsnedders> | AryehGregor: the float and position properties change semantics too |
| 23:52 | <AryehGregor> | Oh, dear. |
| 23:53 | <AryehGregor> | Wait, how so in this case? I get "foo magic bar" as I'd expect. |
| 23:54 | <gsnedders> | Try removing the float. |
| 23:54 | <gsnedders> | It becomes "foo\nmagic\nbar" v. "foo magic bar" with the float |
| 23:54 | <AryehGregor> | Ah, so it makes it behave like an inline. |
| 23:54 | <AryehGregor> | Or something. |
| 23:54 | <AryehGregor> | Does Firefox not implement this? |
| 23:55 | <gsnedders> | innerText isn't supported by Gecko |
| 23:55 | <AryehGregor> | Doesn't that imply it's not needed for compat, so we can retire it in favor of textContent? Why do we want to spec it? |
| 23:58 | <AryehGregor> | Also, on a somewhat related note, does anyone know if Ranges' stringifier does anything weird? It looks like it behaves more or less like textContent, just copying the DOM. |
| 23:58 | <AryehGregor> | Which would be nice if true. |
| 23:58 | <Philip`> | if(vjo.dsf.client.Browser.bFirefox){oL.textContent=_d;}else{oL.innerText=_d;} |
| 23:59 | <Philip`> | (on search.blogs.ebay.com) |