00:06 | <Philip`> | The PHP manual's user comments are fun - there's one with a code sample saying "This might help a bit for security (no guarantees)" which, naturally, is buggy and doesn't help with security at all |
00:20 | jgraham | just checked in the html5lib parse tree viewing web-app bits to http://code.google.com/p/html5/ |
00:22 | <jgraham> | If anyone has any suggestions for a place to host that more stable than "over my dsl connection" that would be good :) |
00:23 | jgraham | feels he should emphasise again the code is not production quality |
00:28 | <hasather> | jgraham: do you want a suggestion for a place where you could host it, or do you want someone to host it for you? |
00:29 | <jgraham> | hasather: Well preferably the latter but if you know of somewhere that has cheap webhosting with excellent python support and reasonable customer service that would be good too :) |
00:30 | <hasather> | jgraham: I could throw it up on my server if you want |
00:31 | <jgraham> | That sounds good |
00:33 | <jgraham> | Assuming you don't mind and won't object to getting the occasional request to update it, that is :) |
00:33 | <hasather> | jgraham: nope :) |
00:34 | jgraham | has to sleep now |
00:35 | <hasather> | jgraham: I fix it tomorrow, good night |
00:53 | <zcorpan> | Hixie: you think you could add jdandrea⊙gc to the html5 google project? |
00:54 | <zcorpan> | (he wants to contribute to the style sheet) |
00:54 | <Hixie> | done |
00:54 | <zcorpan> | thanks |
01:20 | <Hixie> | othermaciej: btw, john is wrong on almost all counts on his description of the problems with the wf2 repetition model |
01:20 | <Hixie> | notwithstanding that it does suck |
01:20 | <othermaciej> | Hixie: at least he gave actual technical feedback on a specific point! |
01:21 | <Hixie> | indeed |
01:21 | <othermaciej> | Hixie: B.F. Skinner says he must receive a treat to reinforce this behavior |
01:22 | <bewest> | is there some short javascript function I can use to detect whether a browser is in strict or quirks mode? |
01:22 | <Hixie> | if we do this <repeat> thing, i really would want the repeated blocks of the template to be in the DOM, but that doesn't really mesh well with the requirements |
01:22 | <Hixie> | hm |
01:22 | <Hixie> | bewest: look at document.compatMode |
01:22 | <Hixie> | it'll be CSS1Compat or QuirksMode, iirc |
01:22 | <Hixie> | or something like that |
01:22 | <Philip`> | BackCompat, I think |
01:23 | <Hixie> | oh right |
01:23 | <Hixie> | BackCompat |
01:23 | <bewest> | oOOoo |
01:23 | <bewest> | nice |
01:23 | <Philip`> | (http://developer.mozilla.org/en/docs/DOM:document.compatMode) |
01:23 | <Hixie> | is doesn't expose Almost Standards Mode |
01:23 | <Hixie> | it |
01:24 | <Philip`> | (A more consistent naming convention for the various frozen-bug modes might be nice) |
01:25 | <zcorpan> | opera used to have QuirksMode. now it's BackCompat |
01:25 | <Philip`> | (except the old inconsistent names have to be frozen too, for backward compatibility...) |
01:26 | <zcorpan> | Hixie: you think it would be realistic to get the css21 spec changed to reflect almost standards mode (so the two modes can be merged)? |
01:27 | <bewest> | thanks |
01:28 | <zcorpan> | (aiui, it would only affect handling of replaced inline elements when there is no text or non-replaced inline elements in the same line box) |
01:29 | <Hixie> | zcorpan: realistic how? |
01:55 | <zcorpan> | that the wg would accept the proposal to spec how almost standards mode works |
01:57 | <Hixie> | oh. no. |
01:57 | <Hixie> | they won't even accept that we define how tables render in quirks mode |
01:57 | <Hixie> | _and_ standards mode |
01:57 | <Hixie> | (which is the same) |
01:57 | <Hixie> | instead insisting that the css spec say that html tables are undefined and xhtml tables are different |
01:57 | <zcorpan> | yeah |
01:59 | <zcorpan> | what i thought was that if i could spec something that implementors can agree on and implement then the csswg could either ignore reality and or accept the proposal |
01:59 | <zcorpan> | s/and or/or/ |
01:59 | <Hixie> | almost standards is basically an entirely different inline box model |
01:59 | <zcorpan> | yes |
01:59 | <Hixie> | the inline box model is the most complicated part of css |
02:00 | <zcorpan> | yeah... i'm not saying it's trivial... just that any ua would have to implement almost standards mode anyway |
02:00 | <Hixie> | yeah |
02:00 | <Hixie> | certainly i'm not going to discourage you from trying to spec it |
02:00 | <zcorpan> | so having something different in the spec is not helful imho (since there are more ASM documents than there is SM documents on the web) |
02:01 | <Hixie> | but it's not something i plan on being involved with for a while :-) |
02:01 | <Hixie> | yeah i gave up on the csswg a few months back |
02:01 | <zcorpan> | ok |
02:22 | <othermaciej> | Hixie: well, it seems like The Director didn't accept the CSS WG's stance on tables |
02:22 | <othermaciej> | although of course that has limited value in getting to do something good |
02:23 | <othermaciej> | zcorpan: I think there are factions in the csswg that are low on willingness to acknowledge reality |
02:24 | <zcorpan> | well... so long as implementors can agree on implementing something then i'm happy. if the csswg ignores it then oh well |
02:24 | <othermaciej> | csswg has not gone sufficiently down the tubes yet for implementors to entirely rebel |
02:25 | <zcorpan> | keeping almost standards mode and standards mode is also an option, but i'd still like to spec ASM |
02:25 | <zcorpan> | i would like them to be merged though |
02:26 | <zcorpan> | my limited testing so far has shown that there is not interop in ASM handling |
02:26 | <othermaciej> | I would prefer standards mode to change to match ASM |
02:26 | <othermaciej> | zcorpan: what's the lack of interop? |
02:26 | <zcorpan> | when to use the real line box model or not |
02:26 | <zcorpan> | e.g. if you have <div><img> <img></div> |
02:27 | <zcorpan> | vs. <div><img><img></div> vs. <div><img>x<img></div> |
02:27 | <othermaciej> | which one of those has layout differences, and in what browsers? |
02:29 | <zcorpan> | iirc, the first is equivalent to the second in ie, but equivalent to the third in gecko |
02:29 | <zcorpan> | i'll have to do a lot more testing on this though |
02:32 | <zcorpan> | also, is a non-replaced empty inline element that has a border enough to trigger the real line box model or not? at least opera and gecko disagree about that in ASM |
02:33 | <zcorpan> | (gecko does the same as in SM in that case, opera doesn't) |
02:33 | <othermaciej> | well, IE has no difference between ASM and SM |
02:33 | <zcorpan> | i know |
02:33 | <othermaciej> | and both may be wrong |
02:34 | <othermaciej> | the first matching the third is probably an artifact of IE dropping whitespace text nodes entirely |
02:34 | <othermaciej> | wait, I guess they wouldn't in that case |
02:34 | <zcorpan> | no, the text node is there |
02:34 | <othermaciej> | so nevermind |
02:34 | <othermaciej> | if you can't easily test in Safari yourself I can help (though not right now, most go soon) |
02:35 | <zcorpan> | sure, thanks |
02:35 | <zcorpan> | i'll let you know when i have more tests |
02:37 | <bzed> | jgraham: btw, html5lib is in Debian's testing/unstable since a few days |
02:47 | zcorpan | finds the new buzzword "POSH" |
02:47 | <zcorpan> | seems to be the same as the "XHTML" buzz a few years back |
02:47 | <zcorpan> | just without the X :) |
03:04 | <zcorpan> | so HTML5 without style="" would be POSH5 :) |
03:05 | <marcosc> | :D |
03:10 | <zcorpan> | http://www.ilimitado.de/blog/allgemeines/whatwg-kundigt-html6-an/ |
03:18 | <Philip`> | The danger of making April Fools' jokes not quite obvious enough :-) |
03:19 | zcorpan | commented |
03:26 | zcorpan | notes that the whatwg blog's tagline is now "Please leave your sense of logic at the door, thanks!" |
03:26 | <Hixie> | heh |
09:50 | <hsivonen> | whoa. so many points about style='' that I think I'll reply to list |
09:52 | <annevk> | please also point out the problems with style= |
09:53 | <hsivonen> | Philip`: Konq doctype: ack |
10:47 | <annevk> | help, HTML5 links to CSSOM |
10:58 | <annevk> | hsivonen, the case study is really about adding target= through scripting |
11:03 | <hsivonen> | annevk: is that really what the ALA types are doing these days? |
11:04 | <annevk> | that's the script on sitepoint |
11:04 | <annevk> | i also made one of those scripts |
11:04 | <annevk> | using rel=external |
11:04 | <annevk> | as indicator |
11:04 | <hsivonen> | wow. aren't people even interested in fooling themselves anymore? |
11:05 | <annevk> | i don't really see the difference with window.open() |
11:05 | <annevk> | people are also using <script> to write out <embed> |
11:05 | <annevk> | for Flash |
11:05 | <annevk> | (before Eolas) |
11:10 | <Philip`> | Maybe there could be a i-know-this-is-nonconforming-but-let-me-do-it-anyway="true" attribute, which makes conformance checkers look away while you do something naughty because the alternatives are worse |
11:11 | <zcorpan> | ...or you make those cases conforming |
11:14 | <annevk> | "embrace and extend" :) |
11:14 | <hsivonen> | annevk, Philip`: do you have suggestions with better net effects? |
11:15 | <annevk> | i'm not against |
11:15 | annevk | is all for target |
11:15 | <annevk> | let authors indicate what they want |
11:15 | <annevk> | let the user decide what to do with that information |
11:17 | <annevk> | implemented EndTagShort, EndTag, Pi so far... |
11:17 | <annevk> | didn't do anything fancy for Pi though... just extracting the name and its contents |
11:21 | <hsivonen> | annevk: is your XML5 error recovery streamable (i.e. SAX-friendly)? |
11:22 | <annevk> | like not having adoption agency? |
11:22 | <hsivonen> | annevk: yes |
11:22 | <annevk> | yes |
11:23 | <hsivonen> | annevk: cool |
11:23 | <annevk> | although it's not entirely clear how this will work out with entities |
11:23 | <annevk> | because of the looping |
11:23 | <hsivonen> | looping? |
11:23 | <annevk> | two entity definitions that refer to each other |
11:23 | <annevk> | (entities are like templates) |
11:24 | <hsivonen> | my point is that if you are looking for adoption and a wide buy-in, you cannot sacrifice the performance properties of streaming parsers |
11:24 | <hsivonen> | annevk: that's not exposed through ContentHandler anyway |
11:24 | <annevk> | yeah, so presumably this is a solved problem already because their entity checking happens during streaming |
11:25 | <annevk> | except that I don't throw an error but print out the looping entity or simply drop it |
11:25 | <annevk> | (well, an error too) |
11:25 | <hsivonen> | annevk: do you have a prescribed anti-billion laughs limit? |
11:26 | <hsivonen> | you need 16 for the XHTML+SVG+MathML DTD, IIRC |
11:26 | <hsivonen> | 16 as the depth, that is |
11:27 | <annevk> | what's that? |
11:28 | <annevk> | I'm not doing DTDs |
11:28 | <zcorpan> | annevk: one more thing i'm curious about, will there be only be one conformance level? e.g. non-validating that don't fetch external entities, but know about some FPIs? |
11:28 | <zcorpan> | annevk: but you'll have to spec the internal subset, right? |
11:29 | <annevk> | yes, yes |
11:29 | <zcorpan> | ok |
11:29 | <zcorpan> | good :) |
11:29 | <annevk> | (i'm not sure I'll do the crap about known FPIs) |
11:29 | <annevk> | just predefine a bunch of cool entities |
11:30 | <annevk> | actually, I'm sure I won't do FPIs in my initial version |
11:30 | <annevk> | the initial version will ignore all that |
11:30 | <zcorpan> | ok |
11:30 | <hsivonen> | annevk: aren't you required to do the internal subset? |
11:31 | <annevk> | FPIs != internal subset right? |
11:31 | <hsivonen> | Formal Public Identifier |
11:31 | <hsivonen> | -//blahblah DTD// ffo //EN |
11:31 | annevk | will do the internal subset, including entities, default attribute values, attribute types and parameter entities |
11:31 | <annevk> | right, that's simply ignored |
11:31 | <hsivonen> | annevk: billion laughs can be delivered in the internal subset |
11:32 | <annevk> | still need to know what it is |
11:32 | annevk | -> lunch |
11:32 | <hsivonen> | annevk: it is a denial of service attack |
11:32 | <hsivonen> | annevk: I'd rather not paste a test case URL here, because someone might open it in a vulnerable browser |
11:33 | <zcorpan> | <!ENTITY ha "ha! ha! "><!ENTITY ha1 "&ha; &ha;">... &ha128; |
11:33 | <hsivonen> | http://agorf.void.gr/blog/archive/2005/11/05/the-billion-laughs-attack/ |
11:33 | <hsivonen> | beware of the further links there |
11:34 | <zcorpan> | those links are 404s :) |
12:05 | <annevk> | hsivonen, so laughs is looped entities? |
12:06 | <annevk> | that page doesn't tell me much |
12:06 | <annevk> | given that the links are broken |
12:09 | <hsivonen> | annevk: not looped. growing to power of two. see what zcorpan said above |
12:11 | <annevk> | oh right |
12:11 | <annevk> | suggestions for entity tokenizing welcome |
12:54 | <Dashiva> | This seems relevant: http://www.bash.org/?684098 |
15:16 | <annevk> | is <x foo=bar/> a start or empty tag? |
15:17 | annevk | leaves it a start tag for now |
16:08 | <annevk> | hmm, doctypes |
16:22 | <jdandrea> | annevk: <x foo=bar/> - my knee-jerk reaction is "that's a start tag." |
16:22 | <jdandrea> | (which happens to comprise an empty element) |
16:23 | <Lachy> | it would make the most sense to parse <x foo=bar/> similarly to HTML5, which treats it like <x foo="bar/"> |
16:24 | <Lachy> | so it's just a start tag |
16:24 | <jdandrea> | Lachy: Oh! I see the distinction. Subtle. :) |
16:24 | <jdandrea> | It's not even an empty element then. |
16:27 | <Philip`> | Given how people like writing <x /> in XML, it could be convenient to have <x foo=bar/> === <x foo="bar/"> and then <x foo=bar /> === <x foo="bar"/> |
16:27 | <Lachy> | Philip`, yes |
16:28 | <Philip`> | (so, rather than forcing them to go back and add two quotes when they get it wrong, they only have to go back and add a space if they get it wrong) |
16:29 | <Lachy> | that depends on whether or not omitting quotes is conforming or not |
16:29 | <Philip`> | Does anyone care if that's conforming, as long as it parses correctly? :-) |
16:30 | <Lachy> | yes, it's important to have sensible document conformance requirements, so that conformance checkers can issue errors, that help authors fix documents if the error recovery isn't what they actually intended |
16:31 | <Lachy> | it could be that the author intended <x foo=bar/> to be an empty element, but because quotes were omitted accidentially, it's not |
16:32 | <jdandrea> | So, at the very least, the author should be warned. |
16:32 | <Lachy> | conformance checkers should mostly emit errors instead of warnings |
16:33 | <jdandrea> | In the <x foo=bar/> case, would the checker issue a warning or an error? |
16:33 | <Lachy> | though, warnings are ok for things that are technically conforming, but not advisable, or explicitly requested by the person checking the doc |
16:34 | <Lachy> | an error |
16:34 | <jdandrea> | Ah, because it's non-conforming. Got it. |
16:37 | <Philip`> | Hmm, I think I'm missing the reason why rather than having error recovery for non-conforming documents that works almost but not quite properly, which will hurt people in rare cases (like when they add a / to an attribute value), it isn't more convenient to have error recovery that makes it obvious those cases are wrong (e.g. by parsing <x foo=bar> into <x foo="" bar="">) so the author knows their code is likely to break in the future (without them usi |
16:37 | <Philip`> | ...using a conformance checker) |
16:39 | <Lachy> | Philip`, that would be an example of non-fatal error recovery that could significantly break a document |
16:41 | <Lachy> | e.g. consider this XHTML: <div class=content> (div used for layout)</div>, the .content selector would no longer apply with that suggested parsing, and so the layout could break significantly |
16:43 | <Philip`> | The lack of "" doesn't seem like an error that's going to creep in without the document author noticing (unlike how unencoded &s and badly-nested tags and broken character encodings can creep in) - maybe they'd write 'print "<x foo=$bar>";' once but then they'd notice when testing (since it's not complex dynamically-generated output) and fix it to 'print "<x foo=\"$bar\">;' and it'll work alright |
16:44 | <Philip`> | Lachy: Is this meant to be somewhat backward compatible with HTML5 documents? |
16:44 | <Lachy> | being somewhat consistent would have the path of least surprise for authors |
16:45 | <Lachy> | s/have/be/ |
16:46 | <Philip`> | Ah, okay |
16:47 | <Philip`> | I guess the problem is <x foo="bar/"> would be the least surprising parse for HTML authors, but <x foo="bar"/> would be the least surprising for XML authors, so you have to consider which is more prevalent and which is least good at writing well-formed documents, in which case I guess you should minimise surprise for HTML authors :-) |
16:48 | <Philip`> | *consider which group of authors is ... |
17:02 | <jdandrea> | Minor nit: In WA 1.0 section 3.9.4 shouldn't the example dt and dd elements have end tags? |
17:02 | jdandrea | is looking at http://www.whatwg.org/specs/web-apps/current-work/multipage/section-prose.html#dialog |
17:06 | <Philip`> | http://www.whatwg.org/specs/web-apps/current-work/multipage/section-writing.html#optional says the end tags are optional |
17:17 | zcorpan | points to http://forums.whatwg.org/viewtopic.php?t=30 |
17:23 | <jdandrea> | Philip `: Ahh, yes indeed - just when I think I've stumbled upon something. Thx. :) |