/irc-logs / freenode / #whatwg / 2007-06-20 / end

Options:

  1. # Session Start: Wed Jun 20 00:00:00 2007
  2. # Session Ident: #whatwg
  3. # [00:01] <Philip`> It's annoyingly hard to concentrate when there's two simultaneous firework displays outside
  4. # [00:05] * Quits: kingryan_ (n=kingryan@corp.technorati.com)
  5. # [00:08] * Joins: kingryan (n=kingryan@corp.technorati.com)
  6. # [00:08] * Joins: weinigLap_ (n=weinig@17.255.105.160)
  7. # [00:09] * Quits: kingryan (n=kingryan@corp.technorati.com) (Client Quit)
  8. # [00:11] * othermaciej is now known as om_coffee
  9. # [00:16] <Hixie> wow
  10. # [00:16] <Hixie> Opera actually supports <![CDATA[ ]]> in text/html
  11. # [00:16] <Hixie> it creates an actual #cdata-section
  12. # [00:16] <Hixie> i'm glad i added support for #cdata-sections to the live DOM viewer now
  13. # [00:16] <Hixie> i really didn't think that code would ever get hit
  14. # [00:18] * Quits: aroben (n=adamrobe@17.255.98.199) (Remote closed the connection)
  15. # [00:18] * Joins: aroben (n=adamrobe@17.255.98.199)
  16. # [00:18] * Quits: hasather (n=hasather@22.80-203-71.nextgentel.com) (Read error: 113 (No route to host))
  17. # [00:21] * Joins: aroben_ (n=adamrobe@17.203.15.248)
  18. # [00:23] * Quits: weinigLap (i=weinig@nat/apple/x-54452f298e41532f) (Read error: 110 (Connection timed out))
  19. # [00:24] <Philip`> Hixie: It seems to be implemented pretty weirdly - it dislikes having either [ or ] inside the CDATA section, which doesn't make much sense to me...
  20. # [00:25] <Philip`> Oh, actually it just dislikes it when the number of [ is not equal to the number of ]
  21. # [00:31] <jgraham> Philip`: Where are you with all the fireworks?
  22. # [00:31] <Philip`> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21%5BCDATA%5B%20%5B%5B%5D%5D%3E%20%5D%5D%3E - ah, it looks very much like it has a count of how deeply nested it is, and if sees a > after the nesting level has got back to 0 then it exits CDATA mode
  23. # [00:32] <Philip`> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21%5BCDATA%5B%5Dxyzw%5Dabcd%3E - and once it's seen the > at nesting-level 0, it deletes the last two characters (regardless of what they were)
  24. # [00:34] <Philip`> ...which all seems like a totally bogus thing to do
  25. # [00:35] <Hixie> it drops everything between the last ] and the > as far as i can tell
  26. # [00:35] <Hixie> oh no
  27. # [00:35] <Hixie> you're right
  28. # [00:37] <Hixie> has to be exactly the string <![CDATA[, too
  29. # [00:37] <Hixie> that's so funny
  30. # [00:37] <Hixie> i wonder how this can be abused
  31. # [00:40] * Quits: aroben (n=adamrobe@17.255.98.199) (Connection timed out)
  32. # [00:41] <Philip`> Looks like it parses exactly the same (requiring nested brackets and everything) if it just has <![ but only creates the cdata-section if it's followed by cdata[
  33. # [00:41] <Hixie> huh
  34. # [00:41] <Hixie> weirder and weirder
  35. # [00:43] <Philip`> Oh, no, it does it you have <!] too (then the nesting level starts at -1 so you have to do <!][> to get out of it)
  36. # [00:44] <Philip`> +if
  37. # [00:44] <Hixie> lol
  38. # [00:44] <Hixie> nic8e
  39. # [00:44] <Hixie> nice
  40. # [00:44] <Hixie> how about <!--, does that still have the counting?
  41. # [00:48] * Joins: gavins (n=gavin@firefox/developer/gavin)
  42. # [00:54] <Philip`> jgraham: In Cambridge (where it looks like most of the people are quite happy to have stopped working for the next few months :-) )
  43. # [00:55] <jgraham> Snap :)
  44. # [00:55] <Philip`> Hixie: I can't see Opera doing anything other than waiting until it sees --> after it's got <!--
  45. # [00:56] <Philip`> though it does do the []-counting if you just have <!- followed by anything except -
  46. # [00:56] * Quits: weinigLap_ (n=weinig@17.255.105.160)
  47. # [00:57] * Joins: weinigLap (n=weinig@17.255.105.160)
  48. # [00:59] <Philip`> jgraham: Are you somewhere near the centre of Cambridge?
  49. # [01:00] <jgraham> Yeah
  50. # [01:00] <Hixie> Philip`: interesting
  51. # [01:01] * Philip` was perfectly located to see the fireworks as long as he opened his window quite wide and let all the rain in
  52. # [01:02] * Joins: aroben (n=adamrobe@17.255.98.199)
  53. # [01:02] <jgraham> My view is usually blocked so I didn't try very hard
  54. # [01:02] * Quits: weinigLap (n=weinig@17.255.105.160)
  55. # [01:04] * Quits: aroben (n=adamrobe@17.255.98.199) (Remote closed the connection)
  56. # [01:05] * om_coffee is now known as othermaciej
  57. # [01:05] * Joins: aroben (n=adamrobe@17.255.98.199)
  58. # [01:05] * Joins: kingryan (n=kingryan@corp.technorati.com)
  59. # [01:05] * othermaciej is now known as oothermaciej
  60. # [01:06] <Hixie> only 122 more e-mails in my html-parsing-rules folder
  61. # [01:06] <Hixie> (not counting the -encoding subfolder, etc)
  62. # [01:06] * oothermaciej is now known as othermaciej
  63. # [01:06] <bewest> oo othat reminds me to send some feedback from a coworker
  64. # [01:12] <Philip`> http://lachy.id.au/log/2005/05/script-comments says "the only user agent I know of the supports the CDATA section for HTML documents is the new Opera 8", so it sounds like it wasn't added before v8. (I have no idea why they ever added it, particularly with such an intriguing implementation...)
  65. # [01:12] <Hixie> yeah
  66. # [01:12] <Hixie> well
  67. # [01:12] <Hixie> no comment
  68. # [01:13] <Hixie> i love how zcorpan reported the same issue several times (probably without realising it)
  69. # [01:17] * Quits: aroben_ (n=adamrobe@17.203.15.248) (Connection timed out)
  70. # [01:18] * Joins: webben (n=benh@91.84.143.253)
  71. # [01:20] * Quits: billmason (n=billmaso@ip156.unival.com) (Read error: 104 (Connection reset by peer))
  72. # [01:40] * Quits: aroben (n=adamrobe@17.255.98.199)
  73. # [01:50] * Quits: jgraham (n=jgraham@81-86-214-247.dsl.pipex.com) (Read error: 110 (Connection timed out))
  74. # [01:50] * Joins: jgraham (n=jgraham@81-86-214-247.dsl.pipex.com)
  75. # [02:04] * Joins: karlUshi (n=karl@dhcp-247-173.mag.keio.ac.jp)
  76. # [02:08] <Hixie> ok i'm sure what i just did just about broke everything in the spec
  77. # [02:08] <Hixie> so, please let me know if you find issues with those checkins...
  78. # [02:10] * Quits: webben (n=benh@91.84.143.253) (Read error: 110 (Connection timed out))
  79. # [02:11] <jruderman> Hixie: did you just set the spec on fire?
  80. # [02:12] <Hixie> i abstracted out innerHTML's getter and setter to generic algorithms
  81. # [02:13] * Joins: aroben (n=adamrobe@17.255.98.199)
  82. # [02:20] <Philip`> Looks like the innerHTML link in item 3 a bit below http://www.whatwg.org/specs/web-apps/current-work/#innerhtml1 should link to innerhtml1 (to be consistent with all the others in that section) instead of innerhtml0. Or maybe all those should link to innerhtml0 instead, or something.
  83. # [02:21] <Hixie> oops
  84. # [02:22] <Hixie> will dix
  85. # [02:22] <Hixie> f6ix
  86. # [02:22] <Hixie> fix
  87. # [02:41] <Philip`> Ooh, excellent, I get non-deterministic behaviour when drawing a couple of arcs and rectangles in Opera
  88. # [02:43] <Hixie> uri?
  89. # [02:44] <Philip`> Just trying to make a sensible test case now
  90. # [02:50] * Hixie giggles
  91. # [02:50] <Hixie> one of my colleagues introduced me to one of our interns, saying i was a standards guru
  92. # [02:50] <Hixie> the intern asked if i knew about the whatwg
  93. # [02:51] <bewest> hehe
  94. # [02:51] <bewest> do you pronounce whatwg?
  95. # [02:51] <bewest> or do you say W-H-A....
  96. # [02:52] <Hixie> i pronounce it "whatwuhjee"
  97. # [02:52] <Hixie> and i guess that's canonical since i came up with it
  98. # [02:52] <Hixie> when i'm talking more formally i call it the "What double you gee"
  99. # [02:53] <Philip`> http://canvex.lazyilluminati.com/misc/operanondet.html - that's running the same code lots of times, and I get a random selection of about four renderings (of which two are quite rare)
  100. # [02:53] <bewest> I usually say whatwahguhdfm.....
  101. # [02:53] <Philip`> ...in Opera 9.21 on Windows and Linux
  102. # [02:53] <Philip`> (Turns out it doesn't actually need arcs at all)
  103. # [02:54] <Hixie> all look the same to me on 9.00
  104. # [02:54] <Hixie> (windows)
  105. # [02:54] <Hixie> bewest: whatwahguhdfm?
  106. # [02:54] <Philip`> Does it stay the same if you reload the page a few times?
  107. # [02:54] <Hixie> (wish it was easier to keep up to date with opera, sheesh)
  108. # [02:54] <Hixie> seems yes
  109. # [02:55] <bewest> Hixie: yes, and then my voice kind of trails off at the end, and then I resume what I was saying.
  110. # [02:55] <Hixie> heh
  111. # [02:56] <Hixie> i recommend "whatwuhjee"
  112. # [02:56] <bewest> yeah, seems better.
  113. # [02:56] <Hixie> Philip`: wow, yeah, opera 9.21 is all over the place
  114. # [02:59] <Philip`> http://canvex.lazyilluminati.com/misc/operanondet.png - that has all the four renderings I've noticed
  115. # [03:07] <Hixie> funky
  116. # [03:09] <Hixie> ok, renamed "innerHTML case" to "fragment case"
  117. # [03:10] <Hixie> wow, the last csswg meeting had all of four people on the call
  118. # [03:26] * Joins: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
  119. # [03:31] * Quits: kingryan (n=kingryan@corp.technorati.com)
  120. # [03:37] * Quits: h3h (n=w3rd@66-162-32-234.static.twtelecom.net) ("|")
  121. # [03:37] * Joins: Lachy (n=Lachlan@203-158-59-119.dyn.iinet.net.au)
  122. # [03:43] <Hixie> http://bugs.webkit.org/show_bug.cgi?id=12740 is heartwarming
  123. # [03:43] <othermaciej> like heartburn?
  124. # [03:44] <Hixie> no
  125. # [03:44] <Hixie> like a hug :-P
  126. # [03:45] <othermaciej> ah yes, that was a nice fix
  127. # [03:45] <othermaciej> interop problem solved by following spec
  128. # [03:48] <karlUshi> othermaciej: which part of the spec?
  129. # [03:48] <othermaciej> Hixie: part of the HTML5 parsing algorithm
  130. # [03:48] <Hixie> i assume that was to karl
  131. # [03:48] <karlUshi> ;)
  132. # [03:48] <Hixie> since i looked at the bug and therefore knew :-)
  133. # [03:49] <othermaciej> er, yeah
  134. # [03:49] <othermaciej> karlUshi: meant that for you
  135. # [03:49] <karlUshi> a specific part of the parsing algorithm
  136. # [03:50] <karlUshi> I have an idea to explain people why html5 parsing rules are important.
  137. # [03:50] <karlUshi> I think it is a good example
  138. # [03:50] * Joins: MikeSmith (n=MikeSmit@u-210160014218.hotspot.ne.jp)
  139. # [03:53] <karlUshi> http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html#in-table
  140. # [03:54] <karlUshi> it seems to be it
  141. # [03:59] <Philip`> karlUshi: Looks like the "A start tag whose tag name is "table"" case in there, in particular
  142. # [04:36] * Joins: jcgregorio (n=chatzill@adsl-072-148-043-048.sip.rmo.bellsouth.net)
  143. # [04:38] <Lachy> Hixie, yt?
  144. # [04:59] <Hixie> yo
  145. # [05:00] <Hixie> Lachy?
  146. # [05:04] <Lachy> hey
  147. # [05:04] <Lachy> regarding Selectors API, Jonas' last message on member-webapi and http://lists.w3.org/Archives/Public/public-webapi/2006Sep/0100.html
  148. # [05:05] <Lachy> I'm wondering if you could help me understand what the issue is - there doesn't seem to be one
  149. # [05:05] <Hixie> which part?
  150. # [05:05] <Lachy> in particular, the scoped selectors part.
  151. # [05:06] <Lachy> AFAIK, scoped selectors don't exist, so how can I deal with them?
  152. # [05:06] <Hixie> i don't see the problem either
  153. # [05:08] <Lachy> also, regarding the :root issue, it seems to me that it would only ever match the root of the document, not the root of a subtree, so I don't see what the problem is there either
  154. # [05:08] <Hixie> i agree
  155. # [05:08] * Hixie wonders exactly what chaals meant in reply to the f2f questionnaire
  156. # [05:08] <Lachy> cool. I'll just reply and explain why it's not an issue.
  157. # [05:09] <Hixie> i can't tell if he thinks i'm wrong in saying the telecon was a waste of time or what
  158. # [05:09] <Hixie> guess i'll have to catch him online at some point
  159. # [05:09] <Lachy> which f2f questionaire?
  160. # [05:09] <Hixie> http://www.w3.org/2002/09/wbs/40318/mtgmv/
  161. # [05:10] <Hixie> given that only 13 people replied, and at least one of them only replied because i asked them about it, i'm starting to wonder if anyone actually reads public-html these days
  162. # [05:10] <Lachy> I haven't paid much attention to it recently. I marked about ~300 messages as read a few days ago cause I couldn't be bothered
  163. # [05:11] <Lachy> I didn't even know they were going to have an f2f
  164. # [05:11] <Hixie> heh
  165. # [05:12] * Quits: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
  166. # [05:13] <Hixie> right, going home
  167. # [05:13] <Hixie> bbl
  168. # [05:13] <Lachy> ok, cya
  169. # [05:13] * Quits: tantek (n=tantek@corp.technorati.com)
  170. # [05:16] <Philip`> Hmm, commit-watchers seems to still be randomly ignoring some commits (823, 839, 898, 908, 912, 932, 934)
  171. # [05:17] * Quits: dbaron (n=dbaron@corp-242.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
  172. # [05:52] * Quits: MikeSmith (n=MikeSmit@u-210160014218.hotspot.ne.jp) (Read error: 110 (Connection timed out))
  173. # [05:54] * Quits: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
  174. # [06:07] * Quits: othermaciej (n=mjs@17.255.98.107)
  175. # [06:08] * Quits: gavin (n=gavin@firefox/developer/gavin) (Remote closed the connection)
  176. # [06:44] * Quits: jcgregorio (n=chatzill@adsl-072-148-043-048.sip.rmo.bellsouth.net) ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007060115]")
  177. # [07:02] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  178. # [07:05] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
  179. # [07:06] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  180. # [07:07] * Joins: MikeSmith (n=MikeSmit@u-61127102157.hotspot.ne.jp)
  181. # [07:47] * Joins: gavin_ (n=gavin@people.mozilla.com)
  182. # [07:50] * Joins: Lachy_ (n=Lachlan@203-158-59-119.dyn.iinet.net.au)
  183. # [07:50] * Quits: Lachy (n=Lachlan@203-158-59-119.dyn.iinet.net.au) (Read error: 104 (Connection reset by peer))
  184. # [07:55] <Hixie> Philip`: weird
  185. # [07:55] * othermaciej is now known as om_food
  186. # [07:59] <Lachy_> what do people think of selectOne/selectAll as the resolution to the selectors api naming debate? (I'm currently going through ~300 emails reviewing the arguments)
  187. # [08:05] * Joins: peepo (n=Jay@host81-159-189-97.range81-159.btcentralplus.com)
  188. # [08:06] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  189. # [08:07] <Hixie> sounds good to me, but i think the reason anne didn't pick those is that they are either too similar or actually clash with the xpath functions that IE supports
  190. # [08:08] <Lachy_> yeah, I did the research on that. XPath uses selectSingleNode/selectNodes
  191. # [08:08] <Lachy_> .select() is out because it's already used in <textarea> and <input type=text> APIs
  192. # [08:09] <Lachy_> the other alternative I'm considering is choose*()
  193. # [08:10] <Hixie> i prefer select
  194. # [08:10] <Lachy_> me too
  195. # [08:10] * Joins: hsivonen_ (n=hsivonen@kekkonen.cs.hut.fi)
  196. # [08:10] * Hixie finds a page that renders differently in IE than in other browsers because <span> is not considered a formatting element
  197. # [08:10] <Lachy_> I still have about 150 emails to get through. Then I'll finish summarising the arguments and send the results to the list
  198. # [08:12] * Parts: hsivonen (n=hsivonen@vipunen.hut.fi)
  199. # [08:12] * hsivonen_ is now known as hsivonen
  200. # [08:14] <Hixie> and then you'll be told you're being biased, and will have to ignore about 30% of the people, who will raise formal objections... welcome to the editor's job :-)
  201. # [08:15] <Lachy_> yeah, why do you think I've been avoiding the issue for so long? :-)
  202. # [08:15] <Lachy_> at least the CSS WG resolved the case sesitivity issue for me earlier today :-)
  203. # [08:16] * Joins: jruderman (n=jruderma@c-67-169-24-116.hsd1.ca.comcast.net)
  204. # [08:19] <Hixie> yeah
  205. # [08:19] <Hixie> impressive
  206. # [08:20] <Lachy_> are you going to consider fixing the issue in XBL to make the prefixes case senstive now, or just leave it as is?
  207. # [08:20] <Hixie> i'll fix it in due course
  208. # [08:20] <Lachy_> cool
  209. # [08:27] <Hixie> annevk: yt?
  210. # [08:44] <Hixie> http://news.com.com/8301-10784_3-9731230-7.html?part=rss&subj=news&tag=2547-1_3-0-5
  211. # [08:44] <Hixie> seriously, they're getting worse
  212. # [08:44] <Hixie> when will they learn?
  213. # [08:44] <Lachy_> yeah, I noticed that earlier. I just laughed
  214. # [08:51] * Joins: zcorpan_ (n=zcorpan@pat.se.opera.com)
  215. # [08:55] * om_food is now known as othermaciej
  216. # [08:56] <Lachy_> oh dear! Flash CS3 apparently uses document.selectAll() already :-(
  217. # [08:56] <karlUshi> Hixie: you mean journalists… indeed :p Tempest in a tea post
  218. # [08:57] <karlUshi> slashdot is more interesting on the issue
  219. # [08:57] <othermaciej> Lachy_: for what?
  220. # [08:57] <othermaciej> what does it expect selectAll to do?
  221. # [08:58] <Lachy_> I'm getting the link...
  222. # [08:58] <Lachy_> http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00003989.html
  223. # [08:59] <Lachy_> it apparently seems to do text selection, though I'm not totally sure
  224. # [08:59] <othermaciej> so wait, Flash extends the Document object?
  225. # [08:59] * othermaciej is confused
  226. # [09:00] <othermaciej> "The Document object represents the Stage. That is, only FLA files are considered documents."
  227. # [09:00] <Lachy_> well, it calls it a DOM, but it doesn't seem to be related to the W3C DOM
  228. # [09:00] <othermaciej> none of that stuff is in any way related to the DOM as we know it, as far as I can tell
  229. # [09:01] <othermaciej> Lachy_: the article about the w3c is hilarious
  230. # [09:03] <zcorpan_> can anyone access http://forums.whatwg.org/ ?
  231. # [09:03] <Lachy_> zcorpan_, no
  232. # [09:04] * Joins: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  233. # [09:10] <zcorpan_> ok
  234. # [09:11] <Hixie> server is rebooting
  235. # [09:11] <MikeSmith> great to see that Declan McCullagh at it again
  236. # [09:12] * Quits: MikeSmith (n=MikeSmit@u-61127102157.hotspot.ne.jp) ("Less talk, more pimp walk.")
  237. # [09:21] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 110 (Connection timed out))
  238. # [09:31] * Quits: karlUshi (n=karl@dhcp-247-173.mag.keio.ac.jp) ("Where dwelt Ymir, or wherein did he find sustenance?")
  239. # [09:43] <zcorpan_> does it matter whether something is implemented in the tokenizer or the parser?
  240. # [09:45] <hsivonen> zcorpan_: if you want to use tokenizer-specific unit tests, yes.
  241. # [09:45] <hsivonen> zcorpan_: matter for whom?
  242. # [09:46] <hsivonen> zcorpan_: also, in the case of Java (or C#, I presume), upper or lower casing stuff in the tokenizer is a bit cheaper than leaving it to the tree builder
  243. # [09:47] <hsivonen> (languages that have both char[] and immutable String)
  244. # [09:47] <hsivonen> scratch that--the statement makes assumptions about the interface between the tokenizer and the tree builder
  245. # [09:49] <zcorpan_> hsivonen: whether it matters for spec conformance
  246. # [09:50] <hsivonen> zcorpan_: it may matter to the order of parse errors
  247. # [09:50] <hsivonen> zcorpan_: I'd expect
  248. # [09:50] <othermaciej> does the spec require a particular order for parse errors?
  249. # [09:51] <hsivonen> othermaciej: IIRC, there was some language tied to "first"
  250. # [09:51] <zcorpan_> e.g., if something is more performant to implement in the parser for implementor A and more performant to implement in the tokenizer for implementor B, and the end result is the same, then i don't see a good reason to make one implementation non-conforming
  251. # [09:52] <hsivonen> zcorpan_: agreed
  252. # [09:53] <hsivonen> othermaciej: ah. not relevant. it was not the first as defined by the algorithm but the first for which the impl takes special action
  253. # [09:54] <hsivonen> "The error handling for parse errors is well-defined: user agents must either act as described below when encountering such problems, or must abort processing at the first error that they encounter for which they do not wish to apply the rules described below."
  254. # [09:55] <zcorpan_> could be phrased as s/the first/any/
  255. # [09:57] <hsivonen> fwiw, I'll probably make following that rule optional
  256. # [09:57] <hsivonen> (i.e. allow the user of the parser to enable non-conforming coercion to XML 1.0 infoset)
  257. # [09:58] <hsivonen> in the parser library that is--not in the conformance checker
  258. # [09:58] * Quits: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  259. # [10:00] * Joins: ddfreyne (n=ddfreyne@d54C57894.access.telenet.be)
  260. # [10:07] * Quits: peepo (n=Jay@host81-159-189-97.range81-159.btcentralplus.com) ("later")
  261. # [10:21] <hsivonen> hmm. the state transitions between the new comment states aren't nice
  262. # [10:21] * hsivonen wonders if one state with hyphen counting would work
  263. # [10:23] <zcorpan_> hmm, writing test cases for .lastModified seems non-trivial
  264. # [10:23] <zcorpan_> or not, i can use http headers
  265. # [10:26] <hsivonen> it seems to me that it is the easiest to combine the last three comment states and to use a counter
  266. # [10:29] <zcorpan_> "The last two digits of the year component of the date." -- shouldn't this be 4 digits?
  267. # [10:29] * Quits: ddfreyne (n=ddfreyne@unaffiliated/ddfreyne) ("kthxbai")
  268. # [10:34] <Hixie> hsivonen: the biggest problem with that is getting the parse errors right
  269. # [10:34] * Quits: syp| (n=syp@lasigpc9.epfl.ch) (Read error: 104 (Connection reset by peer))
  270. # [10:34] * Joins: syp| (n=syp@lasigpc9.epfl.ch)
  271. # [10:35] <hsivonen> Hixie: "that" being a counter?
  272. # [10:35] <Hixie> yeah
  273. # [10:35] <Hixie> well, with not using the numerous states i used
  274. # [10:36] <zcorpan_> Hixie: was the year component of .lastModified a mistake? should i bug the list about it? (all browsers return the year in 4 digits)
  275. # [10:36] <Hixie> why are the states troublesome? because of using a stack-based approach instead of a switch? or?
  276. # [10:37] <hsivonen> Hixie: using a stack-based approach and I don't want arbitrary recursion based on input
  277. # [10:37] * Quits: syp| (n=syp@lasigpc9.epfl.ch) (Read error: 104 (Connection reset by peer))
  278. # [10:37] <Hixie> zcorpan_: hm
  279. # [10:37] <hsivonen> Hixie: plus the direct transition to comment end state from comment start dash state
  280. # [10:38] <Hixie> ah
  281. # [10:38] <Hixie> just have a little state machine in your function :-)
  282. # [10:38] <hsivonen> Hixie: isn't the counter exactly it?
  283. # [10:39] <hsivonen> 0: comment 1: end dash 2: end
  284. # [10:39] <Hixie> well, if you get the parse errors right
  285. # [10:39] * Joins: syp| (n=syp@lasigpc9.epfl.ch)
  286. # [10:39] <Hixie> <!--> has a parse error, <!----> does not
  287. # [10:39] <Hixie> <!---> has a parse error, <!-- ---> has a parse error
  288. # [10:40] <Hixie> <!-- --> does not
  289. # [10:41] <Hixie> zcorpan_: oops, i'll fix that
  290. # [10:41] <Hixie> zcorpan_: no need to report it
  291. # [10:41] <hsivonen> Hixie: um. according to the revision of comment start dash state that I am looking at, <!--> does not have a parse error
  292. # [10:41] <zcorpan_> Hixie: ok
  293. # [10:41] <hsivonen> oop
  294. # [10:41] <hsivonen> s
  295. # [10:42] <hsivonen> never mind
  296. # [10:42] <Hixie> you start in the comment start state, not the comment start dash state
  297. # [10:42] <hsivonen> Hixie: I wasn't going to use a counter for the comment start * states
  298. # [10:43] <Hixie> ah ok
  299. # [10:48] * othermaciej is now known as om_sleep
  300. # [10:49] * Quits: kfish (n=conrad@61.194.21.25) ("pike")
  301. # [10:51] <annevk> Hixie, I am here now
  302. # [10:51] <Hixie> sent you mail
  303. # [10:51] <annevk> having said that, I haven't checked e-mail so far
  304. # [10:51] <annevk> ok
  305. # [10:51] <hsivonen> Hixie: considering markup decl open state, how could you ever go through the comment start* states without hitting the '-' cases?
  306. # [10:52] <hsivonen> "If the next two characters are both U+002D HYPHEN-MINUS (-) characters, consume those two characters, create a comment token whose data is the empty string, and switch to the comment start state."
  307. # [10:52] <Hixie> they're consumed (by the text you just quoted) before you enter that state
  308. # [10:54] <hsivonen> ooh! the purpose of those states is very different from what I though
  309. # [10:54] <hsivonen> t
  310. # [10:55] <Hixie> oh
  311. # [10:55] <Hixie> heh :-)
  312. # [10:55] <hsivonen> calling them "start" is confusing
  313. # [10:56] <Hixie> why?
  314. # [10:56] <Hixie> they're at the start
  315. # [10:56] <hsivonen> when they actually test for bogus end
  316. # [10:56] <Hixie> what should i call them?
  317. # [10:56] <Hixie> i don't want to have the tokeniser enter a state with the name "bogus" for quite compliant markup
  318. # [10:56] <hsivonen> commentPotentiallyBogusDashOne commentPotentiallyBogusDashTwo
  319. # [10:58] <annevk> whoa
  320. # [10:58] <Hixie> i don't like names with "bogus" in them that are not bogus :-)
  321. # [10:58] <Hixie> "whoa"?
  322. # [10:59] <hsivonen> Hixie: only *potentially#
  323. # [10:59] <Hixie> oh i understand your proposal
  324. # [10:59] <Hixie> i just don't particularly like it :-)
  325. # [10:59] <Hixie> i understand how the current text is confusing though
  326. # [11:00] <hsivonen> annevk: what was your reading of the purpose of the new states?
  327. # [11:00] <annevk> whoa was in response to the new names
  328. # [11:00] <annevk> hsivonen, to address parse errors for <!--> and <!--->
  329. # [11:01] <hsivonen> annevk: yeah, but was your intuitive reading that <!--> would go through comment start dash?
  330. # [11:01] <hsivonen> annevk: am I the only one who is confused?
  331. # [11:01] <Hixie> i agree that the current state names are confusing
  332. # [11:01] <Hixie> and will look for better names
  333. # [11:01] <hsivonen> Hixie: ok thanks
  334. # [11:02] <Hixie> on another note, the w3c pubrules checker is retarded
  335. # [11:03] <annevk> hsivonen, how does <!--> go through comment start dash? it is emitted during comment start
  336. # [11:12] <hsivonen> annevk: it doesn't. that's my point
  337. # [11:13] <zcorpan_> Hixie: wow this is interesting. ie takes daylight-saving time into account for .lastModified. firefox doesn't.
  338. # [11:14] <annevk> hmm
  339. # [11:14] <annevk> I suppose I'm too used to everything after <!-- being the start of the comment
  340. # [11:14] <zcorpan_> http://simon.html5.org/test/html/dom/interfaces/HTMLDocument/lastModified/001.php
  341. # [11:15] <zcorpan_> in ie, it failed, but when i turned off "automatically adjust daylight-saving time" in windows, the test passed
  342. # [11:15] <hsivonen> on a related note: if an HTML5 doc contains <!--a--b-->, what would you like the result of XHTML5 conversion be? (assuming fatal error is not an option)
  343. # [11:15] <zcorpan_> in firefox it passed both times
  344. # [11:17] <hsivonen> is substituting two EN DASHes in the middle evil and/or confusing? what about a single U+FFFD?
  345. # [11:19] <annevk> I think the DOM spec suggested something like "--" -> "- -"
  346. # [11:19] <hsivonen> ok
  347. # [11:22] <annevk> Hixie, does Google have some secret project that relies on the placement of comments? :)
  348. # [11:22] <zcorpan_> "The presence of this character sequence must generate a fatal error during serialization." -- http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1728279322
  349. # [11:23] <annevk> I stick with my suggestion
  350. # [11:23] <annevk> I believe browsers already support <base> in XHTML
  351. # [11:24] <hsivonen> zcorpan_: let's assume I'm going to have an infoset-altering option for everything that the specs say is fatal
  352. # [11:25] <zcorpan_> hsivonen: ok. that was the text i found when looking for what annevk referred to ("--" -> "- -")
  353. # [11:25] <zcorpan_> (that almost looked like a smiley)
  354. # [11:26] * Joins: maikmerten (n=maikmert@L9a93.l.pppool.de)
  355. # [11:27] * zcorpan_ will bug the list about daylight-saving time on .lastModified
  356. # [11:27] <hsivonen> the whattf CVS to SVN migration support thread has 14 messages and the transition still isn't done...
  357. # [11:27] <hsivonen> not counting my replies
  358. # [11:28] * Joins: KevinMarks (n=Snak@c-76-102-254-252.hsd1.ca.comcast.net)
  359. # [11:29] <Hixie> annevk: heh, no, i just want whitespace and comments to be in the DOM in the same place they are in the markup
  360. # [11:29] * Joins: BenWard (i=BenWard@nat/yahoo/x-14b34d0dafe9d0bb)
  361. # [11:30] <hsivonen> Hixie: that'll be another use of XmlViolationPolicy.ALTER_INFOSET, then
  362. # [11:31] <Hixie> which?
  363. # [11:31] <hsivonen> Hixie: appending stuff to </head>
  364. # [11:31] <hsivonen> to head
  365. # [11:31] <hsivonen> after </head> has been seen
  366. # [11:32] <hsivonen> or are there those cases still
  367. # [11:32] <hsivonen> perhaps I'm just way too confused this morning. I woke up too early
  368. # [11:33] <Hixie> heh
  369. # [11:34] <zcorpan_> is it possible to get daylight-saving time info from javascript?
  370. # [11:34] <hsivonen> annevk: is your remainin </head> suggestion only about white space and comments?
  371. # [11:37] <zcorpan_> iirc, firefox inserts whitespace and comments that appear before <head> in the HEAD, and after </body> in the BODY. and between </head> and <body> in HEAD.
  372. # [11:38] * Joins: Ducki (n=Alex@dialin-212-144-071-095.pools.arcor-ip.net)
  373. # [11:39] <annevk> If we ignore </head> there's no moving around of elements anymore
  374. # [11:39] <annevk> a lot less special processing
  375. # [11:39] <annevk> and in general a simpler parsing model
  376. # [11:40] <Hixie> the complexity involved here is miniscule compared to almost any other part of the spec
  377. # [11:43] <zcorpan_> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21--before-doctype--%3E%3C%21doctype%20html%3E%3C%21--before-html--%3E%3Chtml%3E%3C%21--before-head--%3E%3Chead%3E%3C/head%3E%3C%21--before-body--%3E%3Cbody%3E%3C/body%3E%3C%21--after-body--%3E%3C/html%3E%3C%21--after-html--%3E
  378. # [11:44] <annevk> after body and after html will always be part of body I believe
  379. # [11:44] <Hixie> not in html5
  380. # [11:45] <Hixie> i need to find a way to handle whitespace, too
  381. # [11:45] <Hixie> i can reuse whatever solution i find for <table> whitespace processing
  382. # [11:47] <hsivonen> there are way too many pointless edge case differences between html4, html5 and xml 1.0
  383. # [11:47] <hsivonen> I don't care about xml 1.1, which is itself pointless
  384. # [11:48] <hsivonen> unfortunately, the silliness is mostly due to XML banning arbitrary stuff
  385. # [11:48] <annevk> or html5 allowing arbitrary stuff
  386. # [11:49] <hsivonen> well, yeah
  387. # [11:49] <annevk> then again, html was there first
  388. # [11:49] <zcorpan_> the arbitrary stuff in xml was copied from sgml, wasn't it?
  389. # [11:50] <hsivonen> zcorpan_: U+FFFE and U+FFFF sure were not
  390. # [11:51] <zcorpan_> hsivonen: ok.
  391. # [11:51] * hsivonen wonders who is actually able to use U+FFFF as a sentinel
  392. # [11:54] <Lachy_> wow! I just finished reading through every email I have on the naming debate :-)
  393. # [11:54] <hsivonen> Lachy_: naming?
  394. # [11:54] <Lachy_> selectors api
  395. # [11:54] <hsivonen> Lachy_: onwards to XHTML5 then :-)
  396. # [11:54] <Lachy_> the debate between matchAll()/getElementBySelector() and dozens of other alternatives
  397. # [11:55] <zcorpan_> Lachy_: did you get any wiser? :)
  398. # [11:55] <Lachy_> I'm about to send the summary of my research to public-webapi
  399. # [11:56] <Lachy_> sadly, I had to give up on selectOne/selectAll idea :-(
  400. # [11:56] <Lachy_> I'm considering a few like the following...
  401. # [11:56] * Joins: ROBOd (n=robod@86.34.246.154)
  402. # [11:56] <Lachy_> selectElement/selectElementList
  403. # [11:56] * om_sleep is now known as othermaciej
  404. # [11:56] <Lachy_> getElement/getElementList
  405. # [11:57] <othermaciej> selectElement would be extremely confusing given selectSingleNode
  406. # [11:57] <othermaciej> I would sugget cssQuery / cssQueryAll or cssQueryOne / cssQuery
  407. # [11:57] <zcorpan_> Lachy_: was it pointed out that dean edwards' base2 uses matchAll() and matchSingle() to implement the spec?
  408. # [11:57] <othermaciej> short and unambiguous
  409. # [11:57] <Lachy_> yeah, that's the argument against all the select* alternatives
  410. # [11:57] <Lachy_> zcorpan_, yes, I'm aware
  411. # [11:58] <Hixie> nn all
  412. # [11:58] <Lachy_> cya hixie
  413. # [11:58] <zcorpan_> Hixie: nn
  414. # [11:58] <hsivonen> nn
  415. # [11:59] <othermaciej> I'm not a fan of the getElementBySelector name that was theoretically chosen by the group but never put in the spec
  416. # [11:59] <othermaciej> but I also think on further thought that get() / getAll() is a little *too* concise
  417. # [11:59] <annevk> the problem with that is chosing a name for the one that matches multiple
  418. # [12:00] <Lachy_> if we didn't need to have both methods, I'd just go for getElementsBySelector()
  419. # [12:00] <othermaciej> I hate how long it is
  420. # [12:00] <annevk> yeah, me too
  421. # [12:00] <Lachy_> I know, me too
  422. # [12:00] <othermaciej> cssQuery
  423. # [12:00] <othermaciej> short, unambiguous
  424. # [12:00] <annevk> matchAll and matchSingle is already implemented :)
  425. # [12:00] <Lachy_> I'm not a fan of having css in the name
  426. # [12:01] <othermaciej> css is inaccurate
  427. # [12:01] <annevk> are, even
  428. # [12:01] <othermaciej> but is also a very common name for the similar function in JS libraries
  429. # [12:01] <Lachy_> yeah, that's a good argument in favour of the match* methods
  430. # [12:01] <othermaciej> people call it a "css query api"
  431. # [12:01] <annevk> terrible
  432. # [12:02] <othermaciej> microsoft's implementation comments were weird
  433. # [12:02] * othermaciej is now known as om_sleep
  434. # [12:09] * Lachy_ mailed public-webapi with the list of alternatives and the summary of the arguments
  435. # [12:09] * Lachy_ is now known as Lachy
  436. # [12:14] <annevk> getElementByGroupOfSelectors() and getElementsByGroupOfSelectors() all the way
  437. # [12:17] <virtuelv> annevk: at this point there are so many suggestions, I suggest going with magic() and blackMagic() :-P
  438. # [12:33] <Dashiva> Wow, that's a lot of names
  439. # [12:34] <zcorpan_> foo()
  440. # [12:37] <annevk> sss() and aaa()
  441. # [12:37] * Quits: aroben (n=adamrobe@17.255.98.199)
  442. # [12:39] <BenWard> document.gifv()
  443. # [12:39] <Dashiva> dwiw?
  444. # [12:45] <virtuelv> document.gtfo()
  445. # [12:48] * Quits: Ducki (n=Alex@dialin-212-144-071-095.pools.arcor-ip.net) (Read error: 104 (Connection reset by peer))
  446. # [12:54] * Joins: MikeSmith (n=MikeSmit@u-210162009021.hotspot.ne.jp)
  447. # [13:00] <Lachy> what's gifv, dwiw and gtfo?
  448. # [13:00] <Dashiva> do what I want, get the f* out
  449. # [13:01] <Dashiva> But how about making two names? E.g. both getElementsBySelector and gEBS. Then everyone should be happy :)
  450. # [13:02] <Lachy> "I guess that's the nice thing about getElementsBySelector. It's like picking 6 names all at once. :)" -- http://lists.w3.org/Archives/Public/public-webapi/2006Dec/0049.html
  451. # [13:03] <Lachy> 6 > 2!
  452. # [13:07] <Philip`> Call them $$$ and $$$s
  453. # [13:08] <Lachy> I'll just let each UA implement whatever they like and let the market decide
  454. # [13:08] <Dashiva> I know
  455. # [13:08] <Dashiva> Make them use kanji
  456. # [13:08] <Dashiva> Then they can be short and detailed at the same time!
  457. # [13:09] <Lachy> I could go with ⺽⻤()
  458. # [13:10] <Lachy> (no idea what that means, I just picked 2 random chinese characters)
  459. # [13:11] <Dashiva> Seems they didn't make it past the encoding boundries either
  460. # [13:11] <Lachy> they were encoded as UTF-8
  461. # [13:11] <Dashiva> But that will just make it easier for authors to check they're using the right encoding!
  462. # [13:12] <annevk> yeah, someone should just implement match() and matchAll() and we're done :)
  463. # [13:13] <Dashiva> Can't we just have one method, matchBySelector and overload it?
  464. # [13:15] <annevk> hmm
  465. # [13:16] <Lachy> the reason for having the single method is that it's more efficient when you only want the first element.
  466. # [13:18] <Dashiva> Well, the JS match solves that by having a global flag on/off on the regexp.
  467. # [13:18] <Philip`> I guess it's not more efficient when you only want one element and you're selecting it by ID (which I guess might be the most common single-selection situation)
  468. # [13:18] <Lachy> the issue is that most use cases for wanting a single element are covered by gEBId or things like document.body
  469. # [13:19] <Lachy> match("#a, #b, #c") is an interesting use case when you want whichever comes first or whichever is present in the document
  470. # [13:19] <annevk> hopefully this method name is short enough that it can obsolete the need for getElementById
  471. # [13:20] <annevk> and getElementsByTagName
  472. # [13:20] <Philip`> document.match(/.e + ul li > a/g)
  473. # [13:21] <Philip`> and rewrite the ECMAScript language a bit
  474. # [13:22] <Lachy> rewrite it like E4X did?
  475. # [13:22] <Lachy> should we make E5X?
  476. # [13:22] <Dashiva> ES4 is already rewriting it plenty
  477. # [13:23] <Lachy> annevk, what was your rationality for choosing matchSingle over matchOne?
  478. # [13:25] <annevk> people argued it sounded better and I agreed
  479. # [13:25] <annevk> I'm all for .match though
  480. # [13:25] <annevk> we should make E5H
  481. # [13:26] <Philip`> I'm sure you could set up some kind of type inference to work out that "var x = /a+b/; "aaaaab".match(x)" uses regexp parsing rules when setting x, and "var x = /a+b/; document.match(x)" uses CSS selector rules, and "var x = /a+b/; "aa".match(x); document.match(x)" would be a type error with an entirely incomprehensible error message
  482. # [13:27] <Lachy> .match was the name that started this whole debate. I'm not sure going back to it would solve anything
  483. # [13:28] <Lachy> I prefer matchOne over matchSingle, but not enough to justify changing it given that there's already an implementation in base2
  484. # [13:30] <annevk> matchOne is also harder to type on a qwerty keyboard than matchSingle
  485. # [13:30] <annevk> for me, anyway
  486. # [13:30] <annevk> but I suppose I could get used to either
  487. # [13:30] <annevk> DeanE said he could change the name btw, or alias it
  488. # [13:31] <Lachy> yeah, I know he could change it easily
  489. # [13:31] <Lachy> I don't see how One is easieer to type than Single
  490. # [13:38] <annevk> we need to add HTMLElement.isContentEditable and several things like queryCommand... on HTMLDocument...
  491. # [13:42] <annevk> queryCommandEnabled, queryCommandValue, queryCommandSupported
  492. # [13:47] <Dashiva> matchOnce?
  493. # [14:21] <zcorpan_> Hixie: comments in #writing needs to say that comments must not begin with > or ->
  494. # [14:50] * Joins: rubys (n=rubys@cpe-075-182-064-252.nc.res.rr.com)
  495. # [14:53] * Quits: MikeSmith (n=MikeSmit@u-210162009021.hotspot.ne.jp) (Read error: 110 (Connection timed out))
  496. # [14:55] * Quits: Lachy (n=Lachlan@203-158-59-119.dyn.iinet.net.au) (Read error: 110 (Connection timed out))
  497. # [14:58] * Joins: briansuda (n=briansud@85-220-95-76.dsl.dynamic.simnet.is)
  498. # [15:32] * Joins: syp|_ (n=syp@lasigpc9.epfl.ch)
  499. # [15:32] * Quits: syp| (n=syp@lasigpc9.epfl.ch) (Read error: 131 (Connection reset by peer))
  500. # [15:40] * Quits: syp|_ (n=syp@lasigpc9.epfl.ch) (Read error: 104 (Connection reset by peer))
  501. # [15:40] * Joins: syp| (n=syp@lasigpc9.epfl.ch)
  502. # [15:41] * annevk implemented new-style <nobr>
  503. # [15:42] <annevk> It seems end tag handling of some elements has also changed
  504. # [15:43] <annevk> most notably "/body" and "/head"
  505. # [15:51] <Philip`> Hmph, now I have enough tests that Safari won't run them all simultaneously without dropping the last couple of dozen and randomly crashing :-(
  506. # [15:52] <annevk> that's good :)
  507. # [15:53] <annevk> have you filed bugs on them already?
  508. # [15:53] <annevk> (I implemented new-style <link>, <meta>, <base> in html5lib)
  509. # [15:53] <annevk> jgraham, you need to fix the encoding sniffer for comment handling
  510. # [15:56] <rubys> found a bug in the html serializer: <p>a&lt;b&gt;c</p> => <p>a<b>c</p>; but only if a character encoding is specified.
  511. # [15:57] <annevk> does the html serializer implement the innerHTML algorithm?
  512. # [15:57] <Philip`> Looks like it's actually an intentional limit in WebKit - it won't display more than 200 iframes on a page
  513. # [15:57] <annevk> I honestly haven't followed all these treewalker, etc. additions
  514. # [15:57] <rubys> don't see 'inner' anywhere in the serializer.
  515. # [16:00] <annevk> maybe t.broyer should be invited on IRC...
  516. # [16:04] <Philip`> Hmm, can't do more than 200 of <object> either
  517. # [16:04] <annevk> maybe 200 object + 200 iframe? :)
  518. # [16:05] <rubys> Philip: perhaps you should get another browser? :-P
  519. # [16:05] <annevk> I wonder what the rationale is for this change: http://html5.org/tools/web-apps-tracker?from=917&to=918
  520. # [16:05] <Philip`> Seems to be limit of 200 on num_object+num_iframe
  521. # [16:06] <Philip`> rubys: Unfortunately I can't use another browser to run test cases in Safari :-(
  522. # [16:07] * rubys was joking
  523. # [16:08] <Philip`> Ooh, it even works fine in IE6
  524. # [16:08] <Philip`> (except for failing pretty much all of the test cases, obviously)
  525. # [16:10] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  526. # [16:13] <annevk> you know what, I'll just implement the above change and see what happens
  527. # [16:15] * Quits: briansuda (n=briansud@85-220-95-76.dsl.dynamic.simnet.is)
  528. # [16:17] <Philip`> Also, I can't even do >200 iframes by having 16 iframes each containing 16 iframes
  529. # [16:18] <annevk> that's what I was afraid of
  530. # [16:18] <annevk> no testcase breaks
  531. # [16:18] <rubys> what change?
  532. # [16:19] <annevk> see the link above
  533. # [16:19] <annevk> http://html5.org/tools/web-apps-tracker?from=917&to=918
  534. # [16:20] <Philip`> http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/html/HTMLFrameElementBase.cpp#L72
  535. # [16:21] * Philip` supposes he just has to do fewer tests at a time
  536. # [16:22] * Joins: briansuda (n=briansud@85-220-95-76.dsl.dynamic.simnet.is)
  537. # [16:23] <annevk> wow, sites rely on self-references
  538. # [16:23] <annevk> I suppose the aforementioned change affects whitespace handling
  539. # [16:25] * Joins: SavageX (n=maikmert@T6ca4.t.pppool.de)
  540. # [16:32] <annevk> the change also affects handling of </body><meta> for instance
  541. # [16:33] <annevk> I'm not sure this was a good change
  542. # [16:35] <annevk> mailed the list
  543. # [16:40] <annevk> changing how </p> works breaks quite a lot of tests
  544. # [16:42] * Quits: maikmerten (n=maikmert@L9a93.l.pppool.de) (Read error: 113 (No route to host))
  545. # [16:49] <annevk> I left that change out for now
  546. # [16:51] <Philip`> Aha, it works (about half the time, randomly) in Safari if I add a button which deletes all the iframes for completed tests and then recreates the iframes for tests that haven't loaded yet, and if I then change the text size up and down so it redraws the screen properly
  547. # [16:51] <Philip`> ...which is a totally horrible hack, but then I already need another hack to replace <iframe> with <object> so that it stops being invisible in Safari
  548. # [16:52] <Philip`> (though it only does that after it's finished loading the iframes, because it looks like onload doesn't run on objects)
  549. # [16:52] <annevk> why do you recreate the iframes?
  550. # [16:52] <annevk> just set frame.location ...
  551. # [16:52] * Joins: zcorpan (n=zcorpan@static-88.131.66.111.addr.tdcsong.se)
  552. # [16:56] <Philip`> That doesn't appear to work (is location only set after it's decided it's acceptable to load that iframe?), but it looks like setAttribute('src', getAttribute('src')) does it, so that's a bit nicer
  553. # [16:56] * Joins: billmason (n=billmaso@ip156.unival.com)
  554. # [16:57] * Philip` should probably just split the test-report-generating page into several pages of ~100 tests, and do something cleverer on the server side to merge all the results
  555. # [16:59] * Quits: zcorpan_ (n=zcorpan@pat.se.opera.com) (Read error: 110 (Connection timed out))
  556. # [17:15] * Quits: zcorpan (n=zcorpan@static-88.131.66.111.addr.tdcsong.se) (Read error: 110 (Connection timed out))
  557. # [17:21] * Joins: jcgregorio (n=chatzill@adsl-072-148-043-048.sip.rmo.bellsouth.net)
  558. # [17:23] <annevk> rubys, aren't < and > conforming in XML attribute values?
  559. # [17:23] * Joins: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  560. # [17:27] * Joins: zcorpan (n=zcorpan@pat.se.opera.com)
  561. # [17:29] * annevk wonders how the hell XMLHttpRequest.responseBody works
  562. # [17:32] <annevk> here's something to play with: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21doctype%20html%3Exxx%0D%0A%3Cscript%3E%0D%0A%20var%20r%20%3D%20new%20XMLHttpRequest%28%29%3B%0D%0A%20r.open%28%22GET%22%2C%20%22image%22%2C%20false%29%3B%0D%0A%20r.send%28%29%0D%0A%20var%20z%20%3D%20r.responseBody%3B%0D%0A%20for%20%28x%20in%20z%29%7B%0D%0A%20%20%20w%28z%5Bx%5D%29%0D%0A%20%7D%0D%0A%3C/script%3E
  563. # [17:33] <gsnedders> annevk: no, neither are conforming. [^<&>] is the definition, IIRC
  564. # [17:34] <annevk> data:text/html,<test test="<>">x</test>
  565. # [17:34] <gsnedders> actually, > is conforming.
  566. # [17:34] <annevk> please explain the lack of well-formedness error
  567. # [17:34] <annevk> oops
  568. # [17:34] <annevk> you're right
  569. # [17:34] <gsnedders> [10] AttValue ::= '"' ([^<&"] | Reference)* '"'
  570. # [17:34] <annevk> < isn't
  571. # [17:34] <gsnedders> (or with single quotes)
  572. # [17:34] <annevk> testcase should've been data:text/xml,<test test="<>">x</test>
  573. # [17:35] <annevk> they could easily allow < there...
  574. # [17:35] <gsnedders> but this is XML!
  575. # [17:35] <gsnedders> maybe due to it being a subset of SGML?
  576. # [17:36] <annevk> couldn't care less
  577. # [17:36] <mitsuhiko> is it <option selected> or <option selected="selected">?
  578. # [17:36] <annevk> either
  579. # [17:36] <mitsuhiko> awesome
  580. # [17:36] <annevk> or <option selected="">
  581. # [17:36] <mitsuhiko> annevk: is there a preferred way?
  582. # [17:37] <annevk> not really
  583. # [17:37] <gsnedders> isn't the value irrelevant, from the UA conformance POV?
  584. # [17:37] <annevk> yes
  585. # [17:37] <annevk> from an authoring point of view it isn't though
  586. # [17:37] <annevk> it's either the empty string or the attribute name
  587. # [17:39] <gsnedders> where is that defined in the spec (as the form elements currently reference WF2 which references HTML4) or is it not yet?
  588. # [17:39] <annevk> it's defined for things like contenteditable
  589. # [17:39] <annevk> Web Forms 2 is yet to be integrated
  590. # [17:40] <gsnedders> so it's really undefined as of writing in that case
  591. # [17:40] <annevk> the writing section defines those type of attributes
  592. # [17:41] <annevk> the concept boolean attribute is defined by the HTML5 spec
  593. # [17:42] <gsnedders> it doesn't appear to be defined what happens with a bool attribute when it exists but isn't either an empty string or the attribute's name
  594. # [17:42] <annevk> it is
  595. # [17:42] <rubys> annevk: in XML, > is legal in attribute values, but < is not
  596. # [17:43] <gsnedders> annevk: where?
  597. # [17:43] <annevk> "The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value."
  598. # [17:43] <gsnedders> annevk: duh. of course the next section doesn't apply.
  599. # [17:43] <gsnedders> s/section/paragraph
  600. # [17:44] <annevk> that applies just to authors, yes
  601. # [17:45] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 110 (Connection timed out))
  602. # [17:50] <gsnedders> hmm… you seem to be able to get the SGML handbook second-hand in good condition for less than a third of the cost of the ISO spec
  603. # [17:57] * Quits: zcorpan (n=zcorpan@pat.se.opera.com) (Read error: 110 (Connection timed out))
  604. # [17:59] * Quits: jruderman (n=jruderma@c-67-169-24-116.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
  605. # [18:17] * Joins: Lachy (n=Lachlan@203-158-59-119.dyn.iinet.net.au)
  606. # [18:35] * Joins: h3h (n=w3rd@66-162-32-234.static.twtelecom.net)
  607. # [18:36] <rubys> annevk: you there?
  608. # [18:49] * Joins: jruderman (n=jruderma@c-67-169-24-116.hsd1.ca.comcast.net)
  609. # [19:03] * Joins: weinigLap (i=weinig@nat/apple/x-5cbb572c42b77131)
  610. # [19:12] * Joins: Ducki (n=Alex@dialin-145-254-188-216.pools.arcor-ip.net)
  611. # [19:29] * Quits: psa (n=yomode@posom.com) ("All things must come to an end")
  612. # [19:33] * Joins: psa (n=yomode@posom.com)
  613. # [19:35] * Quits: jruderman (n=jruderma@c-67-169-24-116.hsd1.ca.comcast.net)
  614. # [19:36] * Parts: BenWard (i=BenWard@nat/yahoo/x-14b34d0dafe9d0bb)
  615. # [19:41] * Joins: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com)
  616. # [19:48] * Joins: aroben (n=adamrobe@17.255.98.199)
  617. # [20:00] * Joins: duryodhan (n=dev@221.128.138.37)
  618. # [20:05] * Quits: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com) (Read error: 110 (Connection timed out))
  619. # [20:06] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
  620. # [20:10] * om_sleep is now known as othermaciej
  621. # [20:11] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  622. # [20:11] * Joins: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com)
  623. # [20:13] * Quits: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com) (Client Quit)
  624. # [20:13] * Joins: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com)
  625. # [20:13] * Joins: epeus (n=KevinMar@137.164.255.50)
  626. # [20:14] <duryodhan> hey, some told me this :
  627. # [20:14] <duryodhan> irefox implements the canvas element which is
  628. # [20:14] <duryodhan> actually able to catch part of the screen as bitmap and display it to
  629. # [20:14] <duryodhan> the user. It is also able to convert the bitmap to base64.
  630. # [20:14] <duryodhan> *firefox
  631. # [20:14] <duryodhan> is this true?
  632. # [20:14] <duryodhan> about the canvas element?
  633. # [20:16] <Dashiva> Safari, Opera and Firefox all implement canvas
  634. # [20:17] <duryodhan> yes ...
  635. # [20:17] <duryodhan> I know that ...
  636. # [20:17] <duryodhan> I am saying can Canvas do that ...
  637. # [20:17] <duryodhan> (save a part of page as bitmap and then save it as base64)
  638. # [20:18] <Dashiva> You mean basically print-screen the page and then work with that?
  639. # [20:18] <duryodhan> yeah
  640. # [20:18] <duryodhan> kinda
  641. # [20:18] <Philip`> Firefox has a non-standard extension which lets privileged content (like extensions) draw HTML elements into the canvas
  642. # [20:19] <duryodhan> where?
  643. # [20:19] <Philip`> (which I believe is used by e.g. the tab preview extension)
  644. # [20:19] <bewest> yeah, a lot of people who prorivide screenshot services use that feature
  645. # [20:19] <duryodhan> so can I do it through HTML + JS ?
  646. # [20:20] <duryodhan> or will it always require an extension?
  647. # [20:20] <duryodhan> and can it convert it to base64
  648. # [20:21] <Philip`> I can't see any documentation, but it looks like it's ctx.drawWindow(htmlelement, x, y, w, h, backgroundcolour)
  649. # [20:21] * Quits: KevinMarks (n=Snak@c-76-102-254-252.hsd1.ca.comcast.net) (Nick collision from services.)
  650. # [20:21] * epeus is now known as KevinMarks
  651. # [20:21] <Philip`> but you'll always get a security exception if you try doing that from normal web content
  652. # [20:22] <duryodhan> but if user adds the domain to trusted ... do you still get that ?
  653. # [20:23] <Philip`> That still won't let it run; though I think it's possible to make web content ask the user for universal read privileges, in which case it would be allowed
  654. # [20:23] <Philip`> (though you probably have to be a trusted site before even being able to ask for permission)
  655. # [20:24] <Philip`> (and you have to ask for permission every time you want to use drawWindow)
  656. # [20:24] <duryodhan> ohh
  657. # [20:24] <duryodhan> stupid mozilla server has klined me :(
  658. # [20:24] <Philip`> netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
  659. # [20:25] <Philip`> ...should give the right privileges, I think
  660. # [20:26] * Quits: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 110 (Connection timed out))
  661. # [20:27] <Philip`> Once you've drawn stuff to the canvas, http://www.whatwg.org/specs/web-apps/current-work/multipage/section-the-canvas.html#todataurl lets you save it as a bitmap (as a base64-encoded PNG image in a data: URI)
  662. # [20:28] <duryodhan> hmm let me try it out then ....
  663. # [20:28] * Philip` wonders if people have already complained about Gecko adding non-standard functions to the '2d' context, instead of making a 'moz-2d'
  664. # [20:30] <Philip`> (...and adding non-standard arguments to the toDataURL function)
  665. # [20:31] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
  666. # [20:31] <duryodhan> Philip`: what is the ctx in the ctx.drawwindow ?
  667. # [20:31] <Philip`> ctx = canvas.getContext('2d')
  668. # [20:31] <Philip`> where canvas is a <canvas> element
  669. # [20:32] <Philip`> (...which should be big enough to fit whatever you want to draw into it)
  670. # [20:32] <duryodhan> and the html element is lets say div ? or is it canvas again?
  671. # [20:33] <Philip`> (You can do 'canvas = document.createElement('canvas'); canvas.width = 123; canvas.height = 456' if you want a canvas element without actually having one in the HTML document)
  672. # [20:34] <Philip`> The htmlelement in the first argument to drawWindow can be any HTML element at all
  673. # [20:34] <Philip`> or at least I assume it can be - I've never actually tried this myself :-)
  674. # [20:35] <Philip`> http://weblogs.mozillazine.org/roc/archives/2005/05/rendering_web_p.html has an example using drawWindow, and it looks like the interface hasn't changed since then
  675. # [20:35] * Joins: ROBOd (n=robod@86.34.246.154)
  676. # [20:39] * Quits: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
  677. # [20:39] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
  678. # [20:39] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  679. # [20:42] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
  680. # [20:44] * Joins: Ducki_ (n=Alex@dialin-212-144-083-056.pools.arcor-ip.net)
  681. # [20:44] <duryodhan> http://pastebin.ca/579563
  682. # [20:44] <duryodhan> us that ok?
  683. # [20:44] <duryodhan> how do I get the png file ?
  684. # [20:45] * Joins: zcorpan (n=zcorpan@84-216-42-213.sprayadsl.telenor.se)
  685. # [20:46] * SavageX is now known as maikmerten
  686. # [20:49] * Quits: billmason (n=billmaso@ip156.unival.com) (Read error: 104 (Connection reset by peer))
  687. # [20:50] * Joins: billmason (n=billmaso@ip156.unival.com)
  688. # [20:58] * Joins: dbaron (n=dbaron@corp-242.mountainview.mozilla.com)
  689. # [21:02] <Philip`> duryodhan: Hmm, looks like I was wrong about it accepting any HTML element - it has to be a window object
  690. # [21:03] <Philip`> http://canvex.lazyilluminati.com/misc/drawwindow.html (when run from local disk so it's more-trusted) seems to work for me
  691. # [21:03] * Quits: Ducki (n=Alex@dialin-145-254-188-216.pools.arcor-ip.net) (Connection timed out)
  692. # [21:03] <Philip`> It draws the whole page window into the canvas, and then uses toDataURL to get an address which can be used in <img src> or could be parsed to get the actual PNG data
  693. # [21:08] * Quits: briansuda (n=briansud@85-220-95-76.dsl.dynamic.simnet.is)
  694. # [21:08] <duryodhan> Philip`: ohh ok
  695. # [21:08] <duryodhan> it works for me too...
  696. # [21:08] <duryodhan> but then the problem is still there ...
  697. # [21:09] <duryodhan> I don't think an actual page can do this cos it requires that page be on local disk
  698. # [21:09] <duryodhan> btw,
  699. # [21:09] <duryodhan> it is showing it to me twice ...
  700. # [21:10] <Philip`> Is there some way to mark pages as trusted in FF? That ought to make it work the same as files on disk, I think, though I can't work out where you find that option
  701. # [21:11] <Philip`> It should be showing the original text once, and then the rendered version in the <canvas>, and then the toDataURLd version in the <img> just to the right
  702. # [21:11] <duryodhan> yes
  703. # [21:11] <duryodhan> thats right
  704. # [21:13] * Parts: rubys (n=rubys@cpe-075-182-064-252.nc.res.rr.com)
  705. # [21:17] <duryodhan> maybe you have to make the html+script signed , package them as jar files with signtool and then access them...
  706. # [21:17] <duryodhan> http://www.mozilla.org/projects/security/components/signed-scripts.html
  707. # [21:17] <duryodhan> search for using signtool in that
  708. # [21:17] <Philip`> Hmm, sounds painful
  709. # [21:17] <duryodhan> yeah
  710. # [21:18] <duryodhan> for the devel
  711. # [21:18] <duryodhan> not for the client
  712. # [21:18] <Philip`> Sounds like it might be easier just to write an extension, particularly since that could avoid asking the user for permission every time
  713. # [21:19] <duryodhan> an extension that does what ?
  714. # [21:19] <duryodhan> takes a snap when told and saves it
  715. # [21:19] <duryodhan> suppose I want to submit the base64 to the server (of the canvas)
  716. # [21:19] <duryodhan> in a form ...
  717. # [21:21] * Quits: KevinMarks (n=KevinMar@137.164.255.50) ("The computer fell asleep")
  718. # [21:23] <Philip`> An extension that does whatever you're trying to do that Firefox normally objects to
  719. # [21:24] <Philip`> You should be able to just call toDataURL and put the resulting string in a form field and submit that, though you'll probably have to strip off the "data:image/png;base64," before trying to decode it into a real PNG
  720. # [21:24] <Philip`> (It's not guaranteed to be base64, but I don't know of any implementation that doesn't do that, and you can't do drawWindow in a vaguely cross-browser way anyway)
  721. # [21:28] <zcorpan> seems like ie stops appending characters to the string when getting innerHTML after it has dealt with the children of a plaintext element
  722. # [21:28] <zcorpan> hmm, wc
  723. # [21:44] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  724. # [21:45] * Quits: virtuelv_ (n=virtuelv@47.80-202-66.nextgentel.com) ("Leaving")
  725. # [21:50] * Quits: maikmerten (n=maikmert@T6ca4.t.pppool.de) ("Leaving")
  726. # [21:54] * Quits: aroben (n=adamrobe@17.255.98.199)
  727. # [21:58] * Joins: aroben (n=adamrobe@17.255.98.199)
  728. # [21:59] * Joins: webben (n=benh@91.84.143.253)
  729. # [22:03] * Joins: Jero (n=Jero@d207230.upc-d.chello.nl)
  730. # [22:06] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 110 (Connection timed out))
  731. # [22:06] <jgraham> annevk: Can you file a bug on me about the character encoding change? I am really swamped with stuff at the moment so I'm missing out on all the html5lib fun :(
  732. # [22:19] <Hixie> i really have no idea how to describe the rules for CDATA and RCDATA
  733. # [22:19] <Hixie> for authors
  734. # [22:20] * Joins: hendry (i=hendry@conference/debconf/x-584c49a880c8d56d)
  735. # [22:27] * Joins: weinigLap_ (n=weinig@17.255.97.148)
  736. # [22:27] * Joins: BenWard (n=BenWard@cpc3-cmbg2-0-0-cust58.cmbg.cable.ntl.com)
  737. # [22:29] <hsivonen> Hixie: delegate to tutorial volunteers perhaps to see what they come up with?
  738. # [22:36] * Quits: BenWard (n=BenWard@cpc3-cmbg2-0-0-cust58.cmbg.cable.ntl.com)
  739. # [22:37] * Quits: weinigLap (i=weinig@nat/apple/x-5cbb572c42b77131) (Read error: 110 (Connection timed out))
  740. # [22:37] <Hixie> while i am sure that what they would come up with would be quite helpful to authors, i don't think it would be airtight
  741. # [22:38] <hsivonen> yeah.
  742. # [22:38] <hsivonen> it seems that few people appreciate the airtight restatement in prose :-(
  743. # [22:39] * Philip` wonders how to test (and report results for) optional features, like gradient rendering, where there are different requirements if the feature is not supported, but there's no way to really tell whether the UA is actually trying to support the feature (but buggily) or intentionally and consistently choosing to not support it
  744. # [22:39] <Hixie> hsivonen: the target audience of the syntax section is basically me -- or rather, spec lawyers in years to come. i don't want them to have to prove their case about whether something is conforming or not by walking the parsing algorithm
  745. # [22:41] <hsivonen> Hixie: I understand. I'd expect those who markp calls "assholes" to prefer airtight prose over walking the algorithm
  746. # [22:43] <Hixie> yeah
  747. # [22:43] <hsivonen> Hixie: perhaps define them in terms of a sequence of subparts like "escaped run", "unescaped text", "entity"
  748. # [22:43] <Hixie> that's basically the target audience
  749. # [22:43] * Quits: mpt (n=mpt@121-72-128-43.dsl.telstraclear.net) ("This computer has gone to sleep")
  750. # [22:44] <Hixie> yeah, i think i'll basically have to do that
  751. # [22:44] <Hixie> though not with the word "entity"!
  752. # [22:44] <hsivonen> well entity reference
  753. # [22:44] <hsivonen> for RCDATA
  754. # [22:44] * Joins: Ducki__ (n=Alex@dialin-145-254-189-096.pools.arcor-ip.net)
  755. # [22:45] <Hixie> oh right
  756. # [22:45] <Hixie> indeed
  757. # [22:50] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
  758. # [22:50] * Joins: KevinMarks (n=KevinMar@137.164.255.50)
  759. # [22:54] * Joins: BenWard (n=BenWard@cpc3-cmbg2-0-0-cust58.cmbg.cable.ntl.com)
  760. # [22:56] * Joins: othermaciej (n=mjs@17.255.100.206)
  761. # [22:58] * Quits: othermaciej (n=mjs@17.255.100.206) (Client Quit)
  762. # [22:59] * Joins: aroben_ (n=adamrobe@17.203.15.248)
  763. # [23:00] * Quits: psa (n=yomode@posom.com) ("All things must come to an end")
  764. # [23:01] * Quits: hendry (i=hendry@conference/debconf/x-584c49a880c8d56d) ("leaving")
  765. # [23:01] * Joins: hendry (i=hendry@conference/debconf/x-1deb80bd9838b8d7)
  766. # [23:04] * Quits: Ducki__ (n=Alex@dialin-145-254-189-096.pools.arcor-ip.net) (Read error: 104 (Connection reset by peer))
  767. # [23:04] * Joins: othermaciej (n=mjs@17.255.100.206)
  768. # [23:06] * Quits: Ducki_ (n=Alex@dialin-212-144-083-056.pools.arcor-ip.net) (No route to host)
  769. # [23:14] * Quits: gsnedders (n=gsnedder@host86-140-190-99.range86-140.btcentralplus.com)
  770. # [23:17] * Quits: othermaciej (n=mjs@17.255.100.206)
  771. # [23:18] * Quits: BenWard (n=BenWard@cpc3-cmbg2-0-0-cust58.cmbg.cable.ntl.com)
  772. # [23:19] * Joins: othermaciej (n=mjs@17.255.100.206)
  773. # [23:20] * Joins: gsnedders (n=gsnedder@host86-140-190-99.range86-140.btcentralplus.com)
  774. # [23:20] * Quits: aroben (n=adamrobe@17.255.98.199) (Read error: 110 (Connection timed out))
  775. # [23:25] * Joins: tantek (n=tantek@corp.technorati.com)
  776. # [23:25] * Quits: Jero (n=Jero@d207230.upc-d.chello.nl) ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]")
  777. # [23:30] * Quits: hendry (i=hendry@conference/debconf/x-1deb80bd9838b8d7) ("tomorrow")
  778. # [23:32] * Joins: BenWard (n=BenWard@cpc3-cmbg2-0-0-cust58.cmbg.cable.ntl.com)
  779. # [23:39] * Quits: weinigLap_ (n=weinig@17.255.97.148) (Remote closed the connection)
  780. # [23:40] * Joins: weinigLap (n=weinig@17.255.97.148)
  781. # [23:59] * Joins: aroben (n=adamrobe@17.255.98.199)
  782. # Session Close: Thu Jun 21 00:00:00 2007

The end :)