/irc-logs / freenode / #whatwg / 2008-01-30 / end

Options:

  1. # Session Start: Wed Jan 30 00:00:00 2008
  2. # Session Ident: #whatwg
  3. # [00:00] * Joins: Thezilch (n=fuz007@ip68-111-154-116.sd.sd.cox.net)
  4. # [00:04] <Hixie> SadEagle: i wouldn't move the reference node for deletions at all.
  5. # [00:05] <SadEagle> ah. I see what you meant by not needing to track that either.
  6. # [00:11] * Joins: othermaciej (n=mjs@17.203.15.234)
  7. # [00:13] * Joins: mpt (n=mpt@nat/canonical/x-b02e100d47080aed)
  8. # [00:14] * jwalden curses namespaces
  9. # [00:26] * Quits: aroben (n=aroben@unaffiliated/aroben)
  10. # [00:31] <Dashiva> html:curses
  11. # [00:33] <nickshanks> i think he meant xmlns:curses="http://voodoo.org/ns/curses"
  12. # [00:34] <SadEagle> would that go with the dumbTerminal module of xhtml3?
  13. # [00:34] <nickshanks> you're thinking of ncurses rahter than voodoo curses
  14. # [00:35] <nickshanks> anyway, i am sleep
  15. # [00:35] <nickshanks> nightall
  16. # [00:35] * Quits: nickshanks (n=nickshan@home.nickshanks.com)
  17. # [00:40] * Joins: weinig (n=weinig@17.203.15.140)
  18. # [00:40] * Quits: mpt (n=mpt@nat/canonical/x-b02e100d47080aed) ("This computer has gone to sleep")
  19. # [00:42] <SadEagle> heh, all this talk of video makes me want to implement it. But I guess <audio> to go with Audio should be first
  20. # [00:43] * Joins: mpt (n=mpt@nat/canonical/x-bebcfc43869075c7)
  21. # [00:49] * Quits: mpt (n=mpt@nat/canonical/x-bebcfc43869075c7) ("This computer has gone to sleep")
  22. # [00:50] * Quits: starjive (i=beos@81-233-18-73-no30.tbcn.telia.com) (Read error: 104 (Connection reset by peer))
  23. # [00:51] * Joins: Star (i=beos@81-233-18-73-no30.tbcn.telia.com)
  24. # [00:54] * Quits: DIrtyF (n=DirtyF@gar31-2-82-224-211-195.fbx.proxad.net)
  25. # [00:55] * Joins: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca)
  26. # [01:07] * Joins: othermaciej_ (n=mjs@17.255.106.84)
  27. # [01:14] * Quits: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca) (Read error: 110 (Connection timed out))
  28. # [01:15] * Quits: jruderman (n=jruderma@guest-226.mountainview.mozilla.com)
  29. # [01:15] * Joins: dbaron (n=dbaron@guest-226.mountainview.mozilla.com)
  30. # [01:16] * Quits: jgraham_ (n=james@81-86-219-94.dsl.pipex.com) ("This computer has gone to sleep")
  31. # [01:20] * Joins: jruderman (n=jruderma@guest-226.mountainview.mozilla.com)
  32. # [01:22] * Quits: dbaron (n=dbaron@guest-226.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
  33. # [01:23] * Joins: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca)
  34. # [01:24] * Quits: othermaciej (n=mjs@17.203.15.234) (Read error: 110 (Connection timed out))
  35. # [01:24] * Quits: dbloom (n=futurama@12-217-120-80.client.mchsi.com) (Remote closed the connection)
  36. # [01:24] * Joins: dbloom (n=futurama@12-217-120-80.client.mchsi.com)
  37. # [01:25] * Quits: dbloom (n=futurama@12-217-120-80.client.mchsi.com) (Remote closed the connection)
  38. # [01:25] * Joins: dbloom (n=futurama@12-217-120-80.client.mchsi.com)
  39. # [01:29] <roc> hmm
  40. # [01:29] * Parts: dbloom (n=futurama@12-217-120-80.client.mchsi.com)
  41. # [01:30] <roc> SVG fonts are fine for Acid3, we'll do those
  42. # [01:30] <roc> SMIL, not so sure :-)
  43. # [01:31] <Hixie> the smil test was contributed by a browser vendor
  44. # [01:31] <Hixie> feel free to contribute a test to make their life hard too :-)
  45. # [01:33] <roc> it's not our lives SMIL makes hell, it's more authors :-)
  46. # [01:33] * Quits: othermaciej_ (n=mjs@17.255.106.84) (Read error: 104 (Connection reset by peer))
  47. # [01:33] <Hixie> well
  48. # [01:33] <Hixie> that applies to all of svg
  49. # [01:33] <Hixie> so...
  50. # [01:33] <roc> there is a difference of degree
  51. # [01:33] * Joins: othermaciej (n=mjs@17.255.106.84)
  52. # [01:34] <Hixie> wow, doctypes have become much more common over the past few years
  53. # [01:34] <Hixie> it was about 50% of pages that had a doctype a year or two ago
  54. # [01:34] <Hixie> now it's 66%
  55. # [01:35] * Joins: dglazkov (n=dglazkov@adsl-074-229-248-021.sip.bhm.bellsouth.net)
  56. # [01:35] <Hixie> and according to this, most of them are valid (like, ~99%)
  57. # [01:35] <Hixie> valid as in they parse per html5 without syntax errors
  58. # [01:36] <Lachy> Hixie, I find those stats really hard to believe
  59. # [01:37] <Lachy> there must be some mistake or maybe a bias sample
  60. # [01:38] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) (Read error: 110 (Connection timed out))
  61. # [01:38] <Hixie> why?
  62. # [01:40] <Lachy> 99% validity just seems way too high
  63. # [01:41] <Hixie> that's 99% of pages that emitted a doctype emitted one that was marked correct
  64. # [01:41] <Hixie> i think that's not that unreasonable given how most will be copy-and-pasted
  65. # [01:42] <Hixie> 28% of all pages were xhtml 1.0 transitional with uri
  66. # [01:42] <Hixie> 10% were html 4.01 transitional without uri
  67. # [01:43] <Hixie> only 66% had a doctype at all, so we're already more than half way there just with the two most common doctypes
  68. # [01:44] <Hixie> 7% are 4.01 transitional without uri
  69. # [01:44] <Lachy> oh, so you're just talking about the correctness of the doctype, not the validity of the whole page?
  70. # [01:44] <Hixie> right
  71. # [01:44] <Lachy> ok. Now it makes sense
  72. # [01:44] <Hixie> 5% are xhtml 1.0 strict with uri
  73. # [01:44] <Ketsuban> I don't understand why people don't use Strict rather than Transitional. :P
  74. # [01:44] <Hixie> er the 7% were with uri, not without uri
  75. # [01:45] <Hixie> 5% again are html 4.0 transitional without uri
  76. # [01:46] <Hixie> 2% are 4.01 strict with uri, the acid3 doctype
  77. # [01:46] <Ketsuban> Awesome, I'm part of a 2% minority. :D
  78. # [01:46] <Hixie> after that the values are all below 1%
  79. # [01:47] <Hixie> (the next one is 4.01 transitional with the uri "http://www.w3.org/tr/1999/rec-html401-19991224/loose.dtd") (after lowercasing)
  80. # [01:47] <Hixie> 1.1 strict with uri is next
  81. # [01:47] <Hixie> which is ironic given that this is only testing text/html iirc, and 1.1 strict can't be sent as text/html legally
  82. # [01:48] <Ketsuban> Apparently not many people hold the belief that it's only worth using XHTML if you're going to be embedding other XML technologies like SVG, and if you're not you might as well use HTML.
  83. # [01:48] <Lachy> I think it's only a SHOULD NOT
  84. # [01:48] * Quits: tndH_ (i=Rob@83.100.254.209) ("ChatZilla 0.9.80-rdmsoft [XULRunner 1.8.0.9/2006120508]")
  85. # [01:48] <Hixie> for 1.1 i thought it was a must not
  86. # [01:48] <Lachy> so techically, it can. But it's pointless
  87. # [01:48] <Hixie> i also have data about which doctypes had the most syntax errors
  88. # [01:49] <Hixie> and which had the most elements that they weren't allowed to have
  89. # [01:49] <Hixie> but that's harder to process from the raw data
  90. # [01:49] <Ketsuban> http://www.w3.org/TR/xhtml-media-types/#summary
  91. # [01:49] * Joins: othermaciej_ (n=mjs@17.203.15.234)
  92. # [01:49] <Hixie> 50% of pages in this multi-billion file sample are in quirks. that's a huge step forward past the graph i had that ended in 2006.
  93. # [01:50] <Hixie> (40% limited quirks, 10% no quirks)
  94. # [02:04] <takkaria> Hixie: as in, 50% of pages are in standards mode?
  95. # [02:10] * Quits: othermaciej (n=mjs@17.255.106.84) (Read error: 110 (Connection timed out))
  96. # [02:11] <Hixie> takkaria: almost standards and standards, yeah
  97. # [02:11] <takkaria> that's pretty awesome
  98. # [02:12] <Hixie> pretty surprising, too
  99. # [02:12] <Hixie> it's a much faster migration than i had expected
  100. # [02:12] <takkaria> Hixie: are you going to do a new webstats thing for code.google.com?
  101. # [02:13] <Hixie> probably not
  102. # [02:13] <Hixie> not any time soon anyway
  103. # [02:13] <takkaria> shame
  104. # [02:14] <Hixie> it's a lot of work :-)
  105. # [02:14] <takkaria> I could imagine. still, it's nice to hear that the web migrates fairly fast
  106. # [02:21] <Dashiva> Hixie: I wonder, though. How much is migration, and how much is simply from the web growing and more new pages being with doctype by default rather than intent?
  107. # [02:22] <Hixie> could be that too
  108. # [02:31] * Quits: doublec (n=doublec@guest-226.mountainview.mozilla.com) ("Leaving")
  109. # [02:40] * Joins: doublec (n=Chris_Do@guest-226.mountainview.mozilla.com)
  110. # [02:40] <blooberry> *reading back* hixie: wow. That *does* seem unbelievably high
  111. # [02:40] * Joins: ramsey (n=ramsey@pdpc/supporter/active/ramsey)
  112. # [02:49] * Joins: othermaciej (n=mjs@17.255.106.84)
  113. # [03:04] * Quits: othermaciej_ (n=mjs@17.203.15.234) (Read error: 110 (Connection timed out))
  114. # [03:06] * Joins: othermaciej_ (n=mjs@17.203.15.234)
  115. # [03:10] <Hixie> hmm
  116. # [03:10] <Hixie> <iframe> isn't in HTML4 strict
  117. # [03:10] <Hixie> this poses a problem for making Acid3 validate
  118. # [03:13] * Quits: doublec (n=Chris_Do@guest-226.mountainview.mozilla.com) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
  119. # [03:14] <Dashiva> Hixie: Not if you create it dynamically ;)
  120. # [03:14] <Hixie> these are specifically elements that have to be present statically
  121. # [03:15] <Dashiva> What's the issue with using transitional?
  122. # [03:16] <Hixie> i could
  123. # [03:16] <Hixie> what transitional doctype triggers standards mode?
  124. # [03:16] <Lachy> transitional doctypes only trigger almost standards mode
  125. # [03:17] <Dashiva> standard or almost standard?
  126. # [03:17] <Hixie> standards
  127. # [03:21] * Quits: othermaciej (n=mjs@17.255.106.84) (Read error: 110 (Connection timed out))
  128. # [03:22] <Hixie> well
  129. # [03:22] <Hixie> this is a bummer
  130. # [03:22] <Hixie> not sure what to do
  131. # [03:23] <Dashiva> On one hand, it seems odd to worry about iframe validation when we're making a spec to allow iframe
  132. # [03:26] <Hixie> you know people will complain otherwise
  133. # [03:27] <Dashiva> That's the other hand I don't want to acknowledge :)
  134. # [03:27] <Dashiva> For me, doctypes are ingrained as something you use to choose a compat mode, nothing else
  135. # [03:29] <Hixie> sadly you are in a minority
  136. # [03:31] <Dashiva> USing the html5 doctype isn't an option either, since the validator complains there too
  137. # [03:31] * Joins: doublec (n=doublec@guest-226.mountainview.mozilla.com)
  138. # [03:33] <SadEagle> hood
  139. # [03:33] <SadEagle> uhm. wrong window. and a typo :(
  140. # [03:33] * Hixie cheats using document.write()
  141. # [03:34] * Joins: dbaron (n=dbaron@corp-241.mountainview.mozilla.com)
  142. # [03:35] <Hixie> dbaron: in case you didn't see my comment earlier, i made the AttributeNode tests optional -- they'll pass if there is no support at al
  143. # [03:35] <Hixie> l
  144. # [03:35] <dbaron> Hixie, yep, saw it
  145. # [03:36] <dbaron> Hixie, not sure if I'll be able to convince other people to remove it -- I guess that depends what other browsers do.
  146. # [03:36] <Hixie> well, if it's not removed, it should presumably work interoperably
  147. # [03:36] <Hixie> but i think having the acid3 test make it optional will actually help the argument to remove it
  148. # [03:36] <Hixie> since it's easier to remove than support :-)
  149. # [03:37] <Hixie> dbaron: thanks for forcing the issue though, i agree it is something that needs to be dealt with
  150. # [03:43] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  151. # [03:52] * Quits: weinig (n=weinig@17.203.15.140)
  152. # [04:05] * Joins: othermaciej (n=mjs@17.255.106.84)
  153. # [04:12] <Hixie> hsivonen: getting a 503 from html5.validator.nu
  154. # [04:20] * Joins: aroben (n=aroben@unaffiliated/aroben)
  155. # [04:22] * Quits: othermaciej_ (n=mjs@17.203.15.234) (Read error: 110 (Connection timed out))
  156. # [04:36] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  157. # [04:39] * Quits: Yudai (n=Yudai@p8029bb.tokyte00.ap.so-net.ne.jp) (Read error: 110 (Connection timed out))
  158. # [04:39] * Joins: Yudai (n=Yudai@p0348db.kngwnt01.ap.so-net.ne.jp)
  159. # [04:47] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  160. # [04:48] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  161. # [04:48] * Joins: weinig (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net)
  162. # [04:55] * Quits: SadEagle (n=maksim@cpe-69-202-89-106.twcny.res.rr.com) (Remote closed the connection)
  163. # [04:55] * Quits: roc (n=roc@guest-226.mountainview.mozilla.com)
  164. # [04:55] <othermaciej> dbaron: are attribute nodes really that bad?
  165. # [04:56] <othermaciej> I mean, they're pretty useless, but it's also not that hard to support them in a DOM-compliant way by creating hem lazily
  166. # [04:58] * Quits: dglazkov (n=dglazkov@adsl-074-229-248-021.sip.bhm.bellsouth.net) (Read error: 110 (Connection timed out))
  167. # [05:02] <dbaron> If they're pretty useless, why waste the code?
  168. # [05:08] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  169. # [05:11] * Quits: othermaciej (n=mjs@17.255.106.84) (Read error: 104 (Connection reset by peer))
  170. # [05:11] * Joins: othermaciej (n=mjs@17.255.106.84)
  171. # [05:18] * Quits: doublec (n=doublec@guest-226.mountainview.mozilla.com) ("Leaving")
  172. # [05:18] * Joins: roc (n=roc@guest-226.mountainview.mozilla.com)
  173. # [05:21] * Quits: aroben (n=aroben@unaffiliated/aroben) (Read error: 104 (Connection reset by peer))
  174. # [05:31] * Quits: othermaciej (n=mjs@17.255.106.84)
  175. # [05:42] <jruderman> Hixie: test 10 and test 60 use different, seemingly incompatible methods for determining whether attribute nodes are supported
  176. # [05:42] <jruderman> Hixie: and in test 60, i think you don't want to skip the whole test if attribute nodes are not supported
  177. # [05:43] <jruderman> and test 60 should return 4, not 1, when attribute nodes are not supported ;)
  178. # [05:45] * Quits: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca) ("http://www.csarven.ca/")
  179. # [05:45] * Quits: weinig (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net)
  180. # [05:53] * Quits: roc (n=roc@guest-226.mountainview.mozilla.com) (Read error: 110 (Connection timed out))
  181. # [05:55] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  182. # [06:09] * Joins: MikeSmith (n=MikeSmit@c-24-18-202-31.hsd1.wa.comcast.net)
  183. # [06:10] * Joins: roc (n=roc@64.156.190.240)
  184. # [06:13] * Joins: doublec (n=doublec@ip67-152-80-226.z80-152-67.customer.algx.net)
  185. # [06:13] * Quits: doublec (n=doublec@ip67-152-80-226.z80-152-67.customer.algx.net) (Client Quit)
  186. # [06:14] * Joins: doublec (n=doublec@ip67-152-80-226.z80-152-67.customer.algx.net)
  187. # [06:17] * Quits: doublec (n=doublec@ip67-152-80-226.z80-152-67.customer.algx.net) (Client Quit)
  188. # [06:32] * Quits: Yudai (n=Yudai@p0348db.kngwnt01.ap.so-net.ne.jp) (Read error: 113 (No route to host))
  189. # [06:32] * Joins: Yudai (n=Yudai@pae373a.tokyte00.ap.so-net.ne.jp)
  190. # [06:57] * Joins: Yudai_ (n=Yudai@p6e1318.kngwnt01.ap.so-net.ne.jp)
  191. # [06:59] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  192. # [07:00] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  193. # [07:02] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  194. # [07:02] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  195. # [07:03] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  196. # [07:04] * Joins: weinig (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net)
  197. # [07:06] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  198. # [07:07] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  199. # [07:08] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  200. # [07:08] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  201. # [07:10] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  202. # [07:11] * Joins: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net)
  203. # [07:11] * Quits: markp (n=mark@adsl-221-7-211.rmo.bellsouth.net) (Remote closed the connection)
  204. # [07:14] * Quits: Yudai (n=Yudai@pae373a.tokyte00.ap.so-net.ne.jp) (Read error: 110 (Connection timed out))
  205. # [07:31] <hsivonen> Hixie: v.nu is back up. the kernel had killed the process. reason not given. sorry about that.
  206. # [07:42] * Joins: maikmerten (n=merten@ls5laptop14.cs.uni-dortmund.de)
  207. # [07:44] * Joins: hdh (n=hdh@58.187.94.198)
  208. # [07:47] * Quits: hdh (n=hdh@58.187.94.198) (Excess Flood)
  209. # [07:47] * Joins: hdh (n=hdh@58.187.94.198)
  210. # [07:50] * Quits: hdh (n=hdh@58.187.94.198) (Excess Flood)
  211. # [07:50] * Joins: hdh (n=hdh@58.187.94.198)
  212. # [07:57] <Hixie> jruderman: fixed test 60 (copy/paste edit error)
  213. # [07:57] <Hixie> jruderman: why would i not want to skip the whole test?
  214. # [07:58] <jruderman> after reading the rest of the test, i think you're right to skip the whole test. so never mind.
  215. # [08:00] <jruderman> Hixie: i'd add to test 60
  216. # [08:00] <jruderman> assertEquals(attr.value, 'ocelots', "attribute value wrong");
  217. # [08:01] <Hixie> where?
  218. # [08:01] <Hixie> after setting it?
  219. # [08:01] <jruderman> yeah
  220. # [08:01] <Hixie> done
  221. # [08:03] <jruderman> :)
  222. # [08:22] * jwalden finally sends the postMessage feedback and tests of the last several months to whatwg
  223. # [08:30] * MikeSmith reads http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-January/013795.html
  224. # [08:30] <MikeSmith> How complete is the Firefox cross-messaging implementation?
  225. # [08:32] <gavin> complete!
  226. # [08:33] <gavin> (I think?)
  227. # [08:33] <gavin> jwalden knows
  228. # [08:33] <jwalden> Gecko's postMessage totally pwns the webkit one
  229. # [08:33] <MikeSmith> heh
  230. # [08:33] <jwalden> I mean it
  231. # [08:33] <jwalden> I don't think example.org can call postMessage on example.com in WebKit
  232. # [08:34] <jwalden> which is kinda the point of the feature
  233. # [08:37] <jwalden> no idea what the status of Opera's implementation is, if it were to be transplanted to Window
  234. # [08:37] * Quits: hober (n=ted@unaffiliated/hober) ("ERC Version 5.3 (IRC client for Emacs)")
  235. # [08:38] * Joins: doublec (n=Chris_Do@ip67-152-80-226.z80-152-67.customer.algx.net)
  236. # [08:40] <MikeSmith> Opera implementation is just a partial one, right?
  237. # [08:40] <jwalden> I don't know
  238. # [08:40] <jwalden> it's on document
  239. # [08:41] <jwalden> so it's rather incompatible from that point of view
  240. # [08:41] <jwalden> and IE and Gecko 1.9 don't allow access to documents across domains
  241. # [08:42] <jwalden> I hoped to run the tests against Opera to make sure they at least ran, before I found out that doing so would be pretty meaningless given postMessage's location in Opera
  242. # [08:46] <MikeSmith> jwalden - is there a version target for when this will be in a final FF release? I mean 3.1 or whatever
  243. # [08:46] <jwalden> MikeSmith: it'll be in 3.0b3
  244. # [08:46] <MikeSmith> OK
  245. # [08:46] <jwalden> out in a week or so, with luck
  246. # [08:47] <MikeSmith> so it's targeted to go in the final 3.0 release?
  247. # [08:47] <jwalden> yes
  248. # [08:47] <jwalden> I still don't know quite how
  249. # [08:48] <jwalden> given when we were "backend-feature-complete"
  250. # [08:48] <jwalden> that said, as features go this one's actually not that complicated
  251. # [08:53] * MikeSmith just now re-reads first paragraph of jwalden's message
  252. # [08:53] <jwalden> ah, you skipped that one? heh
  253. # [08:54] <MikeSmith> yeah, dunno why.. skipped ahead to interesting bits first :)
  254. # [08:54] <MikeSmith> like the part that starts "The spec's incomplete or vague on a few points right now..."
  255. # [08:55] <jwalden> the rest is only interesting given the first paragraph
  256. # [08:55] <jwalden> otherwise we're talking 5% of the web
  257. # [08:55] <jwalden> fact of life, sadly
  258. # [08:55] * jwalden would like to see a totally homogeneous browser population
  259. # [08:56] * jwalden suspects many web developers would disagree :-)
  260. # [08:56] <MikeSmith> jwalden - visit Korea
  261. # [08:56] <MikeSmith> you will find one there
  262. # [08:56] <jwalden> hm
  263. # [08:56] <jwalden> maybe that's not the word I wanted!
  264. # [08:56] <MikeSmith> heh
  265. # [08:56] <hsivonen> MikeSmith: how's Korea coping with IE7 and Vista?
  266. # [08:57] <jwalden> "evenly distributed", for lack of a better word
  267. # [08:57] <hsivonen> so I haven't deployed Saxon yet, because the build doesn't run an Linux even though it runs on Mac OS X
  268. # [08:58] <hsivonen> I wonder if Linux has a lower limit for the max number of command line parameters for a process than Mac OS X
  269. # [08:58] <hsivonen> the command for jarring Saxon fails on Linux
  270. # [08:59] <othermaciej> dbaron: there's more useless things than attribute nodes which take far more code
  271. # [08:59] <MikeSmith> hsivonen - dunno much about IE7 and Vista in Korea, but i remember there being complaints/anger in Japan about the fact they MS had/has not made available yet in Japan some system for enterprise/corporate sysadmins to push out automatic IE7 updates to users
  272. # [09:00] <MikeSmith> I think same situation in Korea about that update thingy
  273. # [09:00] <othermaciej> dbaron: if there is to be a cutoff point on DOM Core specs that matter, it would be somewhat nice to at least include all of DOM Core 2
  274. # [09:00] <othermaciej> jwalden: are you sure about that? (example.org calling example.com)
  275. # [09:01] <othermaciej> jwalden: I would be highly surprised if postMessage didn't work cross-domain, since that is kind of the whole point
  276. # [09:01] <MikeSmith> hsivonen - Debian Linux packagers might be able to help solve that
  277. # [09:01] <othermaciej> jwalden: indeed, DOMWindow.idl says:
  278. # [09:01] <othermaciej> [DoNotCheckDomainSecurity, Custom] void postMessage(in DOMString message);
  279. # [09:01] <jwalden> Unsafe JavaScript attempt to access frame with URL http://localhost:8888/tests/dom/tests/mochitest/whatwg/test_postMessage.html from frame with URL http://example.org:8000/tests/dom/tests/mochitest/whatwg/postMessage_helper.html. Domains, protocols and ports must match.
  280. # [09:02] <othermaciej> so if you have a test case where it doesn't work cross-domain, either it's a WebKit bug or your test case is buggy
  281. # [09:02] <othermaciej> can you post the test case somewhere?
  282. # [09:02] <jwalden> othermaciej: see the whatwg post
  283. # [09:03] <jwalden> that's from test_postMessage.html
  284. # [09:03] <othermaciej> jwalden: sounds like running it is hard
  285. # [09:03] <othermaciej> jwalden: thanks for making tests though
  286. # [09:03] <jwalden> sure
  287. # [09:04] <jwalden> I don't think it'd have gotten in without as many tests as it had
  288. # [09:04] <jwalden> as for the "hard" part, just requires the right test-harness work :-)
  289. # [09:05] <othermaciej> jwalden: we have tests for cross-domain postMessage in our regression tests and they appear to be passing
  290. # [09:05] <jwalden> yeah, I saw them; I don't know what's up, to be honest, but I was definitely seeing failures
  291. # [09:05] <jwalden> this is 29807
  292. # [09:05] <othermaciej> jwalden: so I think your test fails for some reason other than cross-domain access to postMessage not working in general
  293. # [09:06] <jwalden> hm
  294. # [09:07] <jwalden> so javascript:alert(window.otherCrossDomain) in test_postMessage.html is causing that error
  295. # [09:08] <othermaciej> jwalden: I don't see that in the test file?
  296. # [09:09] <jwalden> that's me running in the location bar
  297. # [09:09] <jwalden> I'm certainly accessing window.otherCrossDomain all over the place, tho
  298. # [09:09] <jwalden> or window.frames.otherCrossDomain, natch
  299. # [09:09] <jwalden> same thing
  300. # [09:10] <hsivonen> MikeSmith: a DD said that the limit is 128 KB. The command I tried to run is 150 KB. sigh
  301. # [09:10] <othermaciej> jwalden: I think we disallow toString on windows in other domains, so that's probably way
  302. # [09:10] <othermaciej> perhaps you are doing something else to the Window that WebKit disallows
  303. # [09:10] <jwalden> ah
  304. # [09:11] <othermaciej> you actually do window.frames.otherCrossDomain
  305. # [09:11] <othermaciej> which is slightly less evil
  306. # [09:11] <othermaciej> but maybe the === comparison is disallowed
  307. # [09:11] <MikeSmith> hsivonen - Xalan didn't require as many/as long arguments?
  308. # [09:11] <othermaciej> which I guess it shouldn't be
  309. # [09:11] <hsivonen> MikeSmith: I used Xalan without building it
  310. # [09:11] <MikeSmith> oh
  311. # [09:11] <hsivonen> MikeSmith: Saxon has too many classes to jar in one go
  312. # [09:12] <jwalden> also note not == since that can have messy side effects :-\
  313. # [09:12] * jwalden wishes == had been ===
  314. # [09:12] <jwalden> when you're not careful, at least
  315. # [09:12] <hsivonen> MikeSmith: my build script names every class for jar and changes directory explicitly for each one
  316. # [09:12] <hsivonen> changing directory works around a design bug in jar
  317. # [09:12] <jwalden> so javascript:alert(window.frames.otherCrossDomain.postMessage) alerts undefined when run on test_postMessage.html
  318. # [09:12] <hsivonen> I guess I have to figure a new way to work around it
  319. # [09:14] <othermaciej> jwalden: can you get at close on that frame?
  320. # [09:14] <MikeSmith> hsivonen - seems like Java packagers from Debian or other Linux distros might have run into same problem before
  321. # [09:14] <jwalden> othermaciej: yes
  322. # [09:14] <othermaciej> jwalden: I can definitely get at "close" and "postMessage" both in windows in foreign domains
  323. # [09:14] <MikeSmith> but I guess it may be a case where there's not general solution to work around the limit
  324. # [09:15] <hsivonen> MikeSmith: they probably give a directory name to jar and let jar traverse it
  325. # [09:15] <hsivonen> I had a reason not to do that
  326. # [09:17] <othermaciej> jwalden: are you tests based on the WebKit layout tests for postMessage or totally independent?
  327. # [09:17] <jwalden> othermaciej: totally independent
  328. # [09:17] <othermaciej> (if the latter we should fold them into our regression tests)
  329. # [09:18] <othermaciej> (and also you should include ours probably)
  330. # [09:18] <othermaciej> (feature won't be very interoperable if we don't pass each other's tests)
  331. # [09:18] <jwalden> I'm pretty my tests subsume yours in functionality, but it could be done easily enough
  332. # [09:18] <jwalden> s/my/sure my/
  333. # [09:19] * MikeSmith takes a moment to read http://ejohn.org/blog/the-state-of-json/
  334. # [09:19] <hsivonen> http://twitter.com/cwilso/statuses/656169372
  335. # [09:19] <othermaciej> who is "OH"?
  336. # [09:20] <MikeSmith> "a way to access native JSON encoding and decoding from web pages... there should be something within the browser by the time the Firefox 3 betas wrap-up."
  337. # [09:20] <hsivonen> othermaciej: overheard
  338. # [09:21] <jwalden> MikeSmith: last I heard, that's unlikely -- worries about not enough vetting of the impl
  339. # [09:21] <othermaciej> Microsoft certainly knows how to motivate the web developer community
  340. # [09:21] <jwalden> hrm
  341. # [09:21] * jwalden wonders whether jresig missed that memo
  342. # [09:22] <jwalden> (bug comment, really :-) )
  343. # [09:22] <MikeSmith> jwalden - I see
  344. # [09:23] <jwalden> https://bugzilla.mozilla.org/show_bug.cgi?id=408838
  345. # [09:23] * Quits: roc (n=roc@64.156.190.240)
  346. # [09:24] <MikeSmith> jwalden - thanks
  347. # [09:24] <jwalden> no problem
  348. # [09:24] <othermaciej> jwalden: I could encourage you to at least try the tests once, for the same reason you encourage other implementors to try yours
  349. # [09:24] <jwalden> sure, I'll give it a shot
  350. # [09:25] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
  351. # [09:27] * Joins: tndH_ (n=Rob@83.100.254.209)
  352. # [09:27] * tndH_ is now known as tndH
  353. # [09:29] <hsivonen> looks like jar can read its command line from a file to work around the OS limit...
  354. # [09:35] <MikeSmith> hsivonen - that's good news
  355. # [09:35] <MikeSmith> that'll work for your case, right?
  356. # [09:36] <hsivonen> MikeSmith: yes
  357. # [09:36] <MikeSmith> great
  358. # [09:40] * Quits: jruderman (n=jruderma@guest-226.mountainview.mozilla.com)
  359. # [09:42] * Joins: wakaba (n=w@77.137.148.210.dy.bbexcite.jp)
  360. # [09:44] * Quits: dbaron (n=dbaron@corp-241.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
  361. # [09:50] * Quits: doublec (n=Chris_Do@ip67-152-80-226.z80-152-67.customer.algx.net) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
  362. # [09:59] * Joins: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
  363. # [10:09] * Joins: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
  364. # [10:24] <hsivonen> whew. Validator.nu now validates the old spec copy without choking: http://html5.validator.nu/?doc=http%3A%2F%2Fabout.validator.nu%2Fspec2.html
  365. # [10:25] <hsivonen> hmm. and looks like I need to fix about.validator.nu server config...
  366. # [10:27] * Quits: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
  367. # [10:29] * Joins: jgraham_ (n=james@81-86-219-94.dsl.pipex.com)
  368. # [10:30] * Quits: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no) ("This computer has gone to sleep")
  369. # [10:34] * Joins: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
  370. # [10:35] <zcorpan_> http://files.myopera.com/MacDev_ed/svg/sign_danger_corrosive.svg
  371. # [10:35] * zcorpan_ thinks that's a suitable reference rendering for acid3 :)
  372. # [10:39] * Joins: ROBOd (n=robod@89.122.216.38)
  373. # [10:52] * Joins: Camaban (n=adrianle@host81-133-161-26.in-addr.btopenworld.com)
  374. # [10:53] <othermaciej> haha
  375. # [10:54] <hsivonen> that SVG file is what's corroding my copy of safari
  376. # [10:56] <zcorpan_> well it warned you now didn't it? :)
  377. # [10:56] <hsivonen> :-)
  378. # [10:57] * Joins: Lachy (n=Lachlan@pat-tdc.opera.com)
  379. # [10:57] <hsivonen> was it so that I need to set a timeout if I want to emulate hashChanged in current browsers?
  380. # [10:58] <zcorpan_> i think so, unless you're happy to assume that the hash will only change in response to click or keyboard events
  381. # [10:59] <annevk> what is window.otherCrossDomain ?
  382. # [11:00] <hsivonen> zcorpan_: is that a good assumption with alternative input methods, spatnav, etc.?
  383. # [11:01] <hsivonen> are <body onload='...> and window.onload different handlers or is there some legacy sameness going on?
  384. # [11:02] <zcorpan_> spatnav still emits keyboard events, but it's certainly not fool proof. e.g. the user might enter a hash in the address bar
  385. # [11:02] <zcorpan_> hsivonen: they should be the same, but i'm not sure if opera gets it right yet
  386. # [11:03] <hsivonen> I wonder if I should clean away the event handler attributes from the Validator.nu HTML output and install everything in script...
  387. # [11:03] <zcorpan_> using window.onload instead of <body onload> certainly works cross-browser
  388. # [11:03] <zcorpan_> using both doesn't :)
  389. # [11:04] <hsivonen> ok. I'll clean up my HTML
  390. # [11:04] * Quits: Lachy (n=Lachlan@pat-tdc.opera.com) ("Leaving")
  391. # [11:05] * Joins: Lachy (n=Lachlan@pat-tdc.opera.com)
  392. # [11:05] <zcorpan_> sounds good, i guess you get a better mobileOK score then :)
  393. # [11:06] <hsivonen> heh.
  394. # [11:06] <hsivonen> the key parts of the scripted stuff work in Opera Mini even
  395. # [11:06] <zcorpan_> that's nice
  396. # [11:07] <hsivonen> I hope mini doesn't care about attributes vs. script-installed handlers
  397. # [11:11] <othermaciej> annevk: just a piece of jwalden's tests - hapens to be the name of a frame
  398. # [11:11] <othermaciej> annevk: it does not have deep meaning
  399. # [11:11] <zcorpan_> the group messages button works, which has script-installed handler, so i guess it should work
  400. # [11:12] <hsivonen> zcorpan_: ok
  401. # [11:12] <hsivonen> last I checked the part that didn't work in Mini was the textarea/fileupload mode popup
  402. # [11:13] <hsivonen> but then, that doesn't need to work in Mini
  403. # [11:13] * hsivonen wants media queries in MicroB, S60 Browser and Opera Mobile
  404. # [11:16] <annevk> othermaciej, good, I was hoping it was that :)
  405. # [11:18] * Quits: maikmerten (n=merten@ls5laptop14.cs.uni-dortmund.de) (Read error: 110 (Connection timed out))
  406. # [11:18] <MacDome> Hixie: I agree with roc... SMIL could be hell to implement :) But it also is moderately useful to the web
  407. # [11:18] <MacDome> it's more the SVG animation DOM which is a bitch
  408. # [11:19] <MacDome> the baseVal animVal problem
  409. # [11:19] <hsivonen> does Opera implement SMIL?
  410. # [11:19] <annevk> we implement SVG Animation
  411. # [11:20] <annevk> which reuses part of SMIL
  412. # [11:20] <othermaciej> I think people are using "SMIL" as a slightly imprecise shorthand for "SVG Animation"
  413. # [11:20] <annevk> we do not implement the 111 and growing namespace monster that is SMIL 2.1
  414. # [11:20] <zcorpan_> annevk: they settled for a single namespace for smil3, though
  415. # [11:21] <hsivonen> fwiw, for HTML eyecandy, I think the Apple CSS animation proposal is way more elegant than the transition stuff from the SMIL group
  416. # [11:21] <annevk> that makes 112
  417. # [11:21] <annevk> alarm number of Europe
  418. # [11:21] <hsivonen> :-)
  419. # [11:22] <annevk> i agree that the CSS animation stuff is nicer
  420. # [11:23] <webben_> SMIL isn't really intended for "eye candy": it's a content language.
  421. # [11:23] <annevk> unfortunately the CSS group won't work on it right away
  422. # [11:23] <webben_> (AFAIK)
  423. # [11:23] * Joins: maikmerten (n=merten@ls5laptop14.cs.uni-dortmund.de)
  424. # [11:23] <MacDome> now we just need a nice way to apply the CSS animation to SVG :)
  425. # [11:23] * MacDome should submit a test or two to get SMIL kicked from the test
  426. # [11:23] <MacDome> it's just so low on actual browser feature lists
  427. # [11:24] <annevk> othermaciej, btw, any simplification of the DOM that is possible is good imo, if we can remove attribute nodes that would be a win
  428. # [11:24] <MacDome> since no one in their right mind is trying to use it on the web right now
  429. # [11:24] <webben_> No. It's like with video. Easier to use Flash for complex presentations.
  430. # [11:24] <jruderman> implementing SMIL might hurt static svg perf
  431. # [11:24] <webben_> and there's Slidy for simple ones.
  432. # [11:24] <jruderman> assuming it requires sprinkling "if(animated)" all over
  433. # [11:25] <annevk> MacDome, might be chicken/egg problem
  434. # [11:25] <othermaciej> annevk: TreeWalker doesn't seem any more useful to me than attribute nodes...
  435. # [11:25] <MacDome> annevk: might
  436. # [11:25] <annevk> sure
  437. # [11:25] <webben_> So it's limited to people who want to make complex presentations in an open format.
  438. # [11:25] <annevk> (to both)
  439. # [11:25] <MacDome> jruderman: I don't think it's a bunch of branching
  440. # [11:25] <annevk> othermaciej, but if we can remove one why not do it?
  441. # [11:25] <webben_> (And the pool of people who care about that is small.)
  442. # [11:26] <MacDome> jruderman: it is a bunch of added complex code however
  443. # [11:26] <othermaciej> annevk: well, I'd put TreeWalker on the chopping block too
  444. # [11:26] <othermaciej> I'm not sure why attribute nodes are worse
  445. # [11:26] <webben_> (and I guess it has to compete with ODF)
  446. # [11:26] * MacDome thinks that TreeWalker is on the list of "simple to actually implement so we should just get it out of the way and be done with it"
  447. # [11:26] <annevk> i'm fine with putting both on the chopping block, it just seems that dropping attribute nodes might be easier
  448. # [11:27] <othermaciej> just seems a little arbitrary
  449. # [11:27] <annevk> maybe it's because it's part of the Core DOM
  450. # [11:27] <othermaciej> Attr nodes are part of DOM 1 Core, TreeWalker is part of DOM2 Traversal, does any web content use it?
  451. # [11:27] <annevk> i also think that namespace events should be dropped from dom3events
  452. # [11:28] <annevk> for treewalker there are some use cases
  453. # [11:28] <annevk> for attr nodes there are none given that no implementation does entity nodes
  454. # [11:28] <othermaciej> TreeWalker is a bad API for traversing a DOM tree
  455. # [11:28] <othermaciej> I agree there are use cases for a good API for doing so
  456. # [11:29] <annevk> xhr is a bad api for network requests...
  457. # [11:29] <othermaciej> what I hate most out of DOM Events is mutation events
  458. # [11:29] <othermaciej> it's not just useless, it is actively harmful to code complexity and performance all over the DOM
  459. # [11:29] <jruderman> oh, yes, mutation events are evil
  460. # [11:29] <othermaciej> annevk: but XHR is used, unlike TreeWalker
  461. # [11:29] <annevk> is treewalker implemented everywhere?
  462. # [11:30] <othermaciej> surely not in IE
  463. # [11:30] <annevk> that's probably a good reason for not using it then :)
  464. # [11:30] <othermaciej> it is in WebKit and Mozilla
  465. # [11:30] <othermaciej> I'd assume Opera too
  466. # [11:30] <jruderman> othermaciej: did you see that gecko decided to stop firing mutation events during page load?
  467. # [11:30] <othermaciej> jruderman: even if they are caused by explicit mutation, not parsing?
  468. # [11:30] <jruderman> i think so, but i'm not sure
  469. # [11:30] <othermaciej> (we never did fire them as side effects of initial parsing)
  470. # [11:31] <othermaciej> we actually don't fire them at all if no listener is registered
  471. # [11:31] <jruderman> https://bugzilla.mozilla.org/show_bug.cgi?id=90983
  472. # [11:31] <othermaciej> that reduces perf cost
  473. # [11:31] <othermaciej> but there's still a lot of code complexity to make basic DOM operations robust in the face of mutation event listeners possibly modifying the DOM
  474. # [11:31] <jruderman> we had that optimization too, and we were spending time looking to see if there were mutation listeners
  475. # [11:31] <jruderman> yes
  476. # [11:31] <othermaciej> (which no one ever really wants to do in a way that invalidates the DOM operation)
  477. # [11:31] <jruderman> we had a fair number of crashes due to bad assumptions in there
  478. # [11:32] <othermaciej> if DOM change notifications are actually useful, they should be batched
  479. # [11:32] <othermaciej> until the end of operations that ought to be atomic
  480. # [11:32] <othermaciej> our editing operations just skip mutation events entirely I think
  481. # [11:32] <jruderman> as opposed to some being required to be sent before the mutation actually happens? :P
  482. # [11:33] <othermaciej> the worst are the ones that happen in the middle
  483. # [11:33] <othermaciej> over half the code in our Node.replaceChild core implementation is to account for mutation events possibly doing something crazy
  484. # [11:37] <annevk> heh, that bug is filed by an Opera developer
  485. # [11:37] <annevk> s/is/was/
  486. # [11:39] <hsivonen> is DOMContentLoaded going to be part of a spec?
  487. # [11:40] <annevk> it's part of HTML 5
  488. # [11:40] <hsivonen> oh. :-)
  489. # [11:41] <annevk> Opera 9.2x now passes less than 50% of the Acid3 tests
  490. # [11:42] <takkaria> that Charles fella on whatwg doesn't seem to grok the video element
  491. # [11:43] * Quits: jgraham_ (n=james@81-86-219-94.dsl.pipex.com) ("This computer has gone to sleep")
  492. # [11:43] <othermaciej> in Safari 3 it just says "JS ?"
  493. # [11:43] <othermaciej> is that intended?
  494. # [11:43] <othermaciej> (65/100 in WebKit trunk)
  495. # [11:45] <annevk> i don't think so
  496. # [11:45] <harri> he. khtml fell back to 65 after the recent changes, too.
  497. # [11:46] * Quits: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
  498. # [11:47] * othermaciej is now known as om_sleep
  499. # [11:57] <hsivonen> does any browser support hashchanged yet?
  500. # [11:58] <annevk> neh
  501. # [11:58] <hsivonen> ok
  502. # [12:09] <hsivonen> Hmm. Validator.nu script initialization isn't good if show source is enabled and the doc is huge
  503. # [12:10] <hsivonen> I wonder if I should move the script element right after the form and make the form initialization code run immediately at that point...
  504. # [12:10] <MacDome> om_sleep: Safari 3 used to show like 46/100
  505. # [12:10] <MacDome> insetad of JS ?
  506. # [12:12] <hsivonen> is there any harm, if I move the <script> element except it isn't as elegant? will it break XHTML loading in legacy browsers, for example?
  507. # [12:14] <annevk> xhtml in gecko had issues with <script>
  508. # [12:14] <hsivonen> :-(
  509. # [12:15] <hsivonen> annevk: do you recall what kind of issues?
  510. # [12:16] <annevk> vague memory tells me the script executed directly but the DOM wasn't build up so stuff failed
  511. # [12:16] <hsivonen> annevk: ok. that can be coded for
  512. # [12:16] <annevk> i wouldn't worry aout it though and simply assume incremental XML parsers
  513. # [12:16] <annevk> i'm sure content already relies on that (at leasts tests :))
  514. # [12:17] * MacDome is now known as MacDomeSleep
  515. # [12:18] <hsivonen> now I need to learn to do cross-browser stylesheet manipulation...
  516. # [12:19] <annevk> it surprises me that 10% of the Web is in standards mode
  517. # [12:19] * Quits: jwalden (n=waldo@STRATTON-FOUR-EIGHTEEN.MIT.EDU) ("ChatZilla 0.9.80-rdmsoft [XULRunner 1.8.0.9/2006120508]")
  518. # [12:20] <hsivonen> hmm. alternatively, I could just do some dirty className toggling.
  519. # [12:20] <hsivonen> that might be easier and even force style resolution and layout reflow in legacy UAs
  520. # [12:22] <hsivonen> annevk: can you recommend a good CSSOM tutorial?
  521. # [12:25] <annevk> no :(
  522. # [12:26] <hsivonen> in terms of perf and compat, should I modify the main stylesheet in DOM or should I create a <style> element and do dynamic styles there?
  523. # [12:33] * Joins: vant (n=vant@p2098-ipbf4207marunouchi.tokyo.ocn.ne.jp)
  524. # [12:34] <hsivonen> how do I create an object that implements CSSStyleSheet?
  525. # [12:45] <hsivonen> hmm. looks like manipulating the textContent of a <style> element is much easier than dealing with the CSSOM...
  526. # [12:59] <annevk> you can do document.styleSheets[0].insertRule("", -1) or something like that
  527. # [13:00] <annevk> but manipulating textContent of <style> seems fine
  528. # [13:01] * Joins: mpt (n=mpt@nat/canonical/x-1edda411ecd87329)
  529. # [13:12] * Joins: jwalden (n=waldo@18.243.6.53)
  530. # [13:40] * Quits: hdh (n=hdh@58.187.94.198) (Read error: 104 (Connection reset by peer))
  531. # [13:42] * Joins: zcorpan (n=zcorpan@pat.se.opera.com)
  532. # [13:44] * Joins: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk)
  533. # [13:50] * Quits: psa (n=yomode@71.93.19.66) (Read error: 113 (No route to host))
  534. # [14:28] * Quits: inimino (n=inimino@c-75-71-88-233.hsd1.co.comcast.net) ("WeeChat 0.2.6")
  535. # [14:57] * Parts: annevk (n=annevk@77.163.243.203)
  536. # [14:58] * Joins: annevk (n=annevk@77.163.243.203)
  537. # [15:20] * Quits: blooberry (n=brian@c-76-126-109-10.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
  538. # [15:33] * Joins: csarven (n=nevrasc@on-irc.csarven.ca)
  539. # [15:38] <hsivonen> annevk: manipulating the textContent of <style> works in Gecko and WebKit. fails in opera...
  540. # [15:39] * zcorpan notes that his changes to the wiki HTML page have stayed
  541. # [15:39] <hsivonen> hmm. misdianosed
  542. # [15:39] <hsivonen> hmm. textContent manipulation works in Opera after all
  543. # [15:40] <hsivonen> does assigning to innerText of <style> work in IE?
  544. # [15:50] <zcorpan> no
  545. # [15:51] <zcorpan> but see http://status.whatwg.org/annotate-web-apps.js for how to make it work in ie (search for an3err)
  546. # [15:52] * Quits: webben_ (n=benh@dip5-fw.corp.ukl.yahoo.com)
  547. # [15:52] <hsivonen> zcorpan: so appendChild with a text node works cross-browser?
  548. # [15:53] <zcorpan> not in ie
  549. # [15:53] <zcorpan> but the catch block works in ie
  550. # [15:53] <hsivonen> if(an3err.number == -0x7FFF0001) style.styleSheet.cssText
  551. # [15:53] <hsivonen> that bit ah
  552. # [15:54] <hsivonen> zcorpan: thanks
  553. # [15:55] <zcorpan> welcome, though i didn't write that piece of code... don't remember who it was though
  554. # [15:56] <Philip`> http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-May/011474.html ?
  555. # [15:56] <hsivonen> does the line style.type = "text/css"; // required in html4...
  556. # [15:56] <hsivonen> have any actual effec anywhere?
  557. # [15:56] <zcorpan> no
  558. # [15:56] <hsivonen> ok
  559. # [15:57] <zcorpan> i didn't want to invalidate the spec :)
  560. # [15:57] <zcorpan> Philip`: yes
  561. # [15:59] <zcorpan> (the fix was in trunk but not published at that point)
  562. # [15:59] * Quits: maikmerten (n=merten@ls5laptop14.cs.uni-dortmund.de) ("Verlassend")
  563. # [16:15] * Joins: phsiao (n=shawn@nat/ibm/x-4d9fd9a7147024e7)
  564. # [16:20] <hsivonen> what's the expected way of detecting whether hashchanged is supported?
  565. # [16:20] <annevk> "The following line is used in a number of the tests. It is done using document.write() to sidestep complaints of validity." why not use <object>?
  566. # [16:20] <annevk> i guess there mightbe more issues
  567. # [16:21] <annevk> if(window.onhaschanged) maybe
  568. # [16:21] <annevk> with proper spelling
  569. # [16:23] <hsivonen> oh. I didn't expect it to have non-false truthiness until set
  570. # [16:24] <Philip`> if (window.onhaschanged !== undefined) maybe?
  571. # [16:24] <hsivonen> annevk: it appears that unset event handlers are undefined
  572. # [16:24] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
  573. # [16:24] <Philip`> s//h/
  574. # [16:24] <annevk> what Philip` said should work
  575. # [16:24] <Philip`> Oh, Opera 9.2 says window.onload === null, Firefox 2 says undefined
  576. # [16:24] <hsivonen> Philip`: that kind of test doesn't detect support for window.onload
  577. # [16:24] <annevk> hsivonen, they are null
  578. # [16:25] <annevk> oh, Firefox :(
  579. # [16:25] <hsivonen> annevk: undefined in firefox 3
  580. # [16:25] <annevk> does anyone still use that?
  581. # [16:25] <Philip`> IE6 says null
  582. # [16:26] <annevk> HTML5 says null
  583. # [16:26] <annevk> hmm, what does HTML4 say
  584. # [16:26] <annevk> we should add this to Acid3
  585. # [16:26] <hsivonen> well then. I guess it is time to search bugzilla
  586. # [16:26] * Quits: bzed (n=bzed@devel.recluse.de) ("Changing server")
  587. # [16:27] <annevk> oh, I guess these type of event handlers are not defined anywhere
  588. # [16:27] <hsivonen> specs++
  589. # [16:27] <annevk> HTML5 has them fortunately
  590. # [16:27] <annevk> but that's a bit late for Acid3
  591. # [16:29] <annevk> lol http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.3
  592. # [16:29] <annevk> "Note. Authors of HTML documents are advised that changes are likely to occur in the realm of intrinsic events (e.g., how scripts are bound to events). Research in this realm is carried on by members of the W3C Document Object Model Working Group (see the W3C Web Site at http://www.w3.org/ for more information)."
  593. # [16:29] <annevk> and how much better it became...
  594. # [16:30] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
  595. # [16:30] <hsivonen> hmm. looks like this bug hasn't been filed yet
  596. # [16:30] * hsivonen files
  597. # [16:33] <zcorpan> annevk: both object and iframe are tested
  598. # [16:34] <hsivonen> hmm. window.onload is undefined in Opera 9.50 beta, too
  599. # [16:34] <annevk> grmbl
  600. # [16:35] * Joins: bzed (n=bzed@devel.recluse.de)
  601. # [16:36] <hsivonen> but null indeed in Opera 9.20
  602. # [16:38] * Joins: aroben (n=aroben@68.63.161.136)
  603. # [16:39] <hsivonen> annevk: I can't find a HTML5 justification for event handelers on the window object getting initialized to null
  604. # [16:39] <hsivonen> oops. found it
  605. # [16:40] <annevk> 4.3.6
  606. # [16:43] * Quits: vant (n=vant@p2098-ipbf4207marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
  607. # [16:47] <hsivonen> filed bug https://bugzilla.mozilla.org/show_bug.cgi?id=414853
  608. # [16:50] * Joins: cgriego (n=cgriego@216.138.69.206)
  609. # [16:59] <Philip`> Oh, IE6 has window.onload === null but window.onanythingelse === undefined for all anythingelses that I've tried
  610. # [17:00] <Philip`> and Opera 9.2 seems to do it for onload and nothing else too
  611. # [17:00] <annevk> hmm
  612. # [17:01] <annevk> there's a use case for changing the behavior, but how useful that would be given deployed stuff...
  613. # [17:02] <annevk> and given that you can use "typeof window.onload" as well
  614. # [17:03] <Philip`> (Ah, IE6 does onunload === null too)
  615. # [17:03] <annevk> oh wait, typeof also only works for certain stuff
  616. # [17:03] <annevk> bah
  617. # [17:03] <Philip`> and Opera 9.2 does it on onunload too
  618. # [17:04] <hsivonen> Hixie: see above. should the spec or Gecko to be considered erroneous wrt. event handler initialization
  619. # [17:04] <hsivonen> ?
  620. # [17:06] * Joins: gsnedders (n=gsnedder@host86-151-228-75.range86-151.btcentralplus.com)
  621. # [17:11] * Joins: roc (n=roc@64.156.190.240)
  622. # [17:12] * Joins: roc_ (n=roc@64.156.190.240)
  623. # [17:12] * Quits: roc (n=roc@64.156.190.240) (Read error: 104 (Connection reset by peer))
  624. # [17:22] <hsivonen> hmm. why is google reporting my doctype page as http://hsivonen.iki.fi/DOCTYPE/ ?
  625. # [17:22] <hsivonen> where did it get the upper case from?
  626. # [17:24] * Quits: roc_ (n=roc@64.156.190.240)
  627. # [17:24] <annevk> your server is case-insensitive?
  628. # [17:24] <gsnedders> annevk: it's settable at an Apache level, IIRC
  629. # [17:24] <hsivonen> annevk: yeah, but there are many more lower-case links pointing to the page
  630. # [17:24] <hsivonen> gsnedders: it is backed by HFS+
  631. # [17:25] <annevk> hmm, I think that information might come from this tagging thing Google has going on
  632. # [17:25] <annevk> Google Base?
  633. # [17:25] <hsivonen> I guess I have to take counter-measures now
  634. # [17:25] <annevk> the summary for my weblog says "Weblog on working for Opera Software, web standards, mark-up and style." for instance which appears exactly nowhere on my site
  635. # [17:26] <hsivonen> otherwise links will break if/when I switch to an Ubuntu server
  636. # [17:26] <annevk> if you switch you can enable mod_speling
  637. # [17:26] <gsnedders> hsivonen: you can just set Apache to be case-insensitive on a case-sensitive fs
  638. # [17:27] <Philip`> annevk: That's the same description as on Google Directory / Open Directory
  639. # [17:27] <Philip`> so I think they get the text from there
  640. # [17:29] <takkaria> annevk: that's probably how your site is described in dmoz.org
  641. # [17:29] <hsivonen> I set a permanent redirect to /doctype/
  642. # [17:31] <hsivonen> looks like Google penalized my doctype article for the recent major clarifying edits :-(
  643. # [17:32] <hsivonen> still on the first result page, though
  644. # [17:33] * Quits: Lachy (n=Lachlan@pat-tdc.opera.com) ("This computer has gone to sleep")
  645. # [17:56] * Quits: MikeSmith (n=MikeSmit@c-24-18-202-31.hsd1.wa.comcast.net) ("Less talk, more pimp walk.")
  646. # [18:01] * Joins: blooberry (n=brian@c-76-126-109-10.hsd1.ca.comcast.net)
  647. # [18:02] <mpt> http://www.dmoz.org/Computers/Internet/Web_Design_and_Development/Weblogs/
  648. # [18:03] <mpt> The same reason Wikipedia articles often show up in Google results with a summary beginning "Hyperlinked encyclopedia article..." -- because dmoz.org editors have a fetish for describing Wikipedia as "hyperlinked"
  649. # [18:05] <Camaban> <META NAME="ROBOTS" CONTENT="NOODP"> will stop that
  650. # [18:08] * Joins: SadEagle (n=maksim@cpe-69-202-89-106.twcny.res.rr.com)
  651. # [18:08] * annevk finds http://www.mattcutts.com/blog/google-supports-meta-noodp-tag/
  652. # [18:09] * Joins: roc (n=roc@guest-226.mountainview.mozilla.com)
  653. # [18:09] <annevk> i don't think i'll add that element
  654. # [18:11] * Joins: webben (n=benh@dip5-fw.corp.ukl.yahoo.com)
  655. # [18:13] <Camaban> heh, bit of matt cutts subtle spin there, if you've got a less than ideal odp description, it's useful
  656. # [18:14] <Camaban> looks like yours is useful enough though :)
  657. # [18:16] * Joins: doublec (n=doublec@guest-226.mountainview.mozilla.com)
  658. # [18:32] * Quits: weinig (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net)
  659. # [18:34] * Quits: doublec (n=doublec@guest-226.mountainview.mozilla.com) (Read error: 110 (Connection timed out))
  660. # [18:34] * Joins: doublec (n=doublec@guest-226.mountainview.mozilla.com)
  661. # [18:35] * Joins: jgraham_ (n=james@81-86-219-94.dsl.pipex.com)
  662. # [18:48] * om_sleep is now known as othermaciej
  663. # [19:05] * Parts: Camaban (n=adrianle@host81-133-161-26.in-addr.btopenworld.com)
  664. # [19:06] * Joins: dbaron (n=dbaron@guest-226.mountainview.mozilla.com)
  665. # [19:07] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  666. # [19:09] * Parts: zcorpan (n=zcorpan@pat.se.opera.com)
  667. # [19:14] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
  668. # [19:36] * Joins: weinig (n=weinig@17.255.101.78)
  669. # [19:38] * Joins: ed_japan (n=ed@1-1-4-33a.lk.lk.bostream.se)
  670. # [19:38] * Joins: eseidel (n=eseidel@nat/google/x-ae1b0c23cf60c245)
  671. # [19:39] * Quits: ed_japan (n=ed@1-1-4-33a.lk.lk.bostream.se) (Client Quit)
  672. # [19:49] * Quits: weinig (n=weinig@17.255.101.78)
  673. # [19:51] * Joins: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
  674. # [19:55] * Quits: roc (n=roc@guest-226.mountainview.mozilla.com)
  675. # [19:56] * Joins: weinig (n=weinig@nat/apple/x-e21f3e5f7854cdd4)
  676. # [19:56] * Joins: weinig_ (n=weinig@17.255.101.78)
  677. # [19:59] * Quits: weinig_ (n=weinig@17.255.101.78) (Client Quit)
  678. # [20:04] <hsivonen> I changed the way the Validator.nu UI script interacts with DOM loading
  679. # [20:04] <hsivonen> please let me know if I broke something in some browser
  680. # [20:04] <hsivonen> I tested Firefox 3, Safari 3 and Opera 9.50
  681. # [20:06] * Joins: weinig_ (n=weinig@17.255.101.78)
  682. # [20:08] * Quits: weinig_ (n=weinig@17.255.101.78) (Client Quit)
  683. # [20:08] * Joins: weinig_ (n=weinig@17.255.101.78)
  684. # [20:09] <SadEagle> looks just spiffy in konq4.
  685. # [20:10] <hsivonen> good
  686. # [20:10] * Joins: othermaciej (n=mjs@17.255.106.84)
  687. # [20:10] <SadEagle> what's the 'group messages' button is supposed to be about?
  688. # [20:10] <SadEagle> FF2 looks fine, I guess.
  689. # [20:11] <hsivonen> SadEagle: if there are messages with multiple instances, it groups them
  690. # [20:11] <SadEagle> hmm, then we don't disable the button somehow
  691. # [20:14] * Quits: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
  692. # [20:15] <SadEagle> hsivonen: where would the group button be disabled?
  693. # [20:15] <hsivonen> SadEagle: http://html5.validator.nu/?doc=http%3A%2F%2Fhsivonen.iki.fi%2Ftest%2Fmoz%2Felaboration-demo.xhtml
  694. # [20:16] <SadEagle> I mean code-wise. hrmbl, work better in 3.5.9-pre :-)
  695. # [20:17] <hsivonen> oh. :-)
  696. # [20:17] <hsivonen> line 328 in
  697. # [20:17] <hsivonen> http://about.validator.nu/script.js
  698. # [20:19] <SadEagle> OK, that ought to work :-)
  699. # [20:19] * Joins: MikeSmith (n=MikeSmit@12-46-55-246.seatac.seattwa.wayport.net)
  700. # [20:20] <SadEagle> (what the heck?)
  701. # [20:21] <hsivonen> the only marginally special thing is that the button is not inserted into the document tree at that point
  702. # [20:24] * Joins: heycam` (n=cam@210-84-44-95.dyn.iinet.net.au)
  703. # [20:33] * Quits: heycam (n=cam@210-84-44-95.dyn.iinet.net.au) (Read error: 110 (Connection timed out))
  704. # [20:41] <SadEagle> hsivonen: that's fun. it actually makes it disabled. It just doesn't look it
  705. # [20:41] * Quits: MikeSmith (n=MikeSmit@12-46-55-246.seatac.seattwa.wayport.net) ("Less talk, more pimp walk.")
  706. # [20:41] <hsivonen> SadEagle: nice. :-)
  707. # [20:44] <SadEagle> o
  708. # [20:46] * Joins: weinig__ (n=weinig@17.203.15.140)
  709. # [20:57] * Joins: kingryan (n=ryan@dsl092-219-050.sfo1.dsl.speakeasy.net)
  710. # [21:02] * Joins: hober (n=ted@unaffiliated/hober)
  711. # [21:03] * Quits: weinig_ (n=weinig@17.255.101.78) (Read error: 110 (Connection timed out))
  712. # [21:04] * Joins: roc (n=roc@guest-226.mountainview.mozilla.com)
  713. # [21:12] * Joins: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
  714. # [21:12] <zcorpan_> hsivonen: seems like boot() is run thrice
  715. # [21:12] <hsivonen> zcorpan_: hmm. it should run only twice
  716. # [21:13] <zcorpan_> hsivonen: you still have <body onload>
  717. # [21:13] <hsivonen> oh.
  718. # [21:13] <hsivonen> thanks
  719. # [21:14] <zcorpan_> why should it run twice?
  720. # [21:15] <hsivonen> zcorpan_: once after the form and another time when the load is complete in case the first time failed legacy Gecko in XHTML mode
  721. # [21:15] <zcorpan_> ok
  722. # [21:15] * Joins: psa (n=yomode@71.93.19.66)
  723. # [21:19] * Quits: othermaciej (n=mjs@17.255.106.84)
  724. # [21:22] * Joins: othermaciej (n=mjs@17.255.106.84)
  725. # [21:51] * Joins: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no)
  726. # [21:51] * Quits: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no) (Remote closed the connection)
  727. # [21:51] * Joins: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no)
  728. # [21:59] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
  729. # [22:01] * Quits: jgraham_ (n=james@81-86-219-94.dsl.pipex.com) ("This computer has gone to sleep")
  730. # [22:05] * Quits: eseidel (n=eseidel@nat/google/x-ae1b0c23cf60c245)
  731. # [22:06] * Joins: eseidel (n=eseidel@nat/google/x-664cfa47a35553d5)
  732. # [22:13] * Quits: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
  733. # [22:18] * Quits: eseidel (n=eseidel@nat/google/x-664cfa47a35553d5) (Read error: 104 (Connection reset by peer))
  734. # [22:19] * Joins: eseidel (n=eseidel@nat/google/x-da6318b4a6435644)
  735. # [22:20] * Quits: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
  736. # [22:39] * Joins: jruderman (n=jruderma@guest-226.mountainview.mozilla.com)
  737. # [22:44] * Quits: eseidel (n=eseidel@nat/google/x-da6318b4a6435644)
  738. # [22:44] * Joins: jgraham_ (n=james@81-86-219-94.dsl.pipex.com)
  739. # [22:45] * Joins: eseidel (n=eseidel@nat/google/x-996be786430422b2)
  740. # [22:45] * Quits: eseidel (n=eseidel@nat/google/x-996be786430422b2) (Client Quit)
  741. # [22:46] * Joins: eseidel (n=eseidel@nat/google/x-ead4e80df2bdf711)
  742. # [22:52] * Quits: phsiao (n=shawn@nat/ibm/x-4d9fd9a7147024e7)
  743. # [22:52] * Quits: jwalden (n=waldo@18.243.6.53) (Remote closed the connection)
  744. # [22:54] * heycam` is now known as heycam
  745. # [22:55] * weinig__ is now known as weinig_
  746. # [22:56] * weinig is now known as sweinig
  747. # [22:56] * weinig_ is now known as weinig
  748. # [22:57] * Quits: othermaciej (n=mjs@17.255.106.84) (Read error: 104 (Connection reset by peer))
  749. # [22:58] * Joins: othermaciej (n=mjs@17.255.106.84)
  750. # [23:01] * Quits: Star (i=beos@81-233-18-73-no30.tbcn.telia.com)
  751. # [23:04] * Quits: gsnedders (n=gsnedder@host86-151-228-75.range86-151.btcentralplus.com)
  752. # [23:07] * Joins: weinig_ (n=weinig@17.255.101.78)
  753. # [23:24] * Quits: weinig (n=weinig@17.203.15.140) (Read error: 110 (Connection timed out))
  754. # [23:28] * Joins: zcorpan_ (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
  755. # [23:28] <zcorpan_> http://timepedia.blogspot.com/2008/01/chronoscope-demo-in-flash-whatwg-canvas.html
  756. # [23:28] <zcorpan_> "Text rendering is my biggest complaint about WHATWG Canvas, so it was a no-brainer to include it."
  757. # [23:29] <Hixie> i don't understand how to do text rendering on canvas, given that we can't guarentee fonts, and therefore the text would have radically different metrics on different platforms
  758. # [23:30] <othermaciej> web fonts!
  759. # [23:30] <SadEagle> heh.
  760. # [23:30] <SadEagle> I've seen different metrics with different freetype revisions
  761. # [23:31] <Hixie> one solution maybe is to give a rect instead of a point, and have the text fit the rect
  762. # [23:31] <Hixie> but then you can't make multiple lines the same font-size
  763. # [23:35] <Philip`> Why is it a problem if text has different metrics on different platforms? (I would expect 12px sans-serif on one platform is not going to be radically different to 12px sans-serif on a different platform, because normal fonts aren't that crazy, and it'll be as portable as tightly-sized CSS layouts are)
  764. # [23:37] <zcorpan_> yeah, i would think most authors are happy with slight differences. they get differences anyway if they want text on canvas today since they have to overlay divs or something
  765. # [23:37] <zcorpan_> and if they're not happy with it then there are web fonts :)
  766. # [23:39] <Philip`> (Firefox's canvas text implementation is annoying because even CSS-px-sized fonts change when you alter the browser's text size setting, so font sizes ought to be specified in canvas coordinate space units instead)
  767. # [23:41] <SadEagle> does it offer metrics info?
  768. # [23:42] <Philip`> You can get the width of a string, and that's it
  769. # [23:42] <Philip`> ( http://developer.mozilla.org/en/docs/Drawing_text_using_a_canvas )
  770. # [23:43] <Philip`> so it's kind of useless if you e.g. want to know the line separation so you can write multiple lines, or if you e.g. want to know the bounding box so you can save the text onto a temporary canvas or something
  771. # [23:43] * Quits: weinig_ (n=weinig@17.255.101.78) (Read error: 110 (Connection timed out))
  772. # [23:44] <SadEagle> part of the issue with text, though, is that the full APIs are hardly trivial.
  773. # [23:44] <SadEagle> especially if you want to do stuff like linebreaking right with BiDi
  774. # [23:45] <Philip`> But when there's no API at all, people do things like have a bitmap of all the ASCII characters, which is much worse that just having BiDi problems
  775. # [23:45] <Philip`> s/that/than/
  776. # [23:46] <SadEagle> yeah, but any real/official API has to get it right, IMHO
  777. # [23:47] <Philip`> Hasn't anybody already solved the problem of text drawing APIs, so we could just copy from them?
  778. # [23:48] <Philip`> It's not like it's something that nobody has ever wanted to do before
  779. # [23:48] <Hixie> looking at that moz api -- using the 'font' shorthand's syntax seems like a good technique, but i don't know how to combine that with using coordinte space units
  780. # [23:49] <othermaciej> Hixie: could do it like svg
  781. # [23:50] <othermaciej> "px" == "user unit", other units are fixed multiples
  782. # [23:50] <Hixie> yeah, that might work
  783. # [23:50] * Quits: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no) (Read error: 104 (Connection reset by peer))
  784. # [23:50] <Hixie> and obviously the mozMeasureText would have to be a getBoundingBox-style api
  785. # [23:51] * Joins: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no)
  786. # [23:51] <Hixie> maybe getTextMetrics("string") -> object with height, width, baseline offset
  787. # [23:55] <Philip`> (My particular desire for text metrics was so I could implement X3D text rendering, by drawing onto a temporary canvas and then loading that as an OpenGL texture and drawing it on a 3D quad, so it really needs to know the bounding box of the rendered string)
  788. # [23:59] * Joins: doublec_ (n=doublec@guest-226.mountainview.mozilla.com)
  789. # [23:59] * Quits: doublec (n=doublec@guest-226.mountainview.mozilla.com) (Read error: 110 (Connection timed out))
  790. # Session Close: Thu Jan 31 00:00:00 2008

The end :)