/irc-logs / freenode / #whatwg / 2011-05-25 / end

Options:

  1. # Session Start: Wed May 25 00:00:00 2011
  2. # Session Ident: #whatwg
  3. # [00:03] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  4. # [00:05] * Quits: nessy (~Adium@58-6-47-56.dyn.iinet.net.au) (Quit: Leaving.)
  5. # [00:07] * Joins: miketaylr (~miketaylr@12.22.138.2)
  6. # [00:18] * Quits: boaz (~boaz@75-150-66-249-NewEngland.hfc.comcastbusiness.net) (Quit: boaz)
  7. # [00:25] * Joins: Akilo (~kristof@89-159-215-142.rev.numericable.fr)
  8. # [00:25] * Quits: Akilo (~kristof@89-159-215-142.rev.numericable.fr) (Client Quit)
  9. # [00:30] * Quits: ifette (~ifette@nat/google/x-ynvinkpwoqsywtxg) (Quit: ifette)
  10. # [00:32] * Joins: Yuhong (~chatzilla@50-47-173-54.evrt.wa.frontiernet.net)
  11. # [00:33] * ako is now known as aho
  12. # [00:39] * Quits: benschwarz (~benschwar@59.167.185.148) (Quit: Linkinus - http://linkinus.com)
  13. # [00:46] * Quits: Jon47 (~jon47@204.56.125.50) (Quit: Leaving.)
  14. # [00:46] * Quits: RichardJ (~richard@node.liefcoden.nl) (Remote host closed the connection)
  15. # [00:48] * Quits: miketaylr (~miketaylr@12.22.138.2) (Quit: miketaylr)
  16. # [00:50] * Joins: RichardJ (~richard@node.liefcoden.nl)
  17. # [00:53] * Joins: riven` (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
  18. # [00:54] * Joins: ifette (~ifette@nat/google/x-pdnyegllemhjzxig)
  19. # [00:54] * bga_ is now known as bga_|away
  20. # [00:55] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  21. # [00:55] * Quits: ifette (~ifette@nat/google/x-pdnyegllemhjzxig) (Client Quit)
  22. # [00:55] * Joins: ifette (~ifette@nat/google/x-foaxnxbhidpxpkth)
  23. # [00:57] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 246 seconds)
  24. # [00:57] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
  25. # [00:57] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
  26. # [00:57] * Quits: jdaggett (~jdaggett@y227145.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  27. # [01:00] * Joins: erlehmann (~erlehmann@89.204.137.125)
  28. # [01:03] * Quits: ifette (~ifette@nat/google/x-foaxnxbhidpxpkth) (Quit: ifette)
  29. # [01:05] * Joins: othermaciej_ (~mjs@17.246.18.135)
  30. # [01:05] * Joins: ifette (~ifette@nat/google/x-ebvuctfbkphvleqj)
  31. # [01:07] * Quits: othermaciej (~mjs@17.203.15.180) (Ping timeout: 255 seconds)
  32. # [01:07] * othermaciej_ is now known as othermaciej
  33. # [01:09] * Hixie casts around for abarth
  34. # [01:11] * Quits: dave_levin (~dave_levi@nat/google/x-opozjnfbuwbzsbtg) (Quit: dave_levin)
  35. # [01:14] * bga_|away is now known as bga_
  36. # [01:16] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  37. # [01:16] * riven` is now known as riven
  38. # [01:16] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
  39. # [01:16] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  40. # [01:21] * Quits: stefan-_ (~music@swhpet3041.uni-trier.de) (Remote host closed the connection)
  41. # [01:21] * Joins: nessy (~Adium@74.125.56.18)
  42. # [01:24] * Joins: seventh (seventh@31.6.22.252)
  43. # [01:25] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 258 seconds)
  44. # [01:28] * Philip` finds that it's pretty trivial to circumvent cross-origin font canvas tainting via timing attacks
  45. # [01:29] * Quits: chriseppstein (~chris@dsl092-049-179.sfo4.dsl.speakeasy.net) (Quit: chriseppstein)
  46. # [01:32] * Joins: chriseppstein (~chris@209.119.65.162)
  47. # [01:33] <Hixie> Philip`: for the "find which characters are in the font" attack?
  48. # [01:37] <Philip`> Finding the shapes of the glyphs
  49. # [01:38] <Hixie> in that case you should be able to get data from any cross-origin image too, no?
  50. # [01:40] * Joins: Amorphous (jan@unaffiliated/amorphous)
  51. # [01:41] <Philip`> When filling text, if the glyph is outside the clipping area then it doesn't even attempt drawing any pixels
  52. # [01:41] <Philip`> which affects the timing significantly
  53. # [01:41] <TabAtkins> Oh, interesting.
  54. # [01:41] <TabAtkins> So, apply 1px clipping area, and profit.
  55. # [01:42] <Philip`> With images it'll draw every pixel regardless of the value, so any differences would be far more subtle
  56. # [01:42] <Hixie> is there an expensive composite mode or shadow or something that can make it different enough?
  57. # [01:43] <TabAtkins> Given the current canvas operations, I doubt it.
  58. # [01:43] <TabAtkins> None of the mechanics should operate significantly differently based on the color of the canvas.
  59. # [01:47] <Philip`> http://philip.html5.org/demos/canvas/font-timing.html - very rough prototype
  60. # [01:47] <Philip`> In Chromium 9.0 I get a very clear "A" shape after the first iteration
  61. # [01:48] <Philip`> (on Linux)
  62. # [01:48] <Philip`> Opera 11.10 gives a sort of triangle shape that improves over time
  63. # [01:49] <roc> doesn't seem to work on Firefox
  64. # [01:49] <Hixie> i don't really understand what we're protecting against here, personally
  65. # [01:49] <Hixie> wfm on firefox on mac
  66. # [01:49] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Remote host closed the connection)
  67. # [01:49] <Philip`> Firefox just seems to hang my windowing system for tens of seconds until I get impatient and click X and then it closes a minute later
  68. # [01:51] <roc> on windows I mean
  69. # [01:51] <roc> it depends on the font backend I guess
  70. # [01:51] * Philip` means on Linux and hasn't tested elsewhere
  71. # [01:51] <Hixie> chrome and firefox on mac seem to very quickly give an A
  72. # [01:52] <roc> on Mac we fall back to explicit path filling for large font sizes and I'm not surprised that that triggers optimizations when the path doesn't intersect the clip
  73. # [01:52] <roc> on Windows we don't do that ourselves, who knows what GDI and D2D do
  74. # [01:53] <roc> anyway, neat demo!
  75. # [01:53] <Hixie> indeed
  76. # [01:53] <TabAtkins> <3 timing channel attacks
  77. # [01:53] <roc> you can't
  78. # [01:54] <Philip`> TabAtkins: I'm sure there's more than 3
  79. # [01:54] <Hixie> aw man, now you've surely gotten him going through the unicode pages
  80. # [01:55] <Philip`> In Chromium on Linux it seems mostly fill-rate dependent, rather than being dependent on clipping - the difference is much smaller with non-'lighter' compositing
  81. # [01:55] <jamesr> roc: the font size is 10px, there's just a large scale applied
  82. # [01:55] <Hixie> TabAtkins: U+2665, U+2764, or the U+1F491-U+1F49F range
  83. # [01:55] <jamesr> Philip`: try with a large font size
  84. # [01:55] <jamesr> i dunno if we consider the scale when deciding whether to use GDI to raster or grab a path and fill the path
  85. # [01:55] <roc> jamesr: I mean the post-resize scale factor
  86. # [01:56] <jamesr> we probably _should_ be using the post-resize scale factor
  87. # [01:56] <Philip`> jamesr: Browsers seem to care about fontsize * scalefactor, e.g. in Chromium it stops drawing the text if that's more than 12K or something
  88. # [01:56] <Philip`> and in Firefox it seems to clamp the post-scale font size
  89. # [01:56] <Philip`> (in 4.0, on Linux)
  90. # [01:57] <Philip`> (That "12K" isn't a precise figure, I just think it broke after about 12px with scale 1024)
  91. # [01:58] <jamesr> Philip`: try applying a very slight skew
  92. # [01:58] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Ping timeout: 250 seconds)
  93. # [01:59] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  94. # [01:59] <jamesr> might force you down the path case in more cases
  95. # [02:16] * Joins: wolfman2000 (~wolfman20@rrcs-70-63-208-211.midsouth.biz.rr.com)
  96. # [02:17] * Quits: ifette (~ifette@nat/google/x-ebvuctfbkphvleqj) (Quit: ifette)
  97. # [02:19] <Philip`> http://philip.html5.org/demos/canvas/img-timing-1.html - works for me in Chromium
  98. # [02:19] <Philip`> http://philip.html5.org/demos/canvas/img-timing-2.html - works for me in Opera
  99. # [02:20] <Philip`> (Warning: artwork may be disturbing)
  100. # [02:22] <jamesr> i'm just getting noise
  101. # [02:22] <roc> interesting
  102. # [02:22] <jamesr_> hm, works better on linux
  103. # [02:22] <jamesr_> so it's testing blend time?
  104. # [02:23] <Philip`> ((This is just drawImageing one pixel of an image at a time, and transparent vs solid makes a difference))
  105. # [02:23] <roc> their compositing code has special cases for zero alpha?
  106. # [02:23] <roc> I'm surprised that wins
  107. # [02:23] <jamesr_> i wonder what layer is doing that
  108. # [02:24] <jamesr_> we have some special case code for 1x1 transparent images in various bits of the codebase (mostly for spacer.gif)
  109. # [02:24] <Philip`> My Chromium is faster for alpha=255 than for alpha=0
  110. # [02:24] <Philip`> (in default source-over compositing)
  111. # [02:24] <jamesr_> but is alpha=254 different from alpha=255?
  112. # [02:24] <jamesr_> and what platform are you on? chrome/mac=coregraphics, chrome/win or linux=skia
  113. # [02:25] <roc> Firefox/Linux would be XRender, that would be interesting to test
  114. # [02:25] <erlehmann> i have firefox on linux, what should i test?
  115. # [02:25] <jamesr_> getting noise in Mozilla/5.0 (X11; Linux i686 on x86_64; rv:6.0a1) Gecko/20110523 Firefox/6.0a1
  116. # [02:25] <erlehmann> Philip`, am i right with the interpretation that you attempt to read cross origin resources via timing attacks?
  117. # [02:25] <Philip`> Chromium seems to be slow for alpha=0, alpha=1ish, alpha=254ish, fast for alpha=255
  118. # [02:25] <jamesr_> the values are pretty low - 1/2
  119. # [02:26] <jamesr_> Philip`, yeah then it's probably a check for full transparent that skips blending
  120. # [02:26] <Philip`> (I'm using Chromium 9.0 on Linux)
  121. # [02:26] <jamesr_> 9.0? wtf
  122. # [02:26] <jamesr_> what museum did you steal chromium 9.0 from?
  123. # [02:27] <AryehGregor> It's probably the default version on Debian or something.
  124. # [02:27] <AryehGregor> They like years-old software.
  125. # [02:27] <Philip`> I installed chromium-bin on Gentoo some time ago, and they stopped updating it
  126. # [02:27] <jamesr_> debian is 6.0
  127. # [02:27] <AryehGregor> Nice.
  128. # [02:27] <Philip`> and I haven't cared enough to find a new version
  129. # [02:28] <roc> I'll p0wn your system and update you to something reasonable
  130. # [02:28] <erlehmann> I use Chromium 6.0
  131. # [02:28] <erlehmann> In before owned.
  132. # [02:28] <AryehGregor> Of course, I could easily get some ancient version of Chrome too, on Linux, if the package repository got uninstalled or something.
  133. # [02:28] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  134. # [02:28] <AryehGregor> Not just Chromium.
  135. # [02:28] <Philip`> Opera with 'lighter' compositing seems to be fast for alpha=0, slow for everything else
  136. # [02:29] <jamesr_> hah
  137. # [02:30] * Philip` hasn't tried other modes
  138. # [02:30] <jamesr_> http://code.google.com/p/skia/source/browse/trunk/src/core/SkDraw.cpp#1113
  139. # [02:30] <Philip`> erlehmann: Yes, it's trying to extract image data without using getImageData/toDataURL (thus avoiding the cross-origin-information-leakage checks)
  140. # [02:30] <jamesr_> i think that's the early out in question here
  141. # [02:31] <Philip`> erlehmann: and you should get a rough smiley face in the table if it's working (possibly after waiting a while for it to do multiple iterations)
  142. # [02:31] <jamesr_> only useful for fully transparent vs not, though, which is way less useful than the webgl case
  143. # [02:31] <jamesr_> where you can get arbitrary bits from arbitrary color channels
  144. # [02:31] <erlehmann> Philip`, *very* rough. but i see it. hopefully we can all use your timing attacks instead of JSONP now ;P
  145. # [02:32] <jamesr_> hm, if you could somehow apply a color mask before doing this attack then you could get more info out
  146. # [02:33] <jamesr_> roc is probably chuckling evilly about http://weblogs.mozillazine.org/roc/archives/2011/02/distinguishing.html :)
  147. # [02:33] <roc> well
  148. # [02:33] <Philip`> jamesr_: I think you can get arbitrary bits from the alpha channel - draw the image to a temporary canvas with globalAlpha=0.5, then if a pixel was previously non-transparent and is now transparent then you know it must have alpha=1, etc
  149. # [02:34] <Philip`> (I'm assuming drawImage of canvas is the same as drawImage of img, which is false, but anyway)
  150. # [02:35] <roc> jamesr_: I would be chuckling if I wasn't one of the people who are going to be on the hook for solving the problem...
  151. # [02:35] <roc> so I feel more like a deep sigh
  152. # [02:36] * Quits: chriseppstein (~chris@209.119.65.162) (Quit: chriseppstein)
  153. # [02:36] <roc> jamesr: is that really your early-exit path here?
  154. # [02:37] <roc> I sort of doubt t
  155. # [02:37] <Philip`> Do any browsers have high-resolution timers yet?
  156. # [02:37] <Philip`> (That'd probably make this much easier than with Date.now())
  157. # [02:38] <jamesr_> roc, i dunno, i'm just completely guessing
  158. # [02:39] * Quits: hij1nx (~hij1nx@207.239.107.3) (Quit: hij1nx)
  159. # [02:41] <roc> async rendering, like pretty much any GPU-accelerated canvas, should make these timing attacks much more difficult
  160. # [02:41] <roc> so it'd be interesting to try on FF4/Windows, or IE9, or Chrome with acceleration enabled
  161. # [02:41] <jamesr_> the webgl demos work fine with readback
  162. # [02:42] <jamesr_> or glFinish()
  163. # [02:42] <jamesr_> async is no help
  164. # [02:42] <jamesr_> you can force readback with canvas by doing getImageData
  165. # [02:42] <Philip`> You can't do getImageData if you've drawn cross-origin images
  166. # [02:42] <jamesr_> true, it's tainted
  167. # [02:42] * Joins: agektmr (~Adium@220.109.219.244)
  168. # [02:42] <jamesr_> but you can just repeat the draw a bunch of times and observe throughput
  169. # [02:42] <Philip`> Would doing a drawImage of one canvas onto another cause a readback?
  170. # [02:42] <jamesr_> might add noise but it doesn't stop the fundamental issue
  171. # [02:42] * Quits: ap (~ap@17.203.14.199) (Quit: ap)
  172. # [02:43] <jamesr_> Philip`, it shouldn't
  173. # [02:43] <jamesr_> in our gpu impl it doesn't, modulo some weird bugs
  174. # [02:43] <Philip`> Is there anything you can do to a canvas to make it impossible to hardware-accelerate so it falls back to software?
  175. # [02:43] <jamesr_> like we have a lower size limit for gpu-backed canvas than for software-backed canvas
  176. # [02:43] <jamesr_> yeah
  177. # [02:43] <jamesr_> make it big but not too big
  178. # [02:43] <jamesr_> we'll probably also have to add some guards so if you make 20,000 canvas contexts some of them go software or something
  179. # [02:44] <jamesr_> i'm pretty sure you can get arbitrary color channels out through svg images somehow
  180. # [02:44] * Philip` will add "var c = []; for (var i = 0; i < 20000; ++i) c.push(document.createElement('canvas').getContext('2d'))" to his script, then :-)
  181. # [02:45] <jamesr_> Philip`, in chromium today that is more likely to just crash or something
  182. # [02:45] <jamesr_> we haven't implemented ctx limiting like that
  183. # [02:45] <Philip`> Hmm, so use SVG in <img> which applies filters to an external image, then drawImage that into the canvas?
  184. # [02:46] * Philip` guesses that shouldn't be too hard
  185. # [02:46] * Joins: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447)
  186. # [02:46] <jamesr_> assuming that svg allows you to map color channels to transparency somehow
  187. # [02:46] <jamesr_> which i'm sure it must, given that svg specifies everything under the sun
  188. # [02:47] <tantek> greetings. has anyone proposed <input type="identity-url"> in addition to <input type="url"> for use in login forms (possibly with <input type="password"> )
  189. # [02:47] * Joins: cgcardona (~cgcardona@unaffiliated/cgcardona)
  190. # [02:47] <tantek> use cases: all the sites out there that have login forms
  191. # [02:47] <cgcardona> TabAtkins: hello. regarding your tweet last night. Like this? http://pastebin.com/index/3gMc8EPY
  192. # [02:47] <jamesr_> heycam might know a way to magick this up in svg
  193. # [02:47] <Philip`> http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement looks slightly powerful
  194. # [02:48] <jamesr_> oh good god
  195. # [02:48] <jamesr_> yup, gg
  196. # [02:48] <tantek> and enabling browsers to autodetect such forms for more reliable identity/password/URL remembering and auto-fill
  197. # [02:48] <jamesr_> Philip`, now i dunno if anyone implements that correctly such that it works (svg <img> in WebKit is super super buggy in general)
  198. # [02:48] <jamesr_> but it seems possible
  199. # [02:48] * Joins: nattokirai (~nattokira@rtr.mozilla.or.jp)
  200. # [02:48] <heycam> yeah, feColorMatrix probably can do what you want there
  201. # [02:48] <tantek> I'm thinking of writing up a proposal for adding <input type="identity-url"> and wanted to first see if anything similar has already been proposed / rejected, and or if there is any earlier work I should look at and possibly cite.
  202. # [02:49] <Philip`> I suppose there's the possibility of timing attacks on SVG rendering directly, too
  203. # [02:50] <roc> in Gecko we disallow external resource loading in SVG <img> for exactly this reason
  204. # [02:50] <roc> well, for other reasons too
  205. # [02:50] <smaug____> tantek: just curious, what is an identity-url (and shouldn't it be uri?)? and where does user get it?
  206. # [02:50] <roc> but this is one of them
  207. # [02:51] <Philip`> Presumably that wouldn't help if you can time non-canvas non-img SVG rendering sufficiently, though
  208. # [02:51] <tantek> smaug____: in short, identity-url could be an OpenID, could be a RelMeAuth URL, or could be a mailto URL that is paired with a password for email/password login
  209. # [02:52] * Joins: ben_h (~ben@128.250.195.138)
  210. # [02:52] <roc> Philip`: well, yeah
  211. # [02:52] <Philip`> ...and if any part of SVG rendering is sufficiently sensitive to pixel values
  212. # [02:52] * Philip` doesn't really care enough about SVG to see if that's feasible in practice, though
  213. # [02:52] <tantek> and in answer to "shouldn't it be uri?" - the short/easy answer is no, because <input type="url"> already exists in HTML5 (i.e. that bikeshed fight has already been fought - so let's just re-use the existing pattern/decision.
  214. # [02:52] * smaug____ has never heard of RelMeAuth :)
  215. # [02:52] <tantek> )
  216. # [02:52] <tantek> LMGTFY
  217. # [02:53] <smaug____> but apparently someone called tantek has written about it :)
  218. # [02:53] <tantek> http://microformats.org/wiki/RelMeAuth
  219. # [02:53] <Hixie> what's the downside of making canvas drawing always async, anyway? seems like it'd be a perf win in general.
  220. # [02:53] * Joins: ryanseddon (~RSeddon@202.126.98.210)
  221. # [02:54] <Hixie> (i mean, other than implementation complexity, obviously)
  222. # [02:55] * Joins: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  223. # [02:58] <roc> in some cases, overhead
  224. # [03:00] <roc> james suggests that it doesn't really help because you can observe throughput
  225. # [03:00] <roc> which I sort of buy, although it increases the cost of the attack considerably
  226. # [03:02] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  227. # [03:05] * Joins: agektmr (~Adium@220.109.219.244)
  228. # [03:06] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Ping timeout: 248 seconds)
  229. # [03:08] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  230. # [03:08] * Joins: hij1nx (~hij1nx@cpe-66-65-124-111.nyc.res.rr.com)
  231. # [03:12] * Joins: cying (~cying@c-24-6-96-149.hsd1.ca.comcast.net)
  232. # [03:15] * Quits: smaug____ (~chatzilla@78.41.210.66) (Ping timeout: 260 seconds)
  233. # [03:24] <jamesr_> Hixie, roc: yeah. it is async in our accelerated canvas 2d implementation
  234. # [03:24] <jamesr_> might cut down on the bandwidth of the attack
  235. # [03:25] <jamesr_> any gpu-backed canvas drawing implementation will be async to one degree or another
  236. # [03:25] <Hixie> observe throughput?
  237. # [03:25] <jamesr_> do a bunch of draws instead of just one, see how long it takes
  238. # [03:25] <jamesr_> no matter how much buffering the system does at some point it'll have to actually evaluate the draws
  239. # [03:25] <Hixie> how can you tell?
  240. # [03:25] <Hixie> if it's async, you can't read it back, right?
  241. # [03:26] <jamesr_> lots of ways. force the draw to complete through some indirect method, or just wait until your call is blocked because all the buffers are full
  242. # [03:26] <jamesr_> or let it go to screen (which will force it to evaluate) and observe the screen repaint time
  243. # [03:26] <jamesr_> which you can get indirectly in a number of ways
  244. # [03:27] <Hixie> huh. will have to think about that. bbiab
  245. # [03:27] <jamesr_> you can't defer the draw forever
  246. # [03:27] <jamesr_> later
  247. # [03:30] * Joins: F1LT3R (~F1LT3R@c-76-19-149-201.hsd1.ma.comcast.net)
  248. # [03:32] * Quits: F1LT3R (~F1LT3R@c-76-19-149-201.hsd1.ma.comcast.net) (Client Quit)
  249. # [03:37] * Joins: MikeSmith_ (~MikeSmith@EM114-48-149-86.pool.e-mobile.ne.jp)
  250. # [03:39] * Quits: ezoe (~ezoe@203-140-88-240f1.kyt1.eonet.ne.jp) (Ping timeout: 252 seconds)
  251. # [03:41] * Quits: MikeSmith (~MikeSmith@EM1-113-116-19.pool.e-mobile.ne.jp) (Ping timeout: 264 seconds)
  252. # [03:41] * MikeSmith_ is now known as MikeSmith
  253. # [03:50] * Quits: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net) (Remote host closed the connection)
  254. # [03:55] * Quits: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447) (Quit: tantek)
  255. # [03:59] * Quits: dbaron (~dbaron@nat/mozilla/x-yutfsjukcjlgeobf) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  256. # [04:06] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  257. # [04:06] * Joins: ezoe (~ezoe@112-68-244-241f1.kyt1.eonet.ne.jp)
  258. # [04:06] * Quits: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.17/20110428205629])
  259. # [04:07] * Quits: The_8472 (~stardive@azureus/The8472) (Ping timeout: 255 seconds)
  260. # [04:08] * Joins: agektmr (~Adium@220.109.219.244)
  261. # [04:09] * Joins: miketaylr (~miketaylr@user-160vrg5.cable.mindspring.com)
  262. # [04:11] * Joins: jacobolus (~jacobolus@199.83.221.18)
  263. # [04:13] * Joins: The_8472 (~stardive@azureus/The8472)
  264. # [04:18] * Quits: nessy (~Adium@74.125.56.18) (Quit: Leaving.)
  265. # [04:19] * Quits: jamesr (~jamesr@nat/google/x-jfdqoqocxtkoolkw) (Quit: jamesr)
  266. # [04:20] * Quits: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
  267. # [04:22] * Quits: ben_h (~ben@128.250.195.138) (Quit: ben_h)
  268. # [04:24] * Quits: othermaciej (~mjs@17.246.18.135) (Quit: othermaciej)
  269. # [04:32] * Joins: othermaciej (~mjs@67.218.104.237)
  270. # [04:35] * Joins: Transformer (~Transform@ool-4a59e397.dyn.optonline.net)
  271. # [04:37] * Quits: Transformer (~Transform@ool-4a59e397.dyn.optonline.net) (Excess Flood)
  272. # [04:38] * Quits: weinig (~weinig@2620:149:4:401:223:32ff:feaf:7f36) (Quit: weinig)
  273. # [04:42] * Quits: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1) (Ping timeout: 255 seconds)
  274. # [04:53] * Joins: nessy (~Adium@74.125.56.18)
  275. # [04:55] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
  276. # [04:56] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  277. # [04:59] * Quits: Yuhong (~chatzilla@50-47-173-54.evrt.wa.frontiernet.net) (Quit: ChatZilla 0.9.86.1 [Firefox 4.0.1/20110413222027])
  278. # [05:06] * Quits: tndH (~Rob@cpc11-seac19-2-0-cust116.7-2.cable.virginmedia.com) (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.1/2008072406])
  279. # [05:08] * Joins: weinig (~weinig@c-24-130-56-198.hsd1.ca.comcast.net)
  280. # [05:08] * Quits: weinig (~weinig@c-24-130-56-198.hsd1.ca.comcast.net) (Client Quit)
  281. # [05:19] * Joins: ben_h (~ben@128.250.195.138)
  282. # [05:21] * Quits: jacobolus (~jacobolus@199.83.221.18) (Remote host closed the connection)
  283. # [05:21] * Joins: jacobolus (~jacobolus@199.83.221.18)
  284. # [05:23] * Quits: othermaciej (~mjs@67.218.104.237) (Quit: othermaciej)
  285. # [05:23] * Quits: erlehmann (~erlehmann@89.204.137.125) (Quit: Ex-Chat)
  286. # [05:25] * Quits: ezoe (~ezoe@112-68-244-241f1.kyt1.eonet.ne.jp) (Ping timeout: 248 seconds)
  287. # [05:36] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
  288. # [05:41] * Joins: nonge_ (~nonge@p5082B25B.dip.t-dialin.net)
  289. # [05:45] * Quits: nonge__ (~nonge@p5082BB51.dip.t-dialin.net) (Ping timeout: 244 seconds)
  290. # [05:51] * Quits: miketaylr (~miketaylr@user-160vrg5.cable.mindspring.com) (Quit: miketaylr)
  291. # [06:04] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 260 seconds)
  292. # [06:08] * Joins: temp01 (~temp01@unaffiliated/temp01)
  293. # [06:12] * Quits: hij1nx (~hij1nx@cpe-66-65-124-111.nyc.res.rr.com) (Quit: hij1nx)
  294. # [06:13] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 260 seconds)
  295. # [06:16] * Joins: temp01 (~temp01@unaffiliated/temp01)
  296. # [06:16] * Quits: jacobolus (~jacobolus@199.83.221.18) (Remote host closed the connection)
  297. # [06:19] * Quits: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net) (Ping timeout: 250 seconds)
  298. # [06:31] * Joins: CvP (CvP@180.234.68.114)
  299. # [06:36] * Quits: CvP (CvP@180.234.68.114) (Disconnected by services)
  300. # [06:36] * Joins: xCG (CvP@180.234.88.218)
  301. # [06:37] * Quits: aho (~nya@fuld-590c6783.pool.mediaWays.net) (Quit: EXEC_over.METHOD_SUBLIMATION)
  302. # [06:37] * xCG is now known as CvP
  303. # [06:58] * Quits: nonge_ (~nonge@p5082B25B.dip.t-dialin.net) (Ping timeout: 255 seconds)
  304. # [06:59] * Joins: davidwalsh (~davidwals@65.91.54.2)
  305. # [06:59] * Quits: davidwalsh (~davidwals@65.91.54.2) (Client Quit)
  306. # [07:00] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  307. # [07:04] * Joins: temp01 (~temp01@unaffiliated/temp01)
  308. # [07:06] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  309. # [07:09] * Joins: temp01 (~temp01@unaffiliated/temp01)
  310. # [07:10] <hsivonen> So it seems that ICU4J has a bug when it comes to determining if a year has 53 ISO weeks
  311. # [07:10] * Joins: nonge_ (~nonge@p5B326EE7.dip.t-dialin.net)
  312. # [07:11] <hsivonen> I wonder where I could find the math to independently verify/generate the list of 53-week years that is available on Wikipedia: http://en.wikipedia.org/wiki/ISO_week_date#Weeks_per_year
  313. # [07:11] * heycam is now known as heycam|away
  314. # [07:11] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  315. # [07:13] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  316. # [07:13] * Joins: temp01 (~temp01@unaffiliated/temp01)
  317. # [07:28] * Joins: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net)
  318. # [07:33] * Joins: ezoe (~ezoe@203-140-88-36f1.kyt1.eonet.ne.jp)
  319. # [07:36] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  320. # [07:40] * Joins: temp01 (~temp01@unaffiliated/temp01)
  321. # [07:43] * Joins: maikmerten (~merten@ls5dhcp197.cs.uni-dortmund.de)
  322. # [07:43] * Joins: Ankheg (~Ankheg@fs91-201-3-30.dubna-net.ru)
  323. # [07:45] * bga_ is now known as bga_|away
  324. # [07:47] * Quits: nessy (~Adium@74.125.56.18) (Quit: Leaving.)
  325. # [07:47] * Joins: hdhoang (~hdhoang@hdhoang.broker.freenet6.net)
  326. # [07:51] * Joins: Akilo (~kristof@lit75-1-81-57-239-230.fbx.proxad.net)
  327. # [08:08] * Joins: shinyak (~shinyak@220.109.219.244)
  328. # [08:10] <hsivonen> does the JS Date object implement the proleptic Gregorian calendar all the way back to Year 1 CE?
  329. # [08:24] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  330. # [08:32] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
  331. # [08:32] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  332. # [08:34] * Quits: hdhoang (~hdhoang@hdhoang.broker.freenet6.net) (Quit: Leaving.)
  333. # [08:36] * dglazkov is now known as dglazkov|away
  334. # [08:38] * Joins: hdhoang (~hdhoang@203.210.155.205)
  335. # [08:42] * Quits: ben_h (~ben@128.250.195.138) (Quit: ben_h)
  336. # [08:43] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  337. # [08:45] * Joins: temp01 (~temp01@unaffiliated/temp01)
  338. # [08:45] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Quit: zzzzz)
  339. # [08:54] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
  340. # [08:54] * Joins: rimantas (~rimliu@93.93.57.193)
  341. # [08:55] * Joins: mhausenblas_ (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  342. # [08:58] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  343. # [08:59] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 246 seconds)
  344. # [08:59] * mhausenblas_ is now known as mhausenblas
  345. # [08:59] * Quits: shinyak (~shinyak@220.109.219.244) (Remote host closed the connection)
  346. # [09:04] * Joins: nessy (~Adium@58-6-47-56.dyn.iinet.net.au)
  347. # [09:05] * Joins: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11)
  348. # [09:05] * Quits: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11) (Remote host closed the connection)
  349. # [09:06] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  350. # [09:07] * Joins: shinyak (~shinyak@220.109.219.244)
  351. # [09:20] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
  352. # [09:20] * Joins: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl)
  353. # [09:21] * Joins: erlehmann (~erlehmann@89.204.137.125)
  354. # [09:24] * Joins: matjas (~matjas@91.182.178.25)
  355. # [09:25] * Joins: zcorpan (~zcorpan@c-8798e355.410-6-64736c14.cust.bredbandsbolaget.se)
  356. # [09:25] <zcorpan> so we still haven't published
  357. # [09:26] * Joins: homata_ (~homata_@58x158x182x50.ap58.ftth.ucom.ne.jp)
  358. # [09:30] * Quits: CvP (CvP@180.234.88.218) (Quit: DOTA > your mom.)
  359. # [09:36] * Quits: temp01 (~temp01@unaffiliated/temp01) (Quit: Poof.)
  360. # [09:37] * Joins: MikeSmith_ (~MikeSmith@EM114-48-162-248.pool.e-mobile.ne.jp)
  361. # [09:38] * Joins: msucan (~robod@92.86.247.27)
  362. # [09:38] * Joins: temp01 (~temp01@unaffiliated/temp01)
  363. # [09:40] * Quits: nessy (~Adium@58-6-47-56.dyn.iinet.net.au) (Ping timeout: 246 seconds)
  364. # [09:40] * Quits: MikeSmith (~MikeSmith@EM114-48-149-86.pool.e-mobile.ne.jp) (Ping timeout: 246 seconds)
  365. # [09:40] * MikeSmith_ is now known as MikeSmith
  366. # [09:44] * Quits: cying (~cying@c-24-6-96-149.hsd1.ca.comcast.net) (Quit: cying)
  367. # [09:47] * Joins: nessy (~Adium@124-149-37-204.dyn.iinet.net.au)
  368. # [09:48] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 248 seconds)
  369. # [09:51] * Joins: temp01 (~temp01@unaffiliated/temp01)
  370. # [09:52] * Parts: ryanseddon (~RSeddon@202.126.98.210)
  371. # [09:55] * Quits: temp01 (~temp01@unaffiliated/temp01) (Client Quit)
  372. # [09:55] * Joins: temp01 (~temp01@unaffiliated/temp01)
  373. # [10:03] * Quits: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
  374. # [10:07] * Joins: richt (~richt@pat-tdc.opera.com)
  375. # [10:08] * Joins: micheil (~micheil@124-149-63-232.dyn.iinet.net.au)
  376. # [10:08] * Quits: micheil (~micheil@124-149-63-232.dyn.iinet.net.au) (Client Quit)
  377. # [10:15] * Joins: jeremyselier (~Jeremy@92.103.127.226)
  378. # [10:15] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Quit: Ex-Chat)
  379. # [10:15] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
  380. # [10:16] * Quits: Akilo (~kristof@lit75-1-81-57-239-230.fbx.proxad.net) (Ping timeout: 276 seconds)
  381. # [10:18] * Quits: shinyak (~shinyak@220.109.219.244) (Remote host closed the connection)
  382. # [10:20] * bga_|away is now known as bga_
  383. # [10:21] * Joins: shinyak (~shinyak@220.109.219.244)
  384. # [10:22] * Quits: shinyak (~shinyak@220.109.219.244) (Remote host closed the connection)
  385. # [10:23] * Quits: homata_ (~homata_@58x158x182x50.ap58.ftth.ucom.ne.jp) (Remote host closed the connection)
  386. # [10:23] * Joins: CvP (CvP@180.234.48.79)
  387. # [10:23] * Joins: mpt (~mpt@91.189.88.12)
  388. # [10:23] * Quits: mpt (~mpt@91.189.88.12) (Changing host)
  389. # [10:23] * Joins: mpt (~mpt@canonical/mpt)
  390. # [10:25] * Joins: oknoway (~oknoway@173-8-201-137-Oregon.hfc.comcastbusiness.net)
  391. # [10:26] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Read error: Connection reset by peer)
  392. # [10:26] * Quits: ry (~ry@static-71-183-64-28.nycmny.fios.verizon.net) (Read error: Operation timed out)
  393. # [10:26] * Quits: mpilgrim_ (~pilgrim@rrcs-24-206-36-125.midsouth.biz.rr.com) (Read error: Connection reset by peer)
  394. # [10:26] * Joins: mpilgrim__ (~pilgrim@rrcs-24-206-36-125.midsouth.biz.rr.com)
  395. # [10:28] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  396. # [10:32] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  397. # [10:33] * Joins: danbri (~danbri@athedsl-4566690.home.otenet.gr)
  398. # [10:35] * Joins: agektmr (~Adium@220.109.219.244)
  399. # [10:38] * Joins: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11)
  400. # [10:38] * Quits: nattokirai (~nattokira@rtr.mozilla.or.jp) (Quit: nattokirai)
  401. # [10:39] * Joins: smaug____ (~chatzilla@78.41.210.66)
  402. # [10:40] * Quits: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl) (Quit: kor)
  403. # [10:40] * Quits: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Remote host closed the connection)
  404. # [10:41] * Joins: ry (~ry@static-71-183-64-28.nycmny.fios.verizon.net)
  405. # [10:41] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
  406. # [10:43] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
  407. # [10:51] * Joins: Ms2ger (~Ms2ger@91.181.47.87)
  408. # [10:51] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  409. # [10:52] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  410. # [10:54] * Quits: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11) (Remote host closed the connection)
  411. # [10:54] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  412. # [11:03] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
  413. # [11:04] * Joins: kor (~kor@83.160.149.179)
  414. # [11:05] * Joins: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se)
  415. # [11:05] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  416. # [11:09] * Joins: Rik` (~Rik`@mozilla-paris-253-99.cnt.nerim.net)
  417. # [11:10] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
  418. # [11:11] * Joins: Akilo (~kristof@lit75-1-81-57-239-230.fbx.proxad.net)
  419. # [11:14] * bga_ is now known as bga_|away
  420. # [11:17] * bga_|away is now known as bga_
  421. # [11:25] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  422. # [11:29] * Quits: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 258 seconds)
  423. # [11:32] * Joins: livath (~livath@ix.ceid.upatras.gr)
  424. # [11:43] * Joins: agektmr (~Adium@220.109.219.244)
  425. # [11:46] * Quits: beowulf (u116@pdpc/supporter/professional/beowulf) (Remote host closed the connection)
  426. # [11:46] * Quits: Scorchin (u1242@gateway/web/irccloud.com/x-xrxkfnigzbkqivfy) (Remote host closed the connection)
  427. # [11:47] * Quits: Phae (u455@gateway/web/irccloud.com/x-rafnzphvwpthetbw) (Remote host closed the connection)
  428. # [11:47] * Quits: mkwst (u395@gateway/web/irccloud.com/x-pgmudwidocugmlrv) (Remote host closed the connection)
  429. # [11:47] * Joins: beowulf (u116@pdpc/supporter/professional/beowulf)
  430. # [11:47] * Quits: beowulf (u116@pdpc/supporter/professional/beowulf) (Remote host closed the connection)
  431. # [11:47] * Joins: Scorchin (u1242@gateway/web/irccloud.com/x-xdtgmifnoqqszwer)
  432. # [11:48] <hsivonen> the date and time-related input types are still implemented in only Opera, right?
  433. # [11:48] <hsivonen> properly, that is
  434. # [11:49] <hsivonen> Bogus WebKit impls don't count as implemented
  435. # [11:51] <Ms2ger> Sounds right
  436. # [11:51] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: This computer has gone to sleep)
  437. # [11:53] * Joins: beowulf (u116@pdpc/supporter/professional/beowulf)
  438. # [11:55] * Quits: smaug____ (~chatzilla@78.41.210.66) (Ping timeout: 258 seconds)
  439. # [11:56] <hsivonen> Ms2ger: ok
  440. # [11:56] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  441. # [11:56] <hsivonen> I'm a bit unhappy about caniuse.com overstating support in Chrome
  442. # [11:56] <hsivonen> so I have to actually check stuff myself instead of trusting caniuse
  443. # [11:58] * Quits: danbri (~danbri@athedsl-4566690.home.otenet.gr) (Remote host closed the connection)
  444. # [11:59] * Quits: yijun (~yijun@2001:250:208:1666:21f:f3ff:fe52:9714) (Quit: yijun)
  445. # [12:01] * Quits: livath (~livath@ix.ceid.upatras.gr) (Quit: livath)
  446. # [12:02] * Quits: ezoe (~ezoe@203-140-88-36f1.kyt1.eonet.ne.jp) (Read error: Connection reset by peer)
  447. # [12:05] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Remote host closed the connection)
  448. # [12:07] * Joins: livath (~livath@ix.ceid.upatras.gr)
  449. # [12:07] * Joins: Lachy (~Lachlan@guest.opera.com)
  450. # [12:09] * Joins: Phae (u455@gateway/web/irccloud.com/x-uewyoymmqvmekvor)
  451. # [12:10] <zcorpan> hsivonen: ping him about it on twitter
  452. # [12:11] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 260 seconds)
  453. # [12:14] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  454. # [12:15] * Joins: mkwst (u395@gateway/web/irccloud.com/x-fthyrqzapcbnhfvt)
  455. # [12:20] * Joins: homata__ (~homata_@58x158x182x50.ap58.ftth.ucom.ne.jp)
  456. # [12:22] * Quits: homata__ (~homata_@58x158x182x50.ap58.ftth.ucom.ne.jp) (Remote host closed the connection)
  457. # [12:23] <jgraham> I really wish the spec would drop callers on HTMLCollection
  458. # [12:23] <jgraham> AIUI Gecko doesn't implement them
  459. # [12:24] * Joins: myakura (~myakura@FL1-118-111-219-27.tky.mesh.ad.jp)
  460. # [12:24] <jgraham> and the behaviour is undefined in edge cases
  461. # [12:24] <jgraham> and there is no good reason to use them
  462. # [12:25] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  463. # [12:29] * Joins: agektmr (~Adium@220.109.219.244)
  464. # [12:31] * Quits: Lachy (~Lachlan@guest.opera.com) (Quit: Leaving)
  465. # [12:31] * Joins: Lachy (~Lachlan@guest.opera.com)
  466. # [12:31] * Joins: charlvn (~charlvn@41.0.48.54)
  467. # [12:36] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Ping timeout: 255 seconds)
  468. # [12:37] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  469. # [12:39] * Quits: kor (~kor@83.160.149.179) (Quit: kor)
  470. # [12:40] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Quit: Necrathex)
  471. # [12:41] * Joins: temp01 (~temp01@unaffiliated/temp01)
  472. # [12:41] * Quits: livath (~livath@ix.ceid.upatras.gr) (Read error: Connection reset by peer)
  473. # [12:42] <Ms2ger> jgraham, implement DOM Core instead? :)
  474. # [12:45] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  475. # [12:45] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 246 seconds)
  476. # [12:46] * Joins: temp02 (~temp01@unaffiliated/temp01)
  477. # [12:46] <Lachy> jgraham, it seems that Opera, IE and WebKit all implement callers
  478. # [12:49] <jgraham> Lachy: Yes. They still suck though
  479. # [12:50] <jgraham> And they're not interoperable in edge cases
  480. # [12:50] <jgraham> e.g. my_html_collection(-1)
  481. # [12:51] <Lachy> interop on edge cases can be fixed. The issue is whether the behaviour is needed at all for the common cases.
  482. # [12:51] <jgraham> Well since gecko doesn't implement it it seems like it might well not be needed
  483. # [12:52] <jgraham> We certainly shouldn't add new interfaces with this legacy gunk on
  484. # [12:52] <jgraham> Even if it is more consustent
  485. # [12:52] <jgraham> *consistent
  486. # [12:52] <Lachy> also, it seems the spec definition of HTMLCollection.item() is wrong. Implementations accept either an unsigned long index or DOMString name
  487. # [12:52] <jgraham> Allowing people to be consistently stupid isn't a win
  488. # [12:53] * Joins: kor (~kor@83.160.149.179)
  489. # [12:53] <jgraham> Isn't the DOMString a differnt method?
  490. # [12:53] <Lachy> yes, .namedItem(DOMString) works, but so does .item(DOMString)
  491. # [12:54] <jgraham> Oh ffs
  492. # [12:54] * Lachy goes to file a bug
  493. # [12:58] <Lachy> oh, wait. No, my test was incorrect. .item("test") was simply returning the first control, like .item(0).
  494. # [12:59] <jgraham> same as .item() I guess
  495. # [12:59] <jgraham> ?
  496. # [12:59] <Lachy> hmm, no. IE does what I originally thought.
  497. # [13:00] <Lachy> other browsers don't. I guess we don't need that behaviour after all. I'll resolve my bug invalid
  498. # [13:00] * Joins: _bga (~bga@95-55-40-219.dynamic.avangarddsl.ru)
  499. # [13:01] <hsivonen> zcorpan: I pinged Fyrc on Twitter
  500. # [13:03] * Quits: bga_ (~bga@95-55-42-35.dynamic.avangarddsl.ru) (Ping timeout: 276 seconds)
  501. # [13:04] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Ping timeout: 240 seconds)
  502. # [13:06] <hsivonen> zcorpan: regarding http://bugzilla.validator.nu/show_bug.cgi?id=817 , should I warn about more stuff than <style scoped>, date and time-related input, <input type=color>, <bdi>, <track>, <details>, <command> and <menu>?
  503. # [13:06] <hsivonen> should I warn about <mark> and <time>?
  504. # [13:08] * Joins: agektmr1 (~Adium@220.109.219.244)
  505. # [13:08] * Quits: agektmr (~Adium@220.109.219.244) (Read error: Connection reset by peer)
  506. # [13:09] * Parts: charlvn (~charlvn@41.0.48.54)
  507. # [13:09] * Joins: smaug____ (~chatzilla@78.41.210.66)
  508. # [13:12] <Ms2ger> meter?
  509. # [13:16] <hsivonen> Ms2ger: thanks
  510. # [13:21] * Quits: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
  511. # [13:22] * Joins: eikaas_ (~eikaas@79.161.4.102)
  512. # [13:23] * Quits: eikaas (~eikaas@79.161.4.102) (Read error: Operation timed out)
  513. # [13:23] * eikaas_ is now known as eikaas
  514. # [13:24] <MikeSmith> hsivonen: if you are interested in working on http://bugzilla.validator.nu/show_bug.cgi?id=589 feel free to reassign it
  515. # [13:25] <MikeSmith> I had assigned it to myself when I was working a patch but I'm not going to be able to get back it to it til next week at the earliest
  516. # [13:25] * Quits: Lachy (~Lachlan@guest.opera.com) (Quit: Leaving)
  517. # [13:27] <hsivonen> MikeSmith: I'm not in so much hurry that I couldn't wait for your patch :-)
  518. # [13:27] <MikeSmith> heh
  519. # [13:27] <MikeSmith> OK
  520. # [13:35] * Joins: tndH (~Rob@cpc11-seac19-2-0-cust116.7-2.cable.virginmedia.com)
  521. # [13:36] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  522. # [13:39] * Quits: seventh (seventh@31.6.22.252) (Quit: ...)
  523. # [13:49] * Quits: shepazu (~schepers@108-70-132-46.lightspeed.rlghnc.sbcglobal.net) (Ping timeout: 250 seconds)
  524. # [13:50] * Quits: agektmr1 (~Adium@220.109.219.244) (Quit: Leaving.)
  525. # [14:05] * _bga is now known as bga_|away
  526. # [14:06] * bga_|away is now known as bga_
  527. # [14:09] * Joins: agektmr (~Adium@220.109.219.244)
  528. # [14:10] * Quits: agektmr (~Adium@220.109.219.244) (Client Quit)
  529. # [14:17] * Joins: tbassetto (~tbassetto@2a01:e35:2eec:80a0:f2b4:79ff:fe15:3589)
  530. # [14:18] * Joins: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11)
  531. # [14:22] * Quits: mpilgrim__ (~pilgrim@rrcs-24-206-36-125.midsouth.biz.rr.com) (Ping timeout: 246 seconds)
  532. # [14:26] * Quits: CvP (CvP@180.234.48.79) (Ping timeout: 240 seconds)
  533. # [14:27] * Quits: shinyak (~shinyak@2401:fa00:4:1012:129a:ddff:febe:ed11) (Remote host closed the connection)
  534. # [14:31] * Quits: nessy (~Adium@124-149-37-204.dyn.iinet.net.au) (Quit: Leaving.)
  535. # [14:31] <zcorpan> hsivonen: type=color is supported by opera too
  536. # [14:32] * Joins: demet8 (~demet8@7.186.8.67.cfl.res.rr.com)
  537. # [14:33] <hsivonen> zcorpan: whoa. Thanks. (I should always test everything *again* instead of relying on my previous testing.)
  538. # [14:33] <zcorpan> hsivonen: i think <link sizes> is not supported anywhere
  539. # [14:33] <hsivonen> zcorpan: Apple's documentation suggests rel="apple-touch-icon" sizes="..." is supported
  540. # [14:34] <hsivonen> zcorpan: though apple-touch-icon is currently unregistered
  541. # [14:34] <zcorpan> oh, didn't know that
  542. # [14:35] <zcorpan> <blockquote cite>? ;)
  543. # [14:35] <hsivonen> zcorpan: hah. that's a good one.
  544. # [14:35] <zcorpan> <ol reversed>
  545. # [14:36] <zcorpan> <a ping>? what's the status on that?
  546. # [14:36] <Ms2ger> Mozilla has a broken, preffed off implementation since Fx3, I think that's it
  547. # [14:36] <hsivonen> IIRC, <a ping> is disabled in Firefox
  548. # [14:36] <hsivonen> does Chrome support <a ping>?
  549. # [14:37] <hsivonen> Ms2ger: what's broken about the Firefox impl (apart from being preffed off)?
  550. # [14:37] <zcorpan> hsivonen: fwiw <meter> is supported in opera
  551. # [14:37] <Ms2ger> The spec changed under us
  552. # [14:37] <hsivonen> zcorpan: thanks
  553. # [14:38] <zcorpan> crossorigin on img, video, audio
  554. # [14:38] <zcorpan> what's the status on <iframe srcdoc sandbox seamless>?
  555. # [14:39] <zcorpan> <video mediagroup>
  556. # [14:39] <zcorpan> (also on audio)
  557. # [14:39] <zcorpan> (ping is also on area)
  558. # [14:40] <zcorpan> <input dirname> <textarea dirname>
  559. # [14:41] <hsivonen> what's dirname?
  560. # [14:41] * smaug____ should start reviewing the patch for <meter>
  561. # [14:41] <hsivonen> I have a vague recollection of Chrome having one or two of the new iframe attributes
  562. # [14:41] * Joins: nimbupani (~Adium@c-24-18-47-160.hsd1.wa.comcast.net)
  563. # [14:41] * nimbupani is now known as nimbu
  564. # [14:41] <smaug____> not that really understand the reason for progress *and* meter
  565. # [14:41] <zcorpan> contextmenu=""
  566. # [14:42] <zcorpan> dropzone=""?
  567. # [14:42] <zcorpan> itemid
  568. # [14:42] <zcorpan> itemprop
  569. # [14:42] <zcorpan> itemref
  570. # [14:42] <zcorpan> itemscope
  571. # [14:42] <zcorpan> itemtype
  572. # [14:43] * Parts: nimbu (~Adium@c-24-18-47-160.hsd1.wa.comcast.net)
  573. # [14:43] <zcorpan> hsivonen: it's a new bidi thing
  574. # [14:43] <hsivonen> zcorpan: I think I'm not going to warn on microdata, since it's not particularly dangerous to use it ahead of browser impls
  575. # [14:44] <zcorpan> that's fair enough
  576. # [14:44] <hsivonen> I didn't add warning for stuff like <footer> for that reason
  577. # [14:44] <zcorpan> <footer> is also implemented these days
  578. # [14:44] <hsivonen> though using <section><h1> might be a bit dangerous, but that ship has sailed so it's not worthwhile to warn about it
  579. # [14:45] <hsivonen> I'm not familiar with the threat scenarios with premature use of dropzone
  580. # [14:47] <zcorpan> dunno
  581. # [14:49] <zcorpan> maybe it's not so much of a treat, but would still be helpful to know why it doesn't work
  582. # [14:49] <zcorpan> s//h/
  583. # [14:56] * Joins: chriseppstein (~chris@99-34-231-235.lightspeed.sntcca.sbcglobal.net)
  584. # [14:58] * Joins: danbri (~danbri@athedsl-4566690.home.otenet.gr)
  585. # [14:59] * Joins: shepazu (~schepers@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
  586. # [15:01] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: brb)
  587. # [15:01] * Joins: hij1nx (~hij1nx@cpe-66-65-124-111.nyc.res.rr.com)
  588. # [15:04] * Joins: simplicity- (~simpli@unaffiliated/simplicity-)
  589. # [15:05] <hsivonen> smaug____: progress is for progress bars. meter is for things like disk space usage indicators
  590. # [15:05] <hsivonen> smaug____: different widgets e.g. on Mac
  591. # [15:05] <smaug____> oh, there is a different widget on some system
  592. # [15:06] * smaug____ has given up with mac
  593. # [15:08] <hsivonen> it seems that Chrome doesn't support <iframe srcdoc> or <iframe seamless>
  594. # [15:08] <hsivonen> <iframe sandbox> can't be verified visually
  595. # [15:09] <hsivonen> oh. I guess I should add validation of the text/html-sandboxed MIME type, too
  596. # [15:10] <hsivonen> http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html
  597. # [15:10] <hsivonen> looks like they have support
  598. # [15:14] * Quits: wakaba__ (~wakaba@57.72.102.121.dy.bbexcite.jp) (Quit: Leaving...)
  599. # [15:15] * Joins: miketaylr (~miketaylr@206.217.92.186)
  600. # [15:17] * Joins: wakaba (~wakaba@57.72.102.121.dy.bbexcite.jp)
  601. # [15:18] <hsivonen> oh. nice. Opera Mini has a hidden pref for turning off phone number linkification
  602. # [15:18] <hsivonen> (that almost always ends up linkifying something that isn't a phone number)
  603. # [15:21] <smaug____> chrome/linux seems to have different rendering for meter and progress, Opera/linux has the same
  604. # [15:21] * Joins: mpilgrim__ (~pilgrim@rrcs-24-206-36-125.midsouth.biz.rr.com)
  605. # [15:29] * Quits: eikaas (~eikaas@79.161.4.102) (Read error: Connection reset by peer)
  606. # [15:29] * Joins: eikaas (~eikaas@79.161.4.102)
  607. # [15:31] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 240 seconds)
  608. # [15:35] <hsivonen> it's sad that CSP uses an X- header
  609. # [15:36] <hsivonen> did Chrome implement CSP with the X- syntax?
  610. # [15:36] <hsivonen> that is, is CSP now more than a product-specific thing_
  611. # [15:36] <hsivonen> ?
  612. # [15:37] * Joins: MikeSmith_ (~MikeSmith@EM111-188-37-103.pool.e-mobile.ne.jp)
  613. # [15:40] * Quits: MikeSmith (~MikeSmith@EM114-48-162-248.pool.e-mobile.ne.jp) (Ping timeout: 244 seconds)
  614. # [15:40] * MikeSmith_ is now known as MikeSmith
  615. # [15:41] * Quits: Ankheg (~Ankheg@fs91-201-3-30.dubna-net.ru) (Read error: Connection reset by peer)
  616. # [15:42] * Joins: matjas_ (~matjas@91.182.178.25)
  617. # [15:42] * matjas is now known as Guest56899
  618. # [15:42] * Quits: matjas_ (~matjas@91.182.178.25) (Read error: Connection reset by peer)
  619. # [15:42] * Joins: matjas_ (~matjas@91.182.178.25)
  620. # [15:43] * Quits: Guest56899 (~matjas@91.182.178.25) (Ping timeout: 250 seconds)
  621. # [15:49] * Joins: boaz_ (~boaz@75-150-66-249-NewEngland.hfc.comcastbusiness.net)
  622. # [15:52] * Joins: cying (~cying@c-24-6-96-149.hsd1.ca.comcast.net)
  623. # [15:52] <hsivonen> hmm. bitbucket is down :-(
  624. # [15:54] <Philip`> Their web site looks okay to me
  625. # [15:55] * Quits: matjas_ (~matjas@91.182.178.25) (Remote host closed the connection)
  626. # [15:58] * Quits: danbri (~danbri@athedsl-4566690.home.otenet.gr) (Remote host closed the connection)
  627. # [15:58] <hsivonen> Philip`: https://bitbucket.org/validator/syntax/changesets fails for me
  628. # [15:58] <hsivonen> "Oops! An error occurred"
  629. # [15:59] <hsivonen> "Someone kicked over the bucket, sadface"
  630. # [15:59] <hsivonen> oh. now it loaded
  631. # [16:02] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  632. # [16:02] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  633. # [16:04] * Quits: smaug____ (~chatzilla@78.41.210.66) (Ping timeout: 240 seconds)
  634. # [16:06] * Quits: hdhoang (~hdhoang@203.210.155.205) (Ping timeout: 260 seconds)
  635. # [16:11] * Joins: hdhoang (~hdhoang@203.210.199.182)
  636. # [16:12] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  637. # [16:15] * Joins: mpt (~mpt@91.189.88.12)
  638. # [16:15] * Quits: mpt (~mpt@91.189.88.12) (Changing host)
  639. # [16:15] * Joins: mpt (~mpt@canonical/mpt)
  640. # [16:24] <hsivonen> wow. provisionally-registered HTTP headers that start with X- http://www.iana.org/assignments/message-headers/prov-headers.html
  641. # [16:24] * Joins: jochen___ (~jochen@nat/google/x-uzlrqliealtgfkwd)
  642. # [16:24] <hsivonen> my sympathies to whoever fought the fight with the Designated Experts on those ones
  643. # [16:25] * Quits: jochen__ (~jochen@nat/google/x-socuxjpxppxjjtmf) (Ping timeout: 248 seconds)
  644. # [16:25] * jochen___ is now known as jochen__
  645. # [16:28] * hsivonen discovers http://tools.ietf.org/html/draft-mutz-http-attributes-01
  646. # [16:28] * Joins: CvP (CvP@180.234.104.105)
  647. # [16:29] * Joins: Jon47 (~jon47@204.56.125.50)
  648. # [16:29] * Joins: ezoe (~ezoe@112-68-245-87f1.kyt1.eonet.ne.jp)
  649. # [16:32] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  650. # [16:47] * Quits: miketaylr (~miketaylr@206.217.92.186) (Quit: miketaylr)
  651. # [16:47] * Quits: richt (~richt@pat-tdc.opera.com) (Remote host closed the connection)
  652. # [16:48] * Joins: FireFly (~firefly@unaffiliated/firefly)
  653. # [16:51] * Quits: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
  654. # [16:55] <hsivonen> Hixie: do you have any plans to import X-Content-Security-Policy and X-Frame-Options to HTML without invoking the "applicable specs" clause?
  655. # [17:00] * Joins: bentruyman (~bentruyma@li159-104.members.linode.com)
  656. # [17:01] <hsivonen> FWIW, I investigated doing HTTP header validation today
  657. # [17:02] <hsivonen> but decided against it, because real Web content uses unregistered headers too often to make it practical to whine about all unregistered headers
  658. # [17:02] * Joins: cm (~callumacr@69.175.32.132)
  659. # [17:02] <hsivonen> I did, however, add a warning about X-UA-Compatible as an HTTP header
  660. # [17:03] <zcorpan> hsivonen: what about validating headers without whining about unregistered ones?
  661. # [17:03] <hsivonen> zcorpan: I guess validating their contents would be a possibility
  662. # [17:04] <zcorpan> hsivonen: do you show the headers in Show Source?
  663. # [17:04] * Parts: cm (~callumacr@69.175.32.132) ("Leaving...")
  664. # [17:05] <hsivonen> zcorpan: I don't, but showing them would make sense
  665. # [17:06] * Quits: maikmerten (~merten@ls5dhcp197.cs.uni-dortmund.de) (Remote host closed the connection)
  666. # [17:07] * Joins: Martijnc (~Martijnc@d54C02C64.access.telenet.be)
  667. # [17:08] <hsivonen> Apache has made API-breaking changes to HttpClient
  668. # [17:08] * Quits: ezoe (~ezoe@112-68-245-87f1.kyt1.eonet.ne.jp) (Ping timeout: 240 seconds)
  669. # [17:08] <hsivonen> I wonder if I should continue to use the old version and write more code with that API or migrate existing code to the new API and then add more code...
  670. # [17:12] * Joins: shichuan (~Shi_Chuan@cm182.eta124.maxonline.com.sg)
  671. # [17:20] * Quits: Rik` (~Rik`@mozilla-paris-253-99.cnt.nerim.net) (Remote host closed the connection)
  672. # [17:23] * Joins: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
  673. # [17:24] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Max SendQ exceeded)
  674. # [17:26] * Quits: zcorpan (~zcorpan@c-8798e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  675. # [17:31] * Quits: hij1nx (~hij1nx@cpe-66-65-124-111.nyc.res.rr.com) (Quit: hij1nx)
  676. # [17:34] * Parts: shichuan (~Shi_Chuan@cm182.eta124.maxonline.com.sg)
  677. # [17:43] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  678. # [17:44] * Joins: smaug____ (~chatzilla@195.166.51.3)
  679. # [17:44] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: This computer has gone to sleep)
  680. # [17:47] * Quits: cying (~cying@c-24-6-96-149.hsd1.ca.comcast.net) (Quit: cying)
  681. # [17:49] * Quits: hdhoang (~hdhoang@203.210.199.182) (Ping timeout: 260 seconds)
  682. # [17:50] * Joins: hdhoang (~hdhoang@203.210.152.9)
  683. # [17:55] * Joins: ezoe (~ezoe@61-205-124-213f1.kyt1.eonet.ne.jp)
  684. # [17:56] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  685. # [17:57] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  686. # [17:59] * Joins: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1)
  687. # [18:01] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  688. # [18:01] * Quits: hdhoang (~hdhoang@203.210.152.9) (Quit: Leaving.)
  689. # [18:01] * Joins: eric_carlson_ (~eric_carl@17.203.15.27)
  690. # [18:02] * Quits: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Disconnected by services)
  691. # [18:02] * eric_carlson_ is now known as eric_carlson
  692. # [18:03] * Joins: zdobersek (~zan@cpe-46-164-27-101.dynamic.amis.net)
  693. # [18:03] * Joins: hij1nx (~hij1nx@207.239.107.3)
  694. # [18:03] * Quits: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1) (Ping timeout: 248 seconds)
  695. # [18:06] * Joins: sicking (~chatzilla@nat/mozilla/x-rcoypkisanwmhrjw)
  696. # [18:07] * bga_ is now known as bga_|away
  697. # [18:09] * Joins: Jackneill (~root@unaffiliated/jackneill)
  698. # [18:11] * Joins: kling (~kling@nat/trolltech/x-kyhndvlbbhsdldsy)
  699. # [18:12] * Quits: sicking (~chatzilla@nat/mozilla/x-rcoypkisanwmhrjw) (Ping timeout: 248 seconds)
  700. # [18:12] <TabAtkins> Jeezus, we have to deal with @longdesc *again*?
  701. # [18:13] <Ms2ger> Of course
  702. # [18:14] * Joins: dave_levin (~dave_levi@74.125.59.65)
  703. # [18:16] <jgraham> TabAtkins: longdesc is like the apocalypse. Every time it fails to get in the spec the believers will announce that there was a mistake and it will be delayed a few months
  704. # [18:17] * dglazkov|away is now known as dglazkov
  705. # [18:18] <jgraham> Anyway this time it will probably get in. The politics of the situation make it increasingly unlikely that it will be rejected
  706. # [18:19] <TabAtkins> The politics being "they won't shut up about it"?
  707. # [18:19] <jgraham> Microsoft have supported it all along and are generally pro anything that gets specs along the Rec. track so I doubt Paul will object
  708. # [18:19] <jgraham> I expect Sam to be swayed by the work Laura did
  709. # [18:20] <AryehGregor> Did they actually produce any good reasoning for why it should go in?
  710. # [18:21] <AryehGregor> By the standards the chairs gave in their last decision?
  711. # [18:21] <jgraham> They found a handful of sites that used it
  712. # [18:21] * Joins: matjas (~matjas@91.182.178.25)
  713. # [18:21] * bga_|away is now known as bga_
  714. # [18:21] <AryehGregor> Used it usefully?
  715. # [18:22] <jgraham> Dunno
  716. # [18:22] <jgraham> They also made a list of things that supposedly require longdesc
  717. # [18:23] <jgraham> Which were basically "describing" plus any type of image they could think of
  718. # [18:23] * Quits: Akilo (~kristof@lit75-1-81-57-239-230.fbx.proxad.net) (Quit: Ex-Chat)
  719. # [18:23] -myakura:#whatwg- wonders if there's any browsers (except Opera) which supports longdesc
  720. # [18:24] <jgraham> This didn't seem like "new" information in any meaningful sense of the word "new", but the WG operates in mysterious ways
  721. # [18:28] <jgraham> My personal plan is to ignore it and hope that if I ever go blind the people working in a11y have become more interested in solutions that work in the real world and less interested in dogmatically clinging to every failed idea
  722. # [18:28] * Joins: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447)
  723. # [18:28] * Quits: erlehmann (~erlehmann@89.204.137.125) (Quit: Ex-Chat)
  724. # [18:30] * Quits: rimantas (~rimliu@93.93.57.193) (Quit: Leaving)
  725. # [18:33] * Quits: smaug____ (~chatzilla@195.166.51.3) (Read error: Connection reset by peer)
  726. # [18:34] * Joins: cying (~cying@173-13-176-101-sfba.hfc.comcastbusiness.net)
  727. # [18:37] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  728. # [18:38] <Ms2ger> jgraham, in that case, I'd try to avoid going blind ;)
  729. # [18:39] <TabAtkins> myakura: There's not.
  730. # [18:42] <Philip`> Ms2ger: I'd have thought you'd try to avoid that in any case
  731. # [18:48] * Joins: jgv_ (~jgv@pool-108-41-134-165.nycmny.fios.verizon.net)
  732. # [18:49] <myakura> hmm. even if html5 gets longdesc but no other vendor's willing to support it, it needs to be dropped otherwise the spec won't proceed.
  733. # [18:51] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 240 seconds)
  734. # [18:51] * Quits: matjas (~matjas@91.182.178.25) (Remote host closed the connection)
  735. # [18:51] <twisted`> hmm is it correct that if an input field is set to disabled it's value doesn't get posted?
  736. # [18:52] <TabAtkins> Yes.
  737. # [18:52] * Quits: chriseppstein (~chris@99-34-231-235.lightspeed.sntcca.sbcglobal.net) (Quit: chriseppstein)
  738. # [18:53] * Joins: maikmerten (~maikmerte@port-92-201-152-46.dynamic.qsc.de)
  739. # [18:53] * Quits: tbassetto (~tbassetto@2a01:e35:2eec:80a0:f2b4:79ff:fe15:3589) (Quit: tbassetto)
  740. # [18:55] <twisted`> cool then I just use readonly
  741. # [18:55] <twisted`> :)
  742. # [18:56] * Joins: matjas (~matjas@91.182.178.25)
  743. # [18:56] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Remote host closed the connection)
  744. # [18:57] * Quits: jgv_ (~jgv@pool-108-41-134-165.nycmny.fios.verizon.net) (Quit: Computer has gone to sleep.)
  745. # [18:58] * Joins: _bga (~bga@95-55-40-219.dynamic.avangarddsl.ru)
  746. # [19:01] * Quits: bga_ (~bga@95-55-40-219.dynamic.avangarddsl.ru) (Ping timeout: 244 seconds)
  747. # [19:02] * Quits: matjas (~matjas@91.182.178.25) (Ping timeout: 246 seconds)
  748. # [19:04] * Quits: myakura (~myakura@FL1-118-111-219-27.tky.mesh.ad.jp) (Remote host closed the connection)
  749. # [19:08] * Quits: kor (~kor@83.160.149.179) (Quit: kor)
  750. # [19:09] * Joins: matjas (~matjas@134.246-242-81.adsl-dyn.isp.belgacom.be)
  751. # [19:11] * Joins: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1)
  752. # [19:13] * Quits: Jon47 (~jon47@204.56.125.50) (Ping timeout: 258 seconds)
  753. # [19:14] * _bga is now known as bga_|away
  754. # [19:14] * bga_|away is now known as bga_
  755. # [19:19] * Joins: jamesr (~jamesr@nat/google/x-ynjcfbtjhlrkudqc)
  756. # [19:19] * Joins: Jon47 (~jon47@204.56.125.50)
  757. # [19:22] <AryehGregor> Is foo.innerHTML = foo.innerHTML; foo.innerHTML = foo.innerHTML guaranteed to be the same as foo.innerHTML = foo.innerHTML?
  758. # [19:22] * AryehGregor doesn't have any real reason to know, is just curious
  759. # [19:22] <AryehGregor> Or rather than "guaranteed to be", I should say "supposed to always be".
  760. # [19:26] <Philip`> As in, should fragmentparse(fragmentserialize(x)) be idempotent?
  761. # [19:27] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  762. # [19:27] <AryehGregor> Basically, yeah.
  763. # [19:27] * Quits: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net) (Remote host closed the connection)
  764. # [19:29] * Joins: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net)
  765. # [19:35] <jgraham> There is some complexity around line breaks in <pre> I think. I seem to recall that the algorithm is such that the above holds though
  766. # [19:37] * Joins: othermaciej (~mjs@67.218.107.37)
  767. # [19:45] * Joins: dbaron (~dbaron@nat/mozilla/x-cjaqvtvzpafduubx)
  768. # [19:47] * Joins: hdhoang (~hdhoang@203.210.152.9)
  769. # [19:53] * Quits: Jon47 (~jon47@204.56.125.50) (Ping timeout: 258 seconds)
  770. # [19:53] * Joins: chriseppstein (~chris@209.119.65.162)
  771. # [19:56] * Joins: jgv_ (~jgv@pool-108-41-134-165.nycmny.fios.verizon.net)
  772. # [20:00] * Joins: Jon47 (~jon47@204.56.125.50)
  773. # [20:01] * Quits: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447) (Quit: tantek)
  774. # [20:05] * Joins: aho (~nya@fuld-590c7b6b.pool.mediaWays.net)
  775. # [20:08] * Quits: jamesr (~jamesr@nat/google/x-ynjcfbtjhlrkudqc) (Quit: jamesr)
  776. # [20:11] * Joins: miketaylr (~miketaylr@206.217.92.186)
  777. # [20:14] * Joins: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl)
  778. # [20:17] * Joins: jamesr (~jamesr@216.239.45.19)
  779. # [20:17] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  780. # [20:26] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  781. # [20:26] * Quits: hdhoang (~hdhoang@203.210.152.9) (Quit: Leaving.)
  782. # [20:28] * Quits: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net) (Ping timeout: 276 seconds)
  783. # [20:33] <bga_> heh is it possible to prevent {if(window !== top )top.location = '' + location}?
  784. # [20:34] <bga_> tried overwrite location setter
  785. # [20:34] <bga_> top getter
  786. # [20:34] <jgraham> Disable scripting? :)
  787. # [20:34] <AryehGregor> You mean, can you stop sites you put in frames from breaking out? Not really, no.
  788. # [20:34] <AryehGregor> Nor should you be able to.
  789. # [20:35] <AryehGregor> Since some sites don't want to be framed for security reasons.
  790. # [20:35] <jgraham> location is magic for security reasons
  791. # [20:35] <jgraham> Even before this it had to be because flash used it or something
  792. # [20:35] <bga_> heh
  793. # [20:38] <bga_> => only iframe's sandbox attribute
  794. # [20:42] * Quits: othermaciej (~mjs@67.218.107.37) (Quit: othermaciej)
  795. # [20:42] * Joins: JonathanNeal (~Jonathan@rrcs-76-79-114-213.west.biz.rr.com)
  796. # [20:46] <JonathanNeal> I had a javascript-related question about selections, and someone suggested I pop in here and ask about it.
  797. # [20:47] <JonathanNeal> I'm trying to get the raw HTML of the selected content on a page. For the sake of simplicity, I'm sticking with browsers supporting window.getSelection.
  798. # [20:47] <JonathanNeal> AryehGregor: are you speccing this stuff?
  799. # [20:47] <AryehGregor> JonathanNeal, yes.
  800. # [20:47] * Quits: jeremyselier (~Jeremy@92.103.127.226) (Ping timeout: 260 seconds)
  801. # [20:48] <AryehGregor> getSelection().getRangeAt(0).cloneContents() should get you something like what you want.
  802. # [20:48] <AryehGregor> If the Selection has only a single Range, it will return a DocumentFragment that clones that range's contents.
  803. # [20:48] <JonathanNeal> I've been looking over the MDC docs for days. I know how to get the normalized HTML, but the raw HTML seems to be much more difficult.
  804. # [20:49] <AryehGregor> What does "raw" mean here?
  805. # [20:49] <JonathanNeal> In your example, the contents would collapse any trailing elements. Say, for example, I had `<p>The <em>quick brown f|ox</em> jumps over the lazy <strong>d|og</strong>.</p> and the area between both | was my selection. I'd be looking to return `ox</em> jumps over the lazy <strong>d`.
  806. # [20:49] <AryehGregor> Not possible, all this stuff is DOM-based.
  807. # [20:49] <AryehGregor> Why do you want it?
  808. # [20:50] <AryehGregor> In general, keep in mind that the input HTML might bear little resemblance to the DOM.
  809. # [20:50] <AryehGregor> For instance, scripts might have changed the DOM, or various HTML parser quirks might have rearranged things.
  810. # [20:50] <AryehGregor> So conceptually, browsers convert the HTML input into a DOM and then throw it away.
  811. # [20:50] <JonathanNeal> Well, I guess you answered my question with "not possible".
  812. # [20:51] <Ms2ger> He had a capital "N", but yes :)
  813. # [20:51] <AryehGregor> E.g., if the raw HTML input is <table><td>foo</td>bar<td>baz</td><table>, the resulting DOM is the same as for bar<table><td>foo</td><td>baz</td></table>. If the user selects "foobar", what would you expect to get back?
  814. # [20:51] <AryehGregor> Anyway, as I said, why do you want it?
  815. # [20:52] <JonathanNeal> I've considered cloning the range into a start and end point, adding an anchor, then reading the common ancestor's HTML and string parsing for the anchors.
  816. # [20:52] <JonathanNeal> AryehGregor, oh you know, the usual, it's a Wednesday, I think I could write a better WYSIWYG.
  817. # [20:52] <AryehGregor> JonathanNeal, how do you read the common ancestor's HTML?
  818. # [20:52] <JonathanNeal> I had this going for a while http://sandbox.thewikies.com/content-editable/
  819. # [20:52] <AryehGregor> innerHTML? That doesn't return the original HTML either.
  820. # [20:52] <AryehGregor> It returns a serialization of the DOM.
  821. # [20:52] <JonathanNeal> AryehGregor: I read the common ancestor's HTML with innerHTML
  822. # [20:52] * Joins: othermaciej (~mjs@17.246.17.1)
  823. # [20:53] * Quits: othermaciej (~mjs@17.246.17.1) (Remote host closed the connection)
  824. # [20:53] <AryehGregor> Okay, so you don't actually want the original HTML that was given to the browser.
  825. # [20:53] <AryehGregor> (because innerHTML is not that)
  826. # [20:53] * Joins: othermaciej (~mjs@17.203.15.180)
  827. # [20:53] <AryehGregor> There's no API to create partial fragments of HTML like that, with mismatched tags and all.
  828. # [20:53] <JonathanNeal> I see.
  829. # [20:53] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: Leaving)
  830. # [20:54] <AryehGregor> cloneContents() will get you "<em>ox</em> jumps over the lazy <strong>d</strong>", in your example.
  831. # [20:54] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  832. # [20:54] <AryehGregor> JonathanNeal, is that good enough for your purposes?
  833. # [20:55] <JonathanNeal> No, I'm looking for the partial fragment. It's okay, you're made it clear that there is nothing in the API to get this.
  834. # [20:56] <JonathanNeal> When I use the approach I mentioned earlier with the injected anchors, I notice that it messes with the appearance of the selection until I press a key or refocus the window. Lemme see if I can post an example --- I'm not sure if it's a browser bug or a "feature" that is supposed to be happening.
  835. # [20:56] <AryehGregor> Hmm. Is there a way to serialize the HTML of a DocumentFragment?
  836. # [20:57] <JonathanNeal> That would be awesome, though I've been assuming that the fragment was already normalized.
  837. # [20:57] * AryehGregor dumps it into a div
  838. # [20:58] <AryehGregor> If by "normalized" you mean "opening and closing tags are paired up", yes, the DOM is always "normalized".
  839. # [20:58] * Quits: Martijnc (~Martijnc@d54C02C64.access.telenet.be) (Quit: Martijnc)
  840. # [20:58] <AryehGregor> JonathanNeal, see the log at the bottom here: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1005
  841. # [20:58] <AryehGregor> It has the extra opening/closing tags.
  842. # [20:59] <AryehGregor> But you might be able to strip them off more easily than whatever you're doing now.
  843. # [20:59] <AryehGregor> Anyway, feel free to tell me about the injected anchors thing you're talking about.
  844. # [21:00] * Joins: jacobolus (~jacobolus@208-90-212-203.PUBLIC.monkeybrains.net)
  845. # [21:00] * Joins: hij1nx_ (~hij1nx@207.239.107.3)
  846. # [21:01] * Quits: bentruyman (~bentruyma@li159-104.members.linode.com) (Quit: bentruyman)
  847. # [21:02] <JonathanNeal> I'm looking at what you mentioned.
  848. # [21:03] <JonathanNeal> I don't get what I was supposed to learn from the log, I guess.
  849. # [21:04] <Hixie> hsivonen: no current plans to spec those two headers, but if everyone implements them then i guess someone's gonna have to spec them
  850. # [21:04] * Quits: hij1nx (~hij1nx@207.239.107.3) (Ping timeout: 252 seconds)
  851. # [21:04] * hij1nx_ is now known as hij1nx
  852. # [21:04] <AryehGregor> JonathanNeal, the code I gave does what you asked for, just with extra opening tags at the start and closing tags at the end.
  853. # [21:04] <AryehGregor> You should be able to use that code and strip the leading/trailing tags you don't want much more easily than trying to parse innerHTML or whatnot.
  854. # [21:05] <AryehGregor> (I'm still not sure why you want such fragments; I suspect you don't)
  855. # [21:06] <JonathanNeal> Well, I want to write a WYSIWYG editor that inspects the HTML more like selectionStart for a textarea.
  856. # [21:07] <AryehGregor> As opposed to using the DOM? Why?
  857. # [21:07] <AryehGregor> It might look simpler, but it will cause all sorts of headaches if you try fiddling with innerHTML instead of the DOM.
  858. # [21:07] <JonathanNeal> Well, look at the example @ http://sandbox.thewikies.com/content-editable/ and use some of the buttons. It's just an idea.
  859. # [21:09] <AryehGregor> So when you do "bold source selection" it just sticks <b> at the start point and </b> at the endpoint in the HTML source.
  860. # [21:09] * Joins: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net)
  861. # [21:09] <AryehGregor> That's going to have unpredictable results.
  862. # [21:09] <JonathanNeal> AryehGregor: yea, and I understand how big of a problem that might be.
  863. # [21:09] <AryehGregor> Well, as long as you realize.
  864. # [21:10] <JonathanNeal> I do realize, and I was thinking of creating fake ranges and taking advantage of that "normalizing" to generate the proper HTML.
  865. # [21:10] <Hixie> what's that law about how the more groups you have working on technologies the more the techs are going to have friction points?
  866. # [21:11] <Ms2ger> Hixie's Law?
  867. # [21:11] <Hixie> no someone else came up with it
  868. # [21:11] <Hixie> hsivonen quotes it often
  869. # [21:12] <hober> Conway's Law?
  870. # [21:12] <JonathanNeal> AryehGregor: here's the weird selection "bug" I've been seeing @ http://sandbox.thewikies.com/selection/
  871. # [21:12] <Hixie> conway! thanks
  872. # [21:13] <AryehGregor> JonathanNeal, I'm not seeing anything. Do I need to do something special? What browser are you using?
  873. # [21:13] <JonathanNeal> Select "ick brown fox jumps over the la" and it will suddenly change the selection to look like you selected something different, like " jumps over the la"
  874. # [21:13] <JonathanNeal> Firefox 4.
  875. # [21:13] * Quits: Jackneill (~root@unaffiliated/jackneill) (Remote host closed the connection)
  876. # [21:13] <hsivonen> Hixie: the good thing is the X-Content-Security-Policy already has a spec
  877. # [21:13] <JonathanNeal> Yea, it must be a Firefox bug.]
  878. # [21:13] <hsivonen> Hixie: X-Frame-Options might have some near-spec-worthy docs
  879. # [21:13] <AryehGregor> I suspect I know what's happening. Just a sec.
  880. # [21:14] <AryehGregor> JonathanNeal, you're doing splitText() implicitly here somewhere, probably by calling insertNode().
  881. # [21:14] <AryehGregor> DOM 2 Range mandates the behavior you're seeing.
  882. # [21:14] <Hixie> hsivonen: cool
  883. # [21:15] <AryehGregor> The definition I gave for range mutation follows WebKit, which is smarter about it.
  884. # [21:15] <JonathanNeal> :D Well thanks for using the smart one.
  885. # [21:15] <JonathanNeal> Is there a way to patch Firefox back into happiness and unsplit?
  886. # [21:17] * Quits: maikmerten (~maikmerte@port-92-201-152-46.dynamic.qsc.de) (Remote host closed the connection)
  887. # [21:18] <JonathanNeal> AryehGregor: is there a way I can clone the range to a cloned element?
  888. # [21:18] <AryehGregor> JonathanNeal, what do you mean, clone the range to a cloned element?
  889. # [21:18] <AryehGregor> Here's a more minimal test-case of the effect you're seeing, BTW: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%20%0A%3Cp%3EAbc%3C%2Fp%3E%0A%3Cscript%3E%0AgetSelection().collapse(document.querySelector(%22p%22).firstChild%2C%201)%3B%0AgetSelection().extend(document.querySelector(%22p%22).firstChild%2C%203)%3B%0Adocument.querySelector(%22p%22).firstChild.splitText(2)%3B%0A%3C%2Fscript%3E
  890. # [21:19] <JonathanNeal> `<p>The <em>quick brown f|ox</em> jumps over the lazy <strong>d|og</strong>.</p>` and I clone the common ancestor, and then re-create the range on that clone.
  891. # [21:20] <AryehGregor> No, no simple way to do that.
  892. # [21:20] <AryehGregor> The clone has no relationship to the original nodes.
  893. # [21:20] <JonathanNeal> Yea.
  894. # [21:20] <AryehGregor> You'd have to do it manually, by figuring out the correct start and end points and setting the range to those.
  895. # [21:20] <jgraham> Hixie: Does it sound at all plausible to kill the getters on new HTML*Collections?
  896. # [21:21] <Hixie> i assume you mean the callers
  897. # [21:21] <JonathanNeal> In the content-editable example you saw earlier, I map the way to the selection from the common ancestor and then reverse the mapping to recreate the selection. It's way complicated. I'd rather just inject nodes.
  898. # [21:21] <Hixie> not the fetters
  899. # [21:21] <Hixie> getters
  900. # [21:21] <jgraham> Yeah, callers
  901. # [21:21] <jgraham> Sorry
  902. # [21:21] <Hixie> because killing the getters doesn't sound even remotely plausible :-P
  903. # [21:21] <Hixie> i dunno, don't pages depend on this? IE does it right?
  904. # [21:21] <jgraham> No, that would be stupid and insane :)
  905. # [21:21] <jgraham> IE does it for the ones it implements yeah
  906. # [21:22] <jgraham> I was hoping that at least for the new ones we could do better
  907. # [21:22] <Hixie> well it seems pretty harmless to me, so consistency seems worth it
  908. # [21:22] <jgraham> It would be inconsistent but the best thing would be to never use them anywhere
  909. # [21:22] <JonathanNeal> but injecting nodes makes Firefox hate the selection.
  910. # [21:22] <Hixie> but you know the drill, i'll follow the browsers, basically
  911. # [21:22] <Hixie> so if browsers don't do it, i'll remove it
  912. # [21:22] <jgraham> It's not really harmless, there's a ton of undefined edge cases
  913. # [21:22] <Hixie> oh?
  914. # [21:23] <Hixie> like what?
  915. # [21:23] <Hixie> it's in the spec purely for back compat, it's not an intentional api design, so really the only consideration for me is how it affects implementations
  916. # [21:23] <jgraham> Like if you have callers for multiple types and pass in an object that can be coerced to more than one type
  917. # [21:24] <jgraham> e.g. {valueOf:2, toString:"foo"}
  918. # [21:24] <jgraham> It's not clear which order you should try the callers in
  919. # [21:24] <Hixie> doesn't webidl define that?
  920. # [21:25] <jgraham> No, it leaves it explicitly undefined afaict
  921. # [21:25] <Hixie> surely we need to define that for overloading in general
  922. # [21:25] <jgraham> In this case it is totally differnet underlying functions that get called
  923. # [21:26] * Quits: hij1nx (~hij1nx@207.239.107.3) (Quit: hij1nx)
  924. # [21:26] <jgraham> so it's not like normal overloading where it is one function with multipleargument types
  925. # [21:26] <Hixie> even if it's one function with multiple argument types, the order has to be defines
  926. # [21:26] <Hixie> since |2| and "foo" aren't the same thing
  927. # [21:26] <jgraham> I think it is in that case
  928. # [21:26] * Quits: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1) (Ping timeout: 255 seconds)
  929. # [21:26] <Hixie> oh well why is this different?
  930. # [21:26] <jgraham> But not for the case where it is multiple functions
  931. # [21:26] <Hixie> we should use the same overloading algorithm
  932. # [21:27] <jgraham> It *could* be defined by WebIDL
  933. # [21:27] <jgraham> But in any case it seems sad to keep propogating the bad pattern into new APIs
  934. # [21:28] <jgraham> Where indexing and calling are synonyms
  935. # [21:28] <jgraham> s/indexing/getting properties/
  936. # [21:29] <jgraham> (it also makes QAs sad because they end up having to test everything three times, once for the function one for the index and once for the call)
  937. # [21:29] <JonathanNeal> AryehGregor: thanks so much for your input and help so far.
  938. # [21:29] <jgraham> (which is not such a great argument)
  939. # [21:29] <jgraham> (but still)
  940. # [21:29] <Hixie> well like i said
  941. # [21:30] <Hixie> back compat is the motivation
  942. # [21:30] <AryehGregor> JonathanNeal, no problem.
  943. # [21:30] <jgraham> OK. I doubt I will get any buy-in for not doing this for old APIs (though Gecko doesn't). But for new ones maybe
  944. # [21:31] <Ms2ger> How about you drop support :)
  945. # [21:32] <jgraham> Ms2ger: That's the buy-in I won't get for old APIs :)
  946. # [21:32] <Hixie> jgraham: do file a bug on webidl or html if there are undefined bits though. we shouldn't have undefined stuff.
  947. # [21:32] <Ms2ger> Pff, I've removed enough stuff without waiting or buy-in
  948. # [21:33] <Hixie> jgraham: this one sounds pretty straightforward though
  949. # [21:33] <jgraham> Ms2ger: Well I could probably change the code, but I wouldn't get it through review :)
  950. # [21:33] <Ms2ger> How about you hire sicking? :)
  951. # [21:33] <JonathanNeal> AryehGregor: does getSelection support a reverse selection?
  952. # [21:34] <AryehGregor> JonathanNeal, what do you mean by reverse?
  953. # [21:34] <Hixie> what WebIDL type is an interface object?
  954. # [21:34] <Hixie> Object?
  955. # [21:34] <jgraham> Ms2ger: Seems like quite the roundabout solution :)
  956. # [21:34] <JonathanNeal> AryehGregor: where the carest finished at the earlier point.
  957. # [21:34] <JonathanNeal> *caret
  958. # [21:34] <jgraham> Either Object or Function I guess
  959. # [21:34] <jgraham> I don't remember which way that went
  960. # [21:34] <AryehGregor> JonathanNeal, in Firefox and WebKit, yes. In IE9, no.
  961. # [21:35] <AryehGregor> Check whether the focusNode/focusOffset matches the start or end of the first range.
  962. # [21:35] <JonathanNeal> `ipsu|2|m dolar si|1|t` where |1| was the starting point and |2| was the ending point.
  963. # [21:36] <JonathanNeal> Ah, that's good to know that I can check. I tried just saving and restoring a selection, and noticed that it forgot which way it was going.
  964. # [21:36] * Quits: ezoe (~ezoe@61-205-124-213f1.kyt1.eonet.ne.jp) (Ping timeout: 255 seconds)
  965. # [21:37] * Joins: MikeSmith_ (~MikeSmith@EM114-48-184-78.pool.e-mobile.ne.jp)
  966. # [21:38] * Joins: Akilo (~kristof@89-159-215-142.rev.numericable.fr)
  967. # [21:38] * Joins: matijsb (~matijsb@5353CD69.cm-6-4d.dynamic.ziggo.nl)
  968. # [21:39] <JonathanNeal> Oi, I hope it's not a lot of code just to check which way my selection is going.
  969. # [21:40] * Quits: MikeSmith (~MikeSmith@EM111-188-37-103.pool.e-mobile.ne.jp) (Ping timeout: 246 seconds)
  970. # [21:40] * Quits: MikeSmith_ (~MikeSmith@EM114-48-184-78.pool.e-mobile.ne.jp) (Read error: Connection reset by peer)
  971. # [21:40] * Joins: MikeSmith (~MikeSmith@EM114-48-184-78.pool.e-mobile.ne.jp)
  972. # [21:47] <JonathanNeal> I guess it is as easy as `ltr = selection.anchorNode == selectionRange.startContainer && selection.anchorOffset == selectionRange.startOffset;`
  973. # [21:55] * Quits: oknoway (~oknoway@173-8-201-137-Oregon.hfc.comcastbusiness.net) (Quit: oknoway)
  974. # [21:58] * Joins: stevela_ (~stevela@74.125.59.1)
  975. # [22:00] * Joins: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1)
  976. # [22:02] * Joins: zdobersek1 (~zan@90.157.247.80)
  977. # [22:02] <kling> Ms2ger: ping, did you take over the canvas test suite?
  978. # [22:02] <Ms2ger> Still Philip`
  979. # [22:02] <kling> righto :)
  980. # [22:03] <Ms2ger> Anything in particular?
  981. # [22:03] * Quits: CvP (CvP@180.234.104.105) (Quit: [ UPP ] > all)
  982. # [22:03] * Quits: zdobersek (~zan@cpe-46-164-27-101.dynamic.amis.net) (Ping timeout: 240 seconds)
  983. # [22:04] <kling> Ms2ger: was wondering about createPattern tests wrt TYPE_MISMATCH_ERR, IIUC there's a conflict between WebIDL and HTML5, in that no overload should match, leading to TypeError
  984. # [22:05] <kling> Ms2ger: when passing a string or null as the first argument to createPattern()
  985. # [22:05] <Ms2ger> Which test?
  986. # [22:06] <kling> Ms2ger: 2d.pattern.image.null.html
  987. # [22:08] * Quits: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl) (Quit: kor)
  988. # [22:08] <kling> Ms2ger: nevermind the string part, i see philip already fixed that in 56:465ada6e6262, so just null :)
  989. # [22:09] <Ms2ger> Actually, WebIDL just changed, and we do want a TypeError there
  990. # [22:09] <Ms2ger> Care to file a bug?
  991. # [22:09] <kling> Ms2ger: sure. for html5, you mean?
  992. # [22:10] <Ms2ger> On the test suite
  993. # [22:10] <kling> Ms2ger: TYPE_MISMATCH_ERR is explicitly specified in html5, though. that's the confusing part
  994. # [22:10] <Hixie> i can change the html spec if it's wrong
  995. # [22:11] <Ms2ger> Hixie, that's the bug you called the definition of not urgent :)
  996. # [22:11] <kling> :D
  997. # [22:11] <Hixie> yeah i was about to say, looks like the only problem is that you want null to throw TypeError instead of TYPE_MISMATCH_ERR
  998. # [22:11] <Hixie> right now the spec that's wrong is webidl :-P
  999. # [22:11] <Hixie> because it changed the meaning of all the idl in the html spec :-P
  1000. # [22:12] <Hixie> you should assume every single object type in idls in HTML has a "?" after it until webidl is fixed
  1001. # [22:12] <Ms2ger> That's what you get for normatively referencing unstable drafts :)
  1002. # [22:13] <Hixie> ain't no such thing as a "stable" draft
  1003. # [22:13] <Hixie> q.v. SVG referencing CSS2 REC
  1004. # [22:13] <kling> where is the webidl version control? :$
  1005. # [22:13] <Ms2ger> dev.w3.org
  1006. # [22:14] <kling> righto. i'll file a bug for the test suite, then. thank you gentlemen
  1007. # [22:14] * Quits: matijsb (~matijsb@5353CD69.cm-6-4d.dynamic.ziggo.nl) (Quit: Leaving.)
  1008. # [22:17] <Hixie> does IE support ArrayBuffer?
  1009. # [22:18] <Hixie> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1007 - Chrome/Mac gives me 0:0:192:255, Firefox/Mac gives me 0:0:192:127
  1010. # [22:18] <hsivonen> Hixie: btw, if ArrayBuffers are de facto becoming little-endian, wy annoy people by making Web Socket ArrayBuffers big endian?
  1011. # [22:18] <Hixie> can anyone find any other results?
  1012. # [22:19] <Hixie> hsivonen: websocket data comes from the network, which is big endian
  1013. # [22:19] <Hixie> hsivonen: also, arraybuffers aren't defacto little endian, they're whatever the platform gpu uses
  1014. # [22:19] <hsivonen> Hixie: not if the other end sends little-endian
  1015. # [22:19] <Hixie> hsivonen: so big endian on arm, little endian on intel
  1016. # [22:19] <Hixie> as i understand it
  1017. # [22:19] <hsivonen> Hixie: I thought ARM was little-endian as well
  1018. # [22:20] <Hixie> it's configurable
  1019. # [22:20] <Hixie> but as i understand it it is usually big-endian
  1020. # [22:20] <Hixie> i could be wrong
  1021. # [22:20] <AryehGregor> ARM is usually little-endian, AFAIK.
  1022. # [22:20] <Hixie> in any case, the webgl api only works if it matches the gpu
  1023. # [22:20] <AryehGregor> I remember looking it up once and finding out that the iPhone is little-endian.
  1024. # [22:20] <AryehGregor> Also, a while back someone here said that ARM is de facto little-endian these days.
  1025. # [22:21] <Hixie> (the test above has nothing to do with endianness, btw)
  1026. # [22:22] <hsivonen> Hixie: I believe Maemo on ARM is little-endian
  1027. # [22:22] <hsivonen> Hixie: I'd be very surprised if Android was big-endian
  1028. # [22:22] <zewt> ... websocket data is big-endian? why? heh
  1029. # [22:22] <Hixie> i would assume android is endianness-neutral
  1030. # [22:22] * Quits: Akilo (~kristof@89-159-215-142.rev.numericable.fr) (Ping timeout: 240 seconds)
  1031. # [22:22] <zewt> tcp headers, yeah, but payloads?
  1032. # [22:23] <zewt> (sorry, not familiar with the websocket protocol)
  1033. # [22:23] <Hixie> zewt: everything over the network is big-endian by convention. in practice it's up to the author, obviously
  1034. # [22:23] <zewt> low-level network stack headers are big-endian by convention; i've never seen any such convention for anything higher up the stack
  1035. # [22:24] <AryehGregor> Hixie, is that still the case if we restrict ourselves to things visible to web authors?
  1036. # [22:24] <AryehGregor> As opposed to implementers?
  1037. # [22:24] <zewt> granted, most higher-level, standard protocols aren't binary protocols, so the sample set is smaller
  1038. # [22:24] <Hixie> AryehGregor: not sure what you mean
  1039. # [22:25] <AryehGregor> Hixie, I mean, for our purposes it doesn't matter if TCP headers are big- or little-endian, say. Because we're talking about something visible to web authors, and web authors don't get direct access to TCP headers, so those don't affect their expectations.
  1040. # [22:25] <Hixie> oh this is all moot anyway, it seems. The typed array spec lets the author pick the endianess when using DataView.
  1041. # [22:25] <zewt> i think people have android running on MIPS, so i imagine android the platform can go either way
  1042. # [22:25] <Hixie> AryehGregor: i don't think i've mentioned tcp headers
  1043. # [22:26] * Joins: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447)
  1044. # [22:26] <AryehGregor> What do you mean by "everything over the network"?
  1045. # [22:26] * Philip` wonders how many CPU cycles the world has wasted by having every x86 CPU do loads of ntohl calls for every network packet
  1046. # [22:27] <zewt> heh i was just thinking the same thing (and concluded: probably not much, at least in recent times)
  1047. # [22:28] <Hixie> AryehGregor: it seems pretty self-explanatory?
  1048. # [22:28] <AryehGregor> Not really?
  1049. # [22:29] <Hixie> which part is confusing? everything, or network?
  1050. # [22:29] * Joins: robreact (~chatzilla@smtp1bos2.globalmediaxchange.com)
  1051. # [22:30] <AryehGregor> I mean, people can send whatever they want over the network. If I send a file over HTTP whose format specifies that it's little-endian, it doesn't get transformed to big-endian and then back when I send it.
  1052. # [22:30] <Hixie> sure
  1053. # [22:30] <AryehGregor> So I guess I want to know what "everything" is supposed to mean, yeah.
  1054. # [22:30] <AryehGregor> Since it apparently doesn't actually mean "everything".
  1055. # [22:30] <hsivonen> Hixie: you could avoid endianness altogether in the API by giving people ArrayBuffers of bytes
  1056. # [22:30] <Hixie> i mean that the convention is that binary network protocols use big-endianness regardless of the endianness of the platforms involved.
  1057. # [22:30] <hsivonen> and making it the app programmer's problem to convert the bytes to wider types
  1058. # [22:30] <Hixie> hsivonen: that's not how ArrayBuffer works
  1059. # [22:31] <hsivonen> Hixie: how do they work? why would a buffer of bytes have endianness?
  1060. # [22:31] <Hixie> hsivonen: ArrayBuffer is opaque
  1061. # [22:31] <Hixie> hsivonen: you then create readers of different widths from the ArrayBuffer
  1062. # [22:32] <AryehGregor> Hixie, okay, but web authors aren't exposed to that convention, right? So shouldn't we be going for whatever will make the most sense for authors, even if that violates some convention?
  1063. # [22:32] <AryehGregor> And if there are some things that we already expose to authors that are the same endianness as the CPU, that means de facto little-endian, so we should stick to little-endian.
  1064. # [22:33] <jgraham> Before gsnedders points it out I will point out that ARM is almost always LE but can theoretially be either and MIPS os almost always BE but can theoretically be either
  1065. # [22:33] <AryehGregor> Or is this endianness not directly exposed to authors?
  1066. # [22:33] * AryehGregor isn't quite sure what's being discussed . . .
  1067. # [22:33] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
  1068. # [22:33] * Quits: JonathanNeal (~Jonathan@rrcs-76-79-114-213.west.biz.rr.com) (Quit: Leaving.)
  1069. # [22:34] <Hixie> AryehGregor: right now, the typed array spec, when used to read a wide integer from an ArrayBuffer, uses the platform convention for endianness. This obviously is a non-starter on a platform-neutral metaplatform like the web, since it would mean that if you happened to be on a system that didn't match the author's test system, your data would be corrupted.
  1070. # [22:35] <AryehGregor> Right.
  1071. # [22:36] <jgraham> Hixie: I personally expect that problem to be solved by everyone converging on LE hardware
  1072. # [22:36] <Philip`> Looks like internet traffic is roughly 30EB/month, and if each of those is a 1500 byte packet and it takes (wild guess) a hundred x86 CPU cycles to do all the byte flipping on send/receive for all the layers of protocols, that's like 400 CPU-months per month
  1073. # [22:36] <Philip`> which I suppose isn't that bad
  1074. # [22:36] <zewt> i'd say it's closer to zero CPU cycles--when you take into account modern CPU pipelining and so on
  1075. # [22:36] * Joins: Akilo (~kristof@89-159-215-142.rev.numericable.fr)
  1076. # [22:37] <Hixie> lunch, bbl
  1077. # [22:38] <jgraham> (and people that don't use LE hardware will have to be careful to fake it to look like they are which will be slow so there will be a good incentive for convergence)
  1078. # [22:39] <zewt> personally I'm happy if big-endian people get to waste lots of time, because right now we're all wasting our time bending over backwards making things work for them, the needlessly incompatible rare variant
  1079. # [22:39] <zewt> if they won't get along with the rest of the civilized world, let them figure out how to deal with it. heh
  1080. # [22:40] * Quits: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447) (Quit: tantek)
  1081. # [22:40] <gsnedders> jgraham: MIPS is mostly LE nowadays, apart from products from one major vendor, AFAIK
  1082. # [22:42] * Philip` wonders what happened to Blefuscu in the end, and whether it provides useful insight into resolving these problems
  1083. # [22:43] <gsnedders> Itanium is almost all LE, PPC (and hence also POWER nowadays) is almost all BE
  1084. # [22:43] * heycam|away is now known as heycam
  1085. # [22:44] <gsnedders> SuperH I have no idea about in actual usage — it is almost bi-endian
  1086. # [22:45] * Quits: Akilo (~kristof@89-159-215-142.rev.numericable.fr) (Ping timeout: 258 seconds)
  1087. # [22:46] * Joins: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c)
  1088. # [22:49] * Joins: vfaronov (~vasiliy@89.31.94.44)
  1089. # [22:49] * Joins: JonathanNeal (~Jonathan@76.89.240.7)
  1090. # [22:50] * Quits: zdobersek1 (~zan@90.157.247.80) (Quit: Leaving.)
  1091. # [22:53] * Quits: JonathanNeal (~Jonathan@76.89.240.7) (Client Quit)
  1092. # [23:02] * Joins: zcorpan (~zcorpan@c-8798e355.410-6-64736c14.cust.bredbandsbolaget.se)
  1093. # [23:03] * Quits: miketaylr (~miketaylr@206.217.92.186) (Quit: miketaylr)
  1094. # [23:08] * Parts: demet8 (~demet8@7.186.8.67.cfl.res.rr.com)
  1095. # [23:10] * Joins: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz)
  1096. # [23:10] * Quits: matjas (~matjas@134.246-242-81.adsl-dyn.isp.belgacom.be) (Quit: Computer has gone to sleep.)
  1097. # [23:12] * Quits: robreact (~chatzilla@smtp1bos2.globalmediaxchange.com) (Ping timeout: 252 seconds)
  1098. # [23:12] * Quits: msucan (~robod@92.86.247.27) (Quit: .)
  1099. # [23:13] * Quits: simplicity- (~simpli@unaffiliated/simplicity-) (Quit: simplicity-)
  1100. # [23:15] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  1101. # [23:16] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  1102. # [23:22] * Quits: nw` (eero@heaven.unlink.org) (Read error: Operation timed out)
  1103. # [23:22] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  1104. # [23:23] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  1105. # [23:24] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1106. # [23:25] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1107. # [23:26] * Joins: smaug____ (~chatzilla@cs181139127.pp.htv.fi)
  1108. # [23:26] * Joins: tantek (~tantek@2620:101:8003:200:5a55:caff:fef3:c447)
  1109. # [23:28] * Joins: nessy (~Adium@124-168-8-33.dyn.iinet.net.au)
  1110. # [23:29] * Joins: stefan-_ (~music@trir-4d0d9290.pool.mediaWays.net)
  1111. # [23:30] * Quits: Ms2ger (~Ms2ger@91.181.47.87) (Quit: nn)
  1112. # [23:42] * Quits: boaz_ (~boaz@75-150-66-249-NewEngland.hfc.comcastbusiness.net) (Quit: boaz_)
  1113. # [23:42] * jer|afk is now known as jernoble
  1114. # [23:45] * Quits: vfaronov (~vasiliy@89.31.94.44)
  1115. # [23:49] * Joins: nw` (eero@heaven.unlink.org)
  1116. # [23:50] * Joins: abarth (~abarth@nat/google/x-fgfvhnrtcicyszpw)
  1117. # [23:50] <abarth> Hixie: quick question: are you sure HTMLImageElement::crossOrigin should have a capitalized "O" ?
  1118. # [23:51] <abarth> http://www.whatwg.org/specs/web-apps/current-work/#the-img-element
  1119. # [23:51] <TabAtkins> I suspect that's a legacy of when it was called cross-origin.
  1120. # [23:51] * Quits: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl) (Read error: Connection reset by peer)
  1121. # [23:51] <abarth> its consistent iwth useMap and isMap
  1122. # [23:51] <abarth> but seems slightly odd
  1123. # [23:51] <abarth> https://bugs.webkit.org/show_bug.cgi?id=61015
  1124. # [23:51] * Joins: Necrathex (~nectop@dhcp-077-249-098-024.chello.nl)
  1125. # [23:51] <abarth> now's the time to fix it if he wants it changed :)
  1126. # [23:55] * Quits: Smylers1 (~smylers@host109-157-249-110.range109-157.btcentralplus.com) (Quit: Leaving.)
  1127. # [23:56] * zcorpan notes it's also consistent with formNoValidate
  1128. # [23:57] <abarth> ok
  1129. # [23:57] <abarth> then it's probably right
  1130. # [23:57] <abarth> sorry for the noise
  1131. # [23:58] * Joins: othermaciej_ (~mjs@17.246.17.73)
  1132. # [23:59] * Joins: hij1nx (~hij1nx@cpe-66-65-124-111.nyc.res.rr.com)
  1133. # Session Close: Thu May 26 00:00:00 2011

The end :)