/irc-logs / freenode / #whatwg / 2010-07-15 / end

Options:

  1. # Session Start: Thu Jul 15 00:00:00 2010
  2. # Session Ident: #whatwg
  3. # [00:00] <eseidel> Hixie: I'm not sure I understand
  4. # [00:00] <Hixie> which bit?
  5. # [00:00] <eseidel> once you've create a text node, it can't be using parser buffers
  6. # [00:00] <eseidel> you might have to make the text node's buffers bigger if you append to it, yes.
  7. # [00:01] <eseidel> Hixie: I mena, there are some nice things about the way the spec is worded. prevnets strange things when scripts start inserting text nodes
  8. # [00:01] <eseidel> it won't be hard to implement
  9. # [00:01] <eseidel> Hixie: just noting that both WK and minefield fail that example atm
  10. # [00:01] <eseidel> Hixie: but I'm not against implementing it that way
  11. # [00:01] <Hixie> ah ok
  12. # [00:01] <Hixie> i misunderstood, sorry :-)
  13. # [00:02] <Hixie> usually when people tell me the browsers don't match the spec it's a passive aggressive way of telling me the spec is wrong :-)
  14. # [00:02] * Joins: abarth (~abarth@c-98-210-108-185.hsd1.ca.comcast.net)
  15. # [00:02] <abarth> svn.whatwg.org is slow...
  16. # [00:03] <abarth> soon i will have my own clone of the HTML5 repo and there will be no stopping me :)
  17. # [00:06] <Hixie> who is eric@webkit.org? is that eseidel?
  18. # [00:07] * Quits: f1lt3r (~f1lt3r@64.119.159.231) (Read error: Connection reset by peer)
  19. # [00:08] <jgraham> I thought hsivonen was one of the people asking for the multiple-test-nodes thing before
  20. # [00:08] <jgraham> But I could be wrong. I recall having a conversation with Philip` about it
  21. # [00:08] <abarth> Hixie: yes
  22. # [00:08] <eseidel> Hixie: there can be only one!
  23. # [00:09] <abarth> we're looking at the details of text node coalessing
  24. # [00:09] <abarth> looks like the new Firefox doesn't quite follow the spec
  25. # [00:09] <abarth> in crazy foster parenting cases
  26. # [00:09] <Hixie> eseidel: i couldn't understand one of your bugs, so i marked it NEEDSINFO
  27. # [00:10] <zcorpan_> eseidel: try the zombie dom viewer for ie
  28. # [00:10] <Hixie> eseidel, abarth, hsivonen, zcorpan_, jgraham: I've resolved every parser bug I could find and every bug marked P1/crit; if I missed any please mark them P1/crit and let me know
  29. # [00:11] <abarth> Hixie: thanks. that's super helpful
  30. # [00:11] <Hixie> np
  31. # [00:11] <Hixie> sorry it took so long
  32. # [00:11] <jgraham> Hixie: Awesome
  33. # [00:11] <abarth> Hixie: did you look at the script@onload bug after you closed it?
  34. # [00:11] <abarth> Hixie: i'm not sure whether i'm misunderstanding the spec or whether your rationale is backwards
  35. # [00:12] <abarth> http://www.w3.org/Bugs/Public/show_bug.cgi?id=9984
  36. # [00:12] <jgraham> I verified that the end tag in foreign content fixes worked the way I expected in the html5lib test cases
  37. # [00:12] <jgraham> I mean I verified that html5lib with the new spec passed the tests
  38. # [00:13] <Hixie> jgraham: cool, i wasn't sure if what i did there made sense, thanks
  39. # [00:13] <Hixie> abarth: looking
  40. # [00:13] <jgraham> Hixie: Did hsivonen file a bug about <button>? I forget
  41. # [00:13] <Hixie> didn't see one
  42. # [00:13] <jgraham> Hixie: I think it was more-or-less equivalent to my ad-hoc fixes, but expressed in a slightly simpler way
  43. # [00:14] <jgraham> Hixie: The list of bugs that I know about is http://wiki.whatwg.org/index.php?title=ParserIssues
  44. # [00:14] <Hixie> abarth: hm, no, you're right, i forgot how the spec was written
  45. # [00:14] <Hixie> abarth: i don't understand the bug then
  46. # [00:14] <Hixie> abarth: what do you want changed?
  47. # [00:14] <Hixie> jgraham: looking...
  48. # [00:15] <jgraham> Hixie: It seems that you did change <button> somewhat
  49. # [00:15] * Quits: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0) (Ping timeout: 248 seconds)
  50. # [00:15] <Hixie> abarth: (btw feel free to reopen bugs -- i don't see changes unless the bug is reopened)
  51. # [00:15] <Hixie> jgraham: all those bugs are resolved
  52. # [00:15] <abarth> Hixie: it's a place where FF and the spec are different. i don't particularly care about the behavior, but we either need to change the spec or get henri to agree to do what the spec says
  53. # [00:16] <Hixie> jgraham: and the e-mail had a bug for it too so that's dealt with now also
  54. # [00:16] <Hixie> abarth: ah ok
  55. # [00:16] <abarth> there's some subtly involving the requirements of an off-the-main-thread parser, which I don't quite grasp
  56. # [00:17] <Hixie> i'm not sure how we would change things to have it happen the other way around to be honest, looking at the spec more closely now
  57. # [00:18] <Hixie> short of just making the insertion pointer or whatever it's called undefined just for the event
  58. # [00:19] <abarth> ok
  59. # [00:20] <abarth> in the code, it's just a matter of switching the order of two lines of code
  60. # [00:20] <abarth> so we can do whichever
  61. # [00:20] <daedb_> heh, IE9 is really funny... <!doctype html><canvas></canvas> puts the canvas inside the body, but <!doctype html><style></style><canvas></canvas> puts canvas inside the head :)
  62. # [00:20] <abarth> Hixie: one more thing: https://bugs.webkit.org/show_bug.cgi?id=42112
  63. # [00:20] <jgraham> abarth: Thanks for the reply about the cross-domain stuff. That looks like exactly what I was hoping for :)
  64. # [00:20] <AryehGregor> daedb_, yeah . . . HTML5 parser plz :(
  65. # [00:20] <abarth> Hixie: ap is worried about the null character's replacements looking ugly
  66. # [00:21] <abarth> Hixie: that bug has a link to some chinese site that looks pretty bad
  67. # [00:21] <cardona507> daedb_: yeah - IE9 is wacky
  68. # [00:21] <daedb_> AryehGregor: I found that with your test case :p
  69. # [00:21] <abarth> jgraham: glad it was helpful
  70. # [00:21] <abarth> Hixie: the old webkit behavior was to strip nulls in text nodes, but not in tag names, etc
  71. # [00:21] <jgraham> abarth: (I haven't actually read it in detail yet)
  72. # [00:23] * Joins: sicking (~chatzilla@nat/mozilla/x-qwgktgcwelwohzzh)
  73. # [00:24] <sicking> if I change something in browser/components/feeds , where do I need to rebuild to pick that up?
  74. # [00:24] <abarth> sicking: wrong channel?
  75. # [00:24] <sicking> abarth: hah, yes indeed :)
  76. # [00:24] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  77. # [00:25] <sicking> chatzilla doesn't have optimal focus management :)
  78. # [00:25] * Joins: aho (~nya@fuld-4d00d22e.pool.mediaWays.net)
  79. # [00:27] <Hixie> abarth: yeah, it's basically intentional
  80. # [00:27] <Hixie> abarth: there shouldn't be NULs there at all and they're likely to be triggering all kinds of security problems
  81. # [00:27] <Hixie> abarth: making it ugly is one way to draw attention to it
  82. # [00:29] <abarth> as brendan would say, i don't have a dog in this hunt. I've forwarded your comments to ap.
  83. # [00:30] <ap> Hixie: I doubt there is actually a security aspect to null handling in DOM
  84. # [00:30] <Hixie> there have been _many_
  85. # [00:30] <ap> Hixie: maybe in 199x
  86. # [00:31] <ap> Hixie: there were more recent "security" issues about stripping nulls from tags, but those were very remotely related to security, in my opinion
  87. # [00:31] <jgraham> Hmm, Opera typically doesn't render past embedded nulls, so we are presumably badly broken with any site that has lots of them
  88. # [00:32] <jgraham> So a link would be appreciated :)
  89. # [00:32] <ap> jgraham: https://bugs.webkit.org/show_bug.cgi?id=42112
  90. # [00:33] * Quits: bobchao (~cctw@112.105.96.241) (Quit: Leaving.)
  91. # [00:33] <ap> Hixie: and by the way, the more recent "security" issues were caused exactly by the attempts to give null some magical meaning, so some software might have potentially gotten it differently than other
  92. # [00:34] <jgraham> abarth: So are the security problems with the "subspace" design considered acceptable because it is too hard to inject code into an unwilling site this way, only one that specifically uses the design?
  93. # [00:34] <zcorpan_> jgraham: opera renders past nulls but not in view source
  94. # [00:35] <abarth> jgraham: the security problems arise from using these document.domain tricks. the recommended course of action is to ignore document.domain and use postMessage instead
  95. # [00:35] <abarth> jgraham: document.domain is very complex and best ignored
  96. # [00:36] <jgraham> abarth: From the point of view of a browser implementor though
  97. # [00:37] <jgraham> Obviously we have to support document.domain
  98. # [00:37] <jgraham> (I agree that *sites* shouldn't use it)
  99. # [00:38] <jgraham> (the rough context is that I want to be sure that implementing the HTML5 spec in Opera won't open up any significant security vunerabilities or privacy leaks or whatever compared to what we currently do)
  100. # [00:39] <jgraham> zcorpan_: Oh.
  101. # [00:39] <abarth> jgraham: yep
  102. # [00:39] <abarth> there's a deeper issue is opera
  103. # [00:39] <abarth> last time i checked
  104. # [00:39] <abarth> opera used dynamic instead of lexical authorization
  105. # [00:39] <abarth> which makes the document.domain attacks easier to pull off
  106. # [00:40] * Quits: JonathanNeal (~JonathanN@76.79.114.210) (Quit: Leaving)
  107. # [00:40] <abarth> HTML5 requires lexical authorization
  108. # [00:40] <abarth> and opera might have switched since i tested it last
  109. # [00:40] * Quits: oal (~oal@5.79-160-122.customer.lyse.net) (Remote host closed the connection)
  110. # [00:40] <abarth> http://www.adambarth.com/papers/2009/barth-jackson-li.pdf
  111. # [00:40] <jgraham> I am not sure I understand the difference
  112. # [00:40] <abarth> Section 2.1
  113. # [00:40] <jgraham> But I will read the paper :)
  114. # [00:41] <abarth> in the spec
  115. # [00:41] <abarth> it's the difference between the active script
  116. # [00:41] <abarth> and the "first script"
  117. # [00:41] <jgraham> Ah
  118. # [00:41] <abarth> if you're able to run the webkit security layout tests
  119. # [00:41] <jgraham> OK. I remember that being "fun"
  120. # [00:41] <abarth> there's a bunch of stuff in there about that
  121. # [00:42] <jgraham> We can probably find a way to run those
  122. # [00:42] <jgraham> and really should be if we are not already
  123. # [00:42] <Hixie> ap: that has not been my experience, but i guess our experiences can differ :-)
  124. # [00:42] <ap> Hixie: can you point me to some bugs caused by null terminated strings used in DOM?
  125. # [00:43] <Hixie> not off-hand
  126. # [00:43] * Quits: aroben (~aroben@unaffiliated/aroben) (Quit: aroben)
  127. # [00:43] <jgraham> abarth: Thanks
  128. # [00:43] * jgraham decides it is time for slep
  129. # [00:43] <jgraham> *sleep
  130. # [00:43] <ap> Hixie: and that wouldn't happen if nulls were inserted via DOM manipulation (nulls are still allowed there, correct?)
  131. # [00:44] * Quits: variable (~variable@unaffiliated/variable) (Ping timeout: 240 seconds)
  132. # [00:44] <Hixie> abarth: "first script" was renamed at some point btw (i forget to what)
  133. # [00:45] <Hixie> ap: most of the kinds of bugs i've seen reently have been with server-side tools treating NULLs differently than browsers, and failing to properly filter content
  134. # [00:45] * Quits: BlurstOfTimes (~blurstoft@168.203.103.106) (Remote host closed the connection)
  135. # [00:45] <Hixie> ap: but NULLs in general are frequently the source of random bugs, and I really would rather never have to worry about it, hence why I always try to write specs to get rid of them as soon as possible
  136. # [00:45] <ap> Hixie: yes, that's the kind I referred to as "security"
  137. # [00:45] * Joins: aroben (~aroben@c-71-58-77-15.hsd1.pa.comcast.net)
  138. # [00:45] * Quits: aroben (~aroben@c-71-58-77-15.hsd1.pa.comcast.net) (Client Quit)
  139. # [00:46] <Hixie> ap: i see no harm in doing so, especially considering how rare NULLs are in "real" content
  140. # [00:46] <ap> Hixie: that's not the first time I say that I disagree with this general principle :)
  141. # [00:46] <Hixie> ap: i know
  142. # [00:47] <ap> Hixie: you may be giving some a false sense of security - they'll write code expecting that the parser gets rid of nulls for them, and then a Dom manipulation will insert a null
  143. # [00:47] <ap> Hixie: also, these new requirements are breaking existing content, and slow down decoding/tokenizing slightly
  144. # [00:47] * Joins: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com)
  145. # [00:48] <Hixie> ap: there are pros and cons on both sides
  146. # [00:48] <Hixie> ap: such is life
  147. # [00:48] <ap> Hixie: I suggest that we don't make changes that are not for the better then
  148. # [00:49] <Hixie> ap: i disagree that it's not for the better.
  149. # [00:49] * Quits: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com) (Remote host closed the connection)
  150. # [00:49] <ap> Hixie: at this point, I struggle to find a use case that's improved by converting nulls to u+fffd
  151. # [00:49] <Hixie> ap: i think it improves security for most users of the HTML parser (who don't have a DOM to worry about), and it doesn't break enough content to be an issue, and the performance impact is minimal.
  152. # [00:50] <Hixie> ap: but as you say, we've had this discussion before
  153. # [00:50] <Hixie> ap: we're not covering new ground here
  154. # [00:50] <ap> Hixie: ah, the eternal "HTML is not for browsers" argument
  155. # [00:50] <ap> Hixie: well, previously we were talking about new specs, not about changing HTML in incompatible ways
  156. # [00:50] <Hixie> if you're just going to misrepresent what i'm arguing then there's not much point me arguing
  157. # [00:51] <ap> Hixie: I didn't intend to misinterpret. did I misunderstand you?
  158. # [00:51] <Hixie> i didn't say HTML was not for browsers
  159. # [00:52] <ap> Hixie: well, you said that most users of HTML parser don't have the DOM to worry about
  160. # [00:52] <Hixie> indeed
  161. # [00:52] <Hixie> only five users of the HTML parser have a DOM to worry about
  162. # [00:52] <Hixie> out of all the people who parse HTML, that's not the majority
  163. # [00:52] <Hixie> it also happens to the be most competent at writing and using HTML arasers
  164. # [00:52] <Hixie> parsers, even
  165. # [00:53] <Hixie> and thus not the most important when it comes to making sure that it's easy to not screw up
  166. # [00:53] <Hixie> s/to the be/to be the/
  167. # [00:53] <ap> Hixie: it seems to be the primary target of security attacks though
  168. # [00:53] <ap> Hixie: btw, my understanding is that some Web spiders are now interpreting JS already - is that not true?
  169. # [00:54] <abarth> ap: that's correct
  170. # [00:55] <Hixie> are you saying that abarth and eseidel are so incompetent that what I do with NULLs in the HTML5 spec will affect the number of security bugs in their code? give me a break
  171. # [00:55] * Quits: eseidel (~eseidel@c-98-210-108-185.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
  172. # [00:55] <abarth> ap: they tend to take a browser and hack it up to get it to crawl nicely
  173. # [00:55] * Joins: eseidel (~eseidel@c-98-210-108-185.hsd1.ca.comcast.net)
  174. # [00:57] <ap> Hixie: it sounds like the only case that's helped by this change is code that incorporates a full HTML5 tokenizer, and then does something truly naive with it
  175. # [00:57] <ap> Hixie: since otherwise, they will happily convert null to null, not knowing that there is a spec saying it should be turned into FFFD
  176. # [00:57] <Hixie> you've just described a large portion of future HTML parsing software
  177. # [00:59] <ap> Hixie: are you saying that it will be easier to incorporate an HTML5 library than to use whatever scripting language mechanism there is to convert a result of a curl/wget download to a native string?
  178. # [01:00] <Hixie> do you think that's what i'm saying?
  179. # [01:00] <ap> Hixie: yes
  180. # [01:00] <Hixie> could you please at least assume i'm not an idiot?
  181. # [01:00] <Hixie> seriously
  182. # [01:01] <ap> Hixie: you're probably moving too fast for me to follow
  183. # [01:01] <Hixie> it will obviously not be easier to wget a file, turn it into a string, and then pass it to a parser than it will be to wget a file, and turn it into a string.
  184. # [01:02] <ap> Hixie: you said that a "large portion of future HTML parsing software" will do something, and I'm trying to imagine how I would write a piece of software that would fit the picture
  185. # [01:02] <Hixie> to parse HTML, you can either hack it using regexps, or you can use an HTML parser
  186. # [01:02] <Hixie> few people will write their own HTML parsers, since it's a non-trivial task
  187. # [01:03] <ap> Hixie: yes, if the software doesn't need a DOM, they'll probably just regex parts of wget output
  188. # [01:03] <Hixie> there's nothing we can ever do to make regexp parsers do anything, since they ignore the spec by definition
  189. # [01:03] <Hixie> so all we can affect are the people using the libraries, which presumably follow the spec
  190. # [01:03] <ap> Hixie: and if there is a DOM, they can shoot themselves in the foot even if they don't execute JS from the documents
  191. # [01:04] <Hixie> dude, they can shoot themselves in the foot without any help from us
  192. # [01:04] <Hixie> the idea is to reduce the likelihood of that
  193. # [01:04] <Hixie> we can never make it impossible
  194. # [01:04] <ap> Hixie: what I'm saying is that it's not reducing the likelihood, but giving a false expectation
  195. # [01:04] <Hixie> and i disagree
  196. # [01:04] <Hixie> i don't think it's giving anyone any expectation
  197. # [01:05] <Hixie> since these people aren't going to know about this at all
  198. # [01:05] <Hixie> anyway i really have to do work
  199. # [01:05] * Joins: slartsa_ (~Lari@adsl-215-234-204.kymp.net)
  200. # [01:05] <Hixie> if you want this changed, please file a bug or send mail
  201. # [01:07] <ap> there is a WebKit bug, that's my form of feedback
  202. # [01:08] * Quits: slartsa (~Lari@adsl-215-234-204.kymp.net) (Ping timeout: 240 seconds)
  203. # [01:09] * Quits: KaOSoFt (~maxzagato@unaffiliated/kaosoft)
  204. # [01:12] * Quits: zcorpan_ (~zcorpan@c-d798e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan_)
  205. # [01:12] * Joins: cfq (~cfq@94-194-98-91.zone8.bethere.co.uk)
  206. # [01:15] * Quits: cardona507 (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net) (Quit: zzzzz)
  207. # [01:18] * Joins: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0)
  208. # [01:18] * Joins: mmn (~mmn@129-97-120-104.uwaterloo.ca)
  209. # [01:22] * Quits: eseidel (~eseidel@c-98-210-108-185.hsd1.ca.comcast.net) (Quit: eseidel)
  210. # [01:23] * Joins: karlcow (~karl@nerval.la-grange.net)
  211. # [01:26] <TabAtkins> AryehGregor: I have now violently disagreed with you publicly.
  212. # [01:26] <TabAtkins> After consulting with Chrome team. ^_^
  213. # [01:28] <TabAtkins> The main problem is that a true gaussian simply isn't fast enough, and Safari has seen negative effects from trying to use one for all shadows.
  214. # [01:37] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  215. # [01:45] <AryehGregor> TabAtkins, rest assured you will see a violent response in return, likely tomorrow.
  216. # [01:45] * Joins: mpt (~mpt@canonical/mpt)
  217. # [01:45] * Quits: mpt (~mpt@canonical/mpt) (Read error: Connection reset by peer)
  218. # [01:46] <TabAtkins> Ok. I'm basing my position on feedback from our graphics people (smfr, who you talked to as well, plus jamesr and a newer dude who previous worked on game graphics), so I think I'm on pretty solid ground wrt the "gaussians are too expensive" argument.
  219. # [01:47] <AryehGregor> Then how does everyone (3/3 tested on two platforms) do them interoperably in SVG filters? Aren't those applied just as often as CSS shadows?
  220. # [01:47] <TabAtkins> Slowly, that's how. And no, they're not.
  221. # [01:47] <AryehGregor> Why not?
  222. # [01:48] <TabAtkins> Why aren't SVG shadows applied as often as CSS shadows? I dunno.
  223. # [01:48] <AryehGregor> In Firefox you can even apply SVG filters to HTML content.
  224. # [01:48] <TabAtkins> Yes?
  225. # [01:48] <AryehGregor> Well, anyway, the spec should at least give a pixel-perfect reference shadow, and tell browsers "try to get close to that", so at least they're shooting at the same target.
  226. # [01:49] <AryehGregor> Hixie, do you think it would be worth it at this point to change the meaning of canvas.shadowBlur to something sane, instead of the weird kink at 8? My testing indicates that browsers aren't interoperable here at all, so authors can't be relying too much on the current behavior. If the answer is "no" then I'll close the HTML bug I filed and file some bugs against browsers that don't do it right (Firefox/Chrome).
  227. # [01:49] <TabAtkins> I'm fine with providing an informative reference.
  228. # [01:49] * Joins: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  229. # [01:50] <AryehGregor> Also, if Gaussian blurs really are too slow here, surely that needs to be changed in SVG too, especially if SVG filters are allowed for HTML content.
  230. # [01:50] * Quits: tndH (~Rob@cpc5-seac20-2-0-cust2.7-2.cable.virginmedia.com) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.1/2008072406])
  231. # [01:50] <TabAtkins> Perhaps.
  232. # [01:50] <AryehGregor> I assume there's no problem at all with canvas, since you only need to compute the shadow once.
  233. # [01:50] <AryehGregor> (which is why it's ironic that we have so much less interop there than with SVG . . .)
  234. # [01:51] <TabAtkins> Yeah, most likely the slowness is unimportant in <canvas>.
  235. # [01:51] <AryehGregor> I can't see why SVG would be less of a perf problem than CSS, except because people rarely use SVG, which seems likely to change when IE9 becomes widely used.
  236. # [01:51] <TabAtkins> Also, as authors have direct control over their <canvas> stuff, they can choose to do a less expensive shadow manually if they find they need to.
  237. # [01:51] <TabAtkins> I expect that's precisely the reason.
  238. # [01:52] * Joins: boblet (~boblet@p1201-ipbf709osakakita.osaka.ocn.ne.jp)
  239. # [01:52] <TabAtkins> SVG has many things that are bad perf-hits.
  240. # [01:52] <AryehGregor> You're saying authors rolling their own shadow in JavaScript would be cheaper than Gaussian blur? I find that unlikely.
  241. # [01:52] <TabAtkins> AryehGregor: With a sufficiently large shadow? Could be.
  242. # [01:52] <AryehGregor> Maybe CSS has the problem that it can be reflowed, so you might have to reevaluate the shadow many times per second as something moves across the screen or whatnot.
  243. # [01:52] <AryehGregor> Whereas if it's an SVG, this is less likely? I dunno.
  244. # [01:53] <TabAtkins> That is a significatn part of the CSS issue, yes. I dunno what the deal is with SVG, so I can't really comment.
  245. # [01:53] * AryehGregor will seek clarification on the list.
  246. # [01:53] <AryehGregor> (tomorrow)
  247. # [01:54] <TabAtkins> In any case, I still don't have a problem with an impl that can afford to burn the cycles doing a more realistic shadow than gaussian blurs can provide. ^_^
  248. # [01:55] <AryehGregor> What does "more realistic" mean? Like more physically accurate? Is it possible for a normal person to tell if a box shadow is more or less physically accurate?
  249. # [01:55] <TabAtkins> Probably not.
  250. # [01:55] <AryehGregor> Authors are looking for a specific visual style, surely, not physical accuracy.
  251. # [01:55] <AryehGregor> So it doesn't matter so much what it looks like, as long as it's interoperable.
  252. # [01:55] <TabAtkins> But then, a normal person can't tell the difference between a CG shadow and Skia shadow for normal font-sizes and blurs.
  253. # [01:56] <AryehGregor> Are you talking text-shadow or box-shadow? For boxes, I can tell the difference between how Safari and Chrome do canvas shadows on Windows 7 very clearly.
  254. # [01:56] <AryehGregor> They're similar, though.
  255. # [01:56] <AryehGregor> (Firefox is much more different, IIRC)
  256. # [01:56] <TabAtkins> What size, and is it a difference of actual blur radius producing different-sized shadows?
  257. # [01:57] <AryehGregor> Just the example I gave before.
  258. # [01:57] <TabAtkins> Okay, so that's a width of somewhere between 10px and 15px.
  259. # [01:57] <TabAtkins> When I say "normal font-sizes and blurs" I mean smaller than that.
  260. # [01:58] <TabAtkins> shadows on heading text, frex, are usually less than 8px.
  261. # [01:58] <TabAtkins> Often just 2px or 4px, I think.
  262. # [01:58] <AryehGregor> data:text/html,<!doctype html><style>* { margin: 0 }</style><canvas height="300" width="300"></canvas><script>window.addEventListener('load', function () { context = document.getElementsByTagName("canvas")[0].getContext("2d"); context.shadowBlur = 12.5; context.shadowOffsetX = 400; context.shadowOffsetY = 400; context.shadowColor = 'black'; context.fillRect(-300, -300, 100, 100); }, false);</script>
  263. # [01:59] * Joins: yutak_home (~kee@U017209.ppp.dion.ne.jp)
  264. # [01:59] * Joins: ConnorMontgomery (~connormon@cpe-76-92-203-96.kc.res.rr.com)
  265. # [02:00] <AryehGregor> Blur on text-shadows might be less noticeable. I dunno. I'd think that simpler blur effects would make sense where you're working with so few pixels.
  266. # [02:00] <AryehGregor> Anyway, I'm off for the night.
  267. # [02:01] <TabAtkins> That's precisely my point. ^_^ Specifying that we *must* use a gaussian, though, prevents that.
  268. # [02:01] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  269. # [02:02] * Quits: ConnorMontgomery (~connormon@cpe-76-92-203-96.kc.res.rr.com) (Client Quit)
  270. # [02:06] * Joins: apucacao (~apucacao@S010600226b6dbc54.vc.shawcable.net)
  271. # [02:12] * Joins: variable (~variable@unaffiliated/variable)
  272. # [02:15] * Quits: m_W (~mwilcox56@c-68-38-230-216.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
  273. # [02:21] * Quits: deepthawtz (~deepthawt@c-24-130-129-16.hsd1.ca.comcast.net) (Quit: Leaving...)
  274. # [02:22] <Hixie> AryehGregor: i would recommend getting the relevant browser devs together and getting them to implement something, then telling me what they implemented and i'll update the spec
  275. # [02:24] <Philip`> What kind of shadow implementation would be faster than a Gaussian?
  276. # [02:24] <TabAtkins> Lots.
  277. # [02:25] <Philip`> The only thing I can imagine is if you have a sharper falloff so you can use a smaller filter
  278. # [02:25] <TabAtkins> Frex, a downscale+upscale to fuzz details.
  279. # [02:25] <TabAtkins> Or the "just average all the pixels" that I think Skia does.
  280. # [02:34] * Quits: ap (~ap@17.246.17.28) (Quit: ap)
  281. # [02:37] * Joins: miketaylr (~miketaylr@24.42.95.108)
  282. # [02:38] * Joins: seventh (galofort@208.98.1.237)
  283. # [02:39] <Hixie> um
  284. # [02:39] <Hixie> i can't log into the wiki
  285. # [02:39] <Hixie> wtf
  286. # [02:40] <Hixie> AryehGregor!!!! help!!! :-)
  287. # [02:41] <Hixie> i get "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Please hit "back" and reload the page you came from, then try again"
  288. # [02:42] <Hixie> oh, i know why
  289. # [02:42] <Hixie> the /tmp directory is full
  290. # [02:43] <Hixie> variable: you around?
  291. # [02:43] <variable> Hixie, yeah?
  292. # [02:43] <variable> let me clear /tmp
  293. # [02:43] <Hixie> thanks
  294. # [02:43] * Quits: jlebar (~jlebar@nat/mozilla/x-cogdzfnkdsoqspow) (Ping timeout: 240 seconds)
  295. # [02:43] <Hixie> :-)
  296. # [02:43] <variable> Hixie, I just got back from dinner ;)
  297. # [02:44] <Hixie> looks like it's making huge temp files in /tmp and preventing other things on my account from working (like the whatwg wiki)
  298. # [02:44] <Hixie> is there some way to move it to using ~/tmp instead?
  299. # [02:44] <Hixie> that would be ideal
  300. # [02:44] <Hixie> the quota there is far bigger
  301. # [02:44] <variable> Hixie, yeah - I'm looking now
  302. # [02:45] <variable> find: cannot delete ./sess_l4orkhk5sgiish85nqv7dpck27: Operation not permitted
  303. # [02:45] <Hixie> yeah don't worry about the ones you don't own
  304. # [02:45] <Hixie> woohoo, that worked
  305. # [02:45] <Hixie> ok, wiki login is fixed
  306. # [02:46] <TabAtkins> Oh wow, got a totally sweet embossing effect.
  307. # [02:46] * TabAtkins was trying to make the spec's edge-detection example for <canvas> work at a usable speed for live video.
  308. # [02:46] <variable> sorry about leaving it like that - I didn't realise other stuff was broken
  309. # [02:46] <Hixie> variable: no worries, nor did i :-)
  310. # [02:46] <variable> I'm going to back to work on it.
  311. # [02:46] <variable> I'll monitor the wiki while I'm trying to move to ~/tmp
  312. # [02:47] <Hixie> so long as df doesn't say /tmp is at 100% you should be fine
  313. # [02:48] <variable> heh - ok
  314. # [02:48] <variable> I'm thinking this might be *svns* tmp dir and not WebSVN
  315. # [02:49] <Hixie> the files were owned by your user so that's unlikely
  316. # [02:49] <Hixie> it could be the svn client run by websvn
  317. # [02:49] <variable> exactly: websvn runs the svn command using system() IIRC
  318. # [02:49] <Hixie> ah yeah
  319. # [02:49] <Hixie> could totally be that
  320. # [02:50] <Hixie> try changing the TMP variable maybe?
  321. # [02:50] <Hixie> environment variable, i mean
  322. # [02:50] <variable> Hixie, erm - that variable has to be set in the PHP file.
  323. # [02:50] <Hixie> hmm
  324. # [02:51] <variable> if I set TMP in the env. the PHP file won't see it.
  325. # [02:51] * Joins: f1lt3r (~f1lt3r@64.119.159.231)
  326. # [02:52] <Hixie> yeah
  327. # [02:52] <Hixie> i have no idea how to change this
  328. # [02:52] <variable> Hixie, I'm looking now
  329. # [02:53] <variable> /tmp might fill up a few times while I test to see if it worked but I'll fix it
  330. # [02:54] <Hixie> no worries
  331. # [02:55] * Quits: MikeSmith (~MikeSmith@EM114-48-19-245.pool.e-mobile.ne.jp) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
  332. # [02:58] * Quits: Yudai (~Yudai@p034a6d.kngwnt01.ap.so-net.ne.jp) (Quit: SIGTERM received; exit)
  333. # [02:58] * Joins: Yudai (~Yudai@p034a6d.kngwnt01.ap.so-net.ne.jp)
  334. # [03:14] * Joins: titacgs (~titacgs@190.2.33.49)
  335. # [03:17] * Quits: yutak_home (~kee@U017209.ppp.dion.ne.jp) (Quit: Ex-Chat)
  336. # [03:20] * Quits: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  337. # [03:21] * Joins: wakaba_ (~wakaba_@203-140-90-184.eonet.ne.jp)
  338. # [03:21] <titacgs> hi! I'm working on a html5 project which includes sharing the webapp I'm making between users, I was reading about the shared workers but it is not supported by firefox yet
  339. # [03:21] <titacgs> is there a work around for this?
  340. # [03:25] <TabAtkins> Shared Workers aren't meant for sharing computation across users. They're meant for sharing computation (or providing communication) across windows opened by a single user.
  341. # [03:25] <TabAtkins> (By "arent' meant for" I mean "can't be used for".)
  342. # [03:28] <titacgs> mmmmmm
  343. # [03:28] <titacgs> I see
  344. # [03:30] * Joins: cying (~cying@75-25-137-159.lightspeed.plalca.sbcglobal.net)
  345. # [03:30] * Quits: slightlyoff (~slightlyo@nat/google/x-tbtvvgflnzorlbio) (Quit: slightlyoff)
  346. # [03:32] <titacgs> and how can I accomplish this? I mean what tools will help me to share information between users in real time or at least with a small difference of time
  347. # [03:33] * Quits: mmn (~mmn@129-97-120-104.uwaterloo.ca) (Quit: Leaving.)
  348. # [03:36] * Joins: nicktick (debian-tor@gateway/tor-sasl/nicktick)
  349. # [03:40] * Quits: cying (~cying@75-25-137-159.lightspeed.plalca.sbcglobal.net) (Quit: cying)
  350. # [03:40] <Hixie> www.un.org is down.
  351. # [03:41] <Hixie> well, not so much down, as it appears someone deleted all of it.
  352. # [03:42] <variable> WebSVN has absolutely 0 documentation other than the comments in the source code. Great!
  353. # [03:42] <Hixie> nice
  354. # [03:45] * Joins: MikeSmith (~MikeSmith@EM114-48-216-42.pool.e-mobile.ne.jp)
  355. # [03:50] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 246 seconds)
  356. # [03:50] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  357. # [03:55] * Quits: arosenberg (~alexr@sceapdsd43-89.989studios.com) (Quit: arosenberg)
  358. # [03:56] * Quits: dbaron (~dbaron@nat/mozilla/x-qqlkpbsmmoyesfdv) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  359. # [03:59] * Joins: mmn (~mmn@129-97-225-230.uwaterloo.ca)
  360. # [03:59] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  361. # [04:01] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  362. # [04:04] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  363. # [04:07] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  364. # [04:07] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  365. # [04:07] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Client Quit)
  366. # [04:08] * Quits: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0) (Ping timeout: 248 seconds)
  367. # [04:14] * Quits: MikeSmith (~MikeSmith@EM114-48-216-42.pool.e-mobile.ne.jp) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
  368. # [04:14] * Quits: sicking (~chatzilla@nat/mozilla/x-qwgktgcwelwohzzh) (Ping timeout: 246 seconds)
  369. # [04:16] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  370. # [04:20] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  371. # [04:25] * Joins: MikeSmith (~MikeSmith@133.27.228.171)
  372. # [05:18] * Quits: weinig (~weinig@17.246.16.234) (Quit: weinig)
  373. # [05:36] * Quits: miketaylr (~miketaylr@24.42.95.108) (Remote host closed the connection)
  374. # [05:43] * Joins: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net)
  375. # [05:48] * Quits: titacgs (~titacgs@190.2.33.49) (Ping timeout: 264 seconds)
  376. # [05:52] * Joins: cedricv (~cedric@202.152.243.113)
  377. # [06:03] * Joins: yoshiaki (~yoshiaki@133.27.228.172)
  378. # [06:13] * Quits: variable (~variable@unaffiliated/variable) (Ping timeout: 240 seconds)
  379. # [06:19] * Joins: bobchao (~cctw@112.105.96.241)
  380. # [06:23] * Joins: kennyluck (~kennyluck@133.27.228.178)
  381. # [06:23] * Quits: kennyluck (~kennyluck@133.27.228.178) (Excess Flood)
  382. # [06:32] * Joins: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  383. # [06:35] * Quits: nicktick (debian-tor@gateway/tor-sasl/nicktick) (Ping timeout: 245 seconds)
  384. # [06:36] * Joins: dave_levin (~dave_levi@nat/google/x-hfqvfkkktumlkxgv)
  385. # [06:37] * Joins: nicktick (debian-tor@gateway/tor-sasl/nicktick)
  386. # [06:37] * Parts: mmn (~mmn@129-97-225-230.uwaterloo.ca)
  387. # [06:40] * Quits: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net) (Quit: weinig)
  388. # [06:49] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  389. # [06:51] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  390. # [06:59] * Quits: apucacao (~apucacao@S010600226b6dbc54.vc.shawcable.net) (Quit: apucacao)
  391. # [07:08] <boblet> sanity check: Opera doesn’t support linear gradients yet?
  392. # [07:21] <roc> you mean CSS gradients?
  393. # [07:33] * Joins: kennyluck (~kennyluck@133.27.228.178)
  394. # [07:48] * Joins: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net)
  395. # [07:48] * Quits: roc (~roc@203-97-204-82.dsl.clear.net.nz) (Quit: roc)
  396. # [07:51] <boblet> roc: yep
  397. # [07:51] <boblet> doh!
  398. # [07:55] * Quits: nimbupani (~nimbupani@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: nimbupani)
  399. # [07:58] * Quits: yoshiaki (~yoshiaki@133.27.228.172) (Remote host closed the connection)
  400. # [07:59] * Joins: yoshiaki (~yoshiaki@133.27.228.172)
  401. # [08:00] * Quits: MikeSmith (~MikeSmith@133.27.228.171) (Ping timeout: 252 seconds)
  402. # [08:00] * Joins: MikeSmith (~MikeSmith@EM114-48-27-68.pool.e-mobile.ne.jp)
  403. # [08:04] <Hixie> TabAtkins_: yt?
  404. # [08:06] * Quits: cedricv (~cedric@202.152.243.113) (Remote host closed the connection)
  405. # [08:06] * Quits: nicktick (debian-tor@gateway/tor-sasl/nicktick) (Remote host closed the connection)
  406. # [08:07] * Joins: GarethAdams|Home (~GarethAda@pdpc/supporter/active/GarethAdams)
  407. # [08:08] * Quits: drry (~drry@unaffiliated/drry) (Ping timeout: 264 seconds)
  408. # [08:08] * Quits: bobchao (~cctw@112.105.96.241) (Ping timeout: 240 seconds)
  409. # [08:08] * Joins: drry (~drry@unaffiliated/drry)
  410. # [08:12] * Quits: othermaciej (~mjs@17.246.19.125) (Quit: othermaciej)
  411. # [08:15] * Joins: mmn1 (~mmn@129-97-225-230.uwaterloo.ca)
  412. # [08:15] * Parts: mmn1 (~mmn@129-97-225-230.uwaterloo.ca)
  413. # [08:19] <Hixie> so anyone want to write the CP for ISSUE-109?
  414. # [08:19] <Hixie> that is, a counter-CP to http://www.w3.org/html/wg/wiki/ChangeProposals/ariasection
  415. # [08:22] * Joins: tndH (~Rob@cpc5-seac20-2-0-cust2.7-2.cable.virginmedia.com)
  416. # [08:23] <abarth> that proposal is so trivial
  417. # [08:23] <abarth> i'm not even sure how to respond to it
  418. # [08:25] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 248 seconds)
  419. # [08:27] * Joins: nicktick (debian-tor@gateway/tor-sasl/nicktick)
  420. # [08:29] * Joins: deepthawtz (~deepthawt@c-67-180-160-250.hsd1.ca.comcast.net)
  421. # [08:37] <Hixie> abarth: i wrote one
  422. # [08:38] <annevk> boblet, I don't think so
  423. # [08:38] <boblet> annevk: thanks (will cry a little now)
  424. # [08:38] * Quits: deepthawtz (~deepthawt@c-67-180-160-250.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
  425. # [08:39] * Joins: deepthawtz (~deepthawt@c-67-180-160-250.hsd1.ca.comcast.net)
  426. # [08:39] <Hixie> how about issues 74 and 105, the canvas accessibility ones
  427. # [08:39] <Hixie> anyone want to make a case for the existing text?
  428. # [08:40] * Joins: Amorphous (jan@unaffiliated/amorphous)
  429. # [08:41] <Hixie> or 32, the summary="" one
  430. # [08:43] <Hixie> gotta love http://www.w3.org/html/wg/wiki/ChangeProposals/canvasaccessibility
  431. # [08:43] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  432. # [08:44] <Hixie> "Currently the spec does not include requirements for implementers on how to provide accessible focus rectangles [...] The details of the proposal are [...] A change to drawFocusRing()"
  433. # [08:46] <annevk> I think I've been Change Proposal tired since before we started with them
  434. # [08:46] <Hixie> my god this proposal is messed up
  435. # [08:47] <Hixie> it has authoring conformance criteria literally in the middle of a UA algorithm
  436. # [08:47] <Hixie> it uses the wrong coordinate system
  437. # [08:47] <Hixie> it's self-contradictory in fact about the coordinate system it uses
  438. # [08:48] <Hixie> it has an entirely useless set of arguments for the focus ring
  439. # [08:48] <Hixie> sigh
  440. # [08:48] <annevk> so anything goes as a Change Proposal?
  441. # [08:48] <annevk> maybe we should like MikeSmith's text generator come up with something good
  442. # [08:49] <annevk> s/like/let/
  443. # [08:49] <MikeSmith> my text generator has taken on a life of its own
  444. # [08:49] <MikeSmith> somebody told me it opened up a twitter account for itself
  445. # [08:50] * Joins: romeo (~romeo__@x1-6-00-07-95-57-08-bb.k459.webspeed.dk)
  446. # [08:50] * Quits: justicefries (~gerred@c-98-245-71-126.hsd1.co.comcast.net) (Quit: justicefries)
  447. # [08:50] <Hixie> seriously, read this:
  448. # [08:50] <Hixie> http://lists.w3.org/Archives/Public/public-canvas-api/2010AprJun/att-0054/2dcontext10-June-7.html#dom-context-2d-setCaretSelectionRect
  449. # [08:51] <Hixie> the definition of setCaretSelectionRect
  450. # [08:51] <Hixie> read that algorithm
  451. # [08:51] <Hixie> it has authoring criteria, it has asynchronous requirements, and then it ends with "return true"
  452. # [08:51] * Joins: kbrosnan (~kbrosnan@ip24-250-54-36.ri.ri.cox.net)
  453. # [08:52] <Hixie> and that's ignoring the main problem of course, which is that the entire method is completely useless
  454. # [08:52] <Hixie> it does nothing if you don't have an AT, so nobody will ever use it
  455. # [08:52] <Hixie> plus it doesn't even do anything useful if you DO have an AT, since who on earth has a selection area that is just a rectangle with no associated selected text?
  456. # [08:54] <annevk> oh lol
  457. # [08:54] <Hixie> and then we have http://www.w3.org/html/wg/wiki/ChangeProposals/canvasaccessibilitynonav which introduces a content attribute to do what two lines of JS can do, even though to use it properly you'll still need to do those lines of JS but you'll -- in addition -- have to remove the attribute
  458. # [08:54] <annevk> W3C should give a spec writing 101
  459. # [08:55] <Hixie> and then we have http://www.w3.org/html/wg/wiki/ChangeProposals/addimagemaptocanvas which adds usemap to <canvas> despite there being basically no use cases for which that's useful
  460. # [08:55] <Hixie> this is ridiculous
  461. # [08:55] * Quits: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se) (Remote host closed the connection)
  462. # [09:00] * Joins: bobchao (~cctw@202.39.243.252)
  463. # [09:02] * Quits: bobchao (~cctw@202.39.243.252) (Remote host closed the connection)
  464. # [09:02] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Quit: Rik`)
  465. # [09:03] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  466. # [09:06] * Quits: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net) (Quit: weinig)
  467. # [09:10] * Joins: eighty4 (~eighty4@h-112-7.A163.corp.bahnhof.se)
  468. # [09:11] * Joins: peol (~andree@91.213.250.10)
  469. # [09:12] * peol is now known as Guest29845
  470. # [09:12] * Quits: Guest29845 (~andree@91.213.250.10) (Changing host)
  471. # [09:12] * Joins: Guest29845 (~andree@unaffiliated/peol)
  472. # [09:12] * Guest29845 is now known as peol
  473. # [09:16] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  474. # [09:16] * Joins: zalan (~zalan@catv-89-135-140-7.catv.broadband.hu)
  475. # [09:24] * Joins: zcorpan_ (~zcorpan@c-d798e355.410-6-64736c14.cust.bredbandsbolaget.se)
  476. # [09:32] * Quits: dave_levin (~dave_levi@nat/google/x-hfqvfkkktumlkxgv) (Quit: dave_levin)
  477. # [09:35] * Quits: deepthawtz (~deepthawt@c-67-180-160-250.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
  478. # [09:40] * Joins: maikmerten (~maikmerte@port-92-201-196-56.dynamic.qsc.de)
  479. # [09:42] * Joins: theMadness (~petal@host57-134-static.35-88-b.business.telecomitalia.it)
  480. # [09:43] <jgraham> Crap, I need to follow up on the reply my email pointing out the problems with the canvas accessibility proposal that Hixie just mentioned
  481. # [09:45] <Hixie> can you just write a CCP instead? :-)
  482. # [09:45] <jgraham> Hixie: I'm told that the point of getCaretSelectionRect is just to provide the coordinates of the caret, not actually anything to do with selection
  483. # [09:45] <Hixie> well then how is it different to the API we have in the spec today?
  484. # [09:45] <Hixie> and why does it talk about the selection rect?
  485. # [09:46] <jgraham> Unless I am misremembering (which is possible), it is supposed to cover the one character covered by the caret
  486. # [09:46] <jgraham> But I didn't understand either so I am the wrong person to ask
  487. # [09:46] <Hixie> carets don't usually cover characters...?
  488. # [09:47] <Hixie> i wish that the change proposal process had a more defined problem description stage
  489. # [09:47] <Hixie> as distinct from the solution proposal stage
  490. # [09:47] <Hixie> currently we just run around like headless chickens spouting random proposals without ever considering what problem we're solving
  491. # [09:47] <jgraham> I can't write a CCP because I don't know what a good solution is
  492. # [09:47] <Hixie> it's just amateurish
  493. # [09:47] <jgraham> I just know that CP isn't one
  494. # [09:47] <Hixie> jgraham: the solution in the spec :-)
  495. # [09:49] <othermaciej> regarding caret/selection position...
  496. # [09:49] <jgraham> Hixie: Maybe :) I think trying to make a CP for an a11y topic that I don't have a strong view on is setting myself up for a world of hurt I don't need
  497. # [09:50] <othermaciej> (1) there is definitely a use case for saying where in the text the caret or selection is, although you can represent that via the child DOM
  498. # [09:50] <jgraham> I think the existing CP should be rejected on the basis that it is not a) workable or b) camera ready spec text
  499. # [09:50] <Hixie> othermaciej: that's already handled by the child DOM
  500. # [09:50] <othermaciej> (2) there is also a use case for the screen position of the caret or selection, for assistive technologies that would automatically zoom/center that area
  501. # [09:50] <Hixie> and that's already handled by the current API
  502. # [09:50] <jgraham> I got the impression that 2) was the interesting case here
  503. # [09:51] <othermaciej> focus area is a rough approximation
  504. # [09:51] <othermaciej> but may not be specific enough
  505. # [09:51] <Hixie> the current API has a focus ring and a specific point for centering on
  506. # [09:51] <jgraham> But I don't know why you need a width to do that
  507. # [09:51] <othermaciej> so you should redraw the focus ring every time the caret moves?
  508. # [09:52] <Hixie> yes
  509. # [09:52] <othermaciej> if I wrote code like that in WebKit I would be fired
  510. # [09:52] <othermaciej> but maybe the standards are lower for Web developers
  511. # [09:52] <Hixie> well if you wrote code that had a text box in canvas i'd fire you long before you screwed up the caret painting
  512. # [09:52] <Hixie> but apparently that's what we're trying to solve
  513. # [09:52] <Hixie> so
  514. # [09:53] <othermaciej> well, I advocated not supporting text drawing on the canvas at all, but apparently there are use cases for it
  515. # [09:53] <annevk> they're trying to make bespin work
  516. # [09:53] <Hixie> the problem with an explicit API just to focus on a caret is that there's no reason to call it _other_ than accessibility
  517. # [09:53] <Hixie> which means most people won't call it, and most that will will call it in a buggy fashion
  518. # [09:53] <Hixie> and we'll be no better off and possible worse off than if we had nothing
  519. # [09:54] <annevk> might be more fruitful for a11y to work on DOM Range + CSS styling so bespin can move into a <textarea>
  520. # [09:54] <Hixie> at least with the focus ring API there's a use case, it gets you free native focus ring drawing
  521. # [09:54] <jgraham> It does seem odd to move the focus ring for every caret move though
  522. # [09:54] <Hixie> i agree that it's suboptimal
  523. # [09:54] <othermaciej> I don't think the bespin guys are remotely interested in moving off canvas, even if you made a good enough alternative
  524. # [09:54] <othermaciej> Bespin doesn't even have a focus ring
  525. # [09:55] <othermaciej> you would have to draw one offscreen to use this API
  526. # [09:56] <othermaciej> heck, even in native Mac apps it's not uncommon that some text areas don't get focus rings
  527. # [09:56] <jgraham> I suppose one could make the optimistic assumption that so few people will write editable-text-on-canvas that they will be unusually good developers and unusually likely to get it right
  528. # [09:56] <jgraham> Although I am not really an optimist
  529. # [09:57] <othermaciej> if it made sense to have an API to draw a caret, that would combine with a useful operation
  530. # [09:57] <Hixie> oh we could do that
  531. # [09:57] <othermaciej> but typically a caret would blink, and you can't handle that part for the developer
  532. # [09:57] <Hixie> have it automatically determine the baseline positioning and so on
  533. # [09:58] <Hixie> so you just give it the text x,y and the width of the text so far or something
  534. # [09:58] <othermaciej> well, I suppose you can with a fancy enough API (you would have to call them to paint what was behind the caret, or save it in a buffer)
  535. # [09:58] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  536. # [09:58] <jgraham> You could even support the blink rate stuff that they want :)
  537. # [09:58] <Hixie> yeah
  538. # [09:59] <Hixie> ignore the call if it's during an off period
  539. # [09:59] <Hixie> i don't understand why we're discussing this in the change proposal system and not in the bug system
  540. # [09:59] <Hixie> did i reject a change to the focus ring API at some point?
  541. # [09:59] <othermaciej> I don't remember how canvas accessibility made it into the issue system
  542. # [09:59] <othermaciej> I believe it was before the current decision policy
  543. # [10:00] <jgraham> Yes, I think it was in the "someone says this is a problem" phase
  544. # [10:00] <jgraham> Where everything got put in Tracker
  545. # [10:00] <othermaciej> if you come up with a better caret API, I bet you could convince the accessibility folks to withdraw that proposal by consensus
  546. # [10:01] <Hixie> well i'd be happy to do so, but i can't do it on the timetable that this issue is on
  547. # [10:01] <Hixie> i have like 200 bugs and 1000 e-mails ahead of it in the queue
  548. # [10:01] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  549. # [10:02] <othermaciej> maybe if you sketch it out you could convince them to wait to see it (not as sure on that though)
  550. # [10:02] <othermaciej> agree that bugs/emails should be higher priority
  551. # [10:03] <othermaciej> my personal technical opinion (off-the-cuff, have not thought about it super deeply) is that both nonav and usemap proposals are redundant with things you can already do in the existing spec, but there is some chance they could be a little bit more convenient for some use cases
  552. # [10:03] <othermaciej> not sure which side of the leger that ends up on
  553. # [10:04] <Hixie> i'd love to see any examples of them being used realistically that showed such cases
  554. # [10:07] * Quits: eighty4 (~eighty4@h-112-7.A163.corp.bahnhof.se) (Remote host closed the connection)
  555. # [10:08] <othermaciej> I will agree the respective proposed spec text for both is not the best quality drafting
  556. # [10:09] <Hixie> you are a master of the understatement
  557. # [10:23] <annevk> hmm
  558. # [10:23] <annevk> bit.ly even ate my fragment identifier
  559. # [10:23] <annevk> wtf twitter
  560. # [10:24] <annevk> hmm, only when using the expanding feature
  561. # [10:24] * Joins: mpt (~mpt@canonical/mpt)
  562. # [10:30] <hsivonen> Is there still no feedback from the Bespin team?
  563. # [10:31] * Joins: Matjas (510bb5ba@gateway/web/freenode/ip.81.11.181.186)
  564. # [10:34] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Quit: Rik`)
  565. # [10:35] <gsnedders> http://talk.maemo.org/showthread.php?p=752460
  566. # [10:35] <gsnedders> Opera Mobile for Maemo now with JIT on ARM
  567. # [10:39] * Joins: foolip (~foolip@83.218.67.122)
  568. # [10:40] <annevk> Hixie, for P2P, making the API protocol agnostic seems sort of like the wrong optimization as the API is very trivial compared to the protocol, but I guess you mostly mean you don't want to do the protocol :)
  569. # [10:42] * Joins: MikeSmithX (~MikeSmith@EM111-188-45-160.pool.e-mobile.ne.jp)
  570. # [10:44] * Joins: mat_t (~mattomasz@91.189.88.12)
  571. # [10:45] * Quits: MikeSmith (~MikeSmith@EM114-48-27-68.pool.e-mobile.ne.jp) (Ping timeout: 245 seconds)
  572. # [10:46] * Joins: davidhund (~davidhund@78-27-27-74.dsl.alice.nl)
  573. # [10:47] * Joins: ROBOd (~robod@92.86.244.224)
  574. # [10:51] * Joins: eighty4 (~eighty4@h-112-7.A163.corp.bahnhof.se)
  575. # [10:54] * MikeSmithX is now known as MikeSmith
  576. # [10:56] <MikeSmith> is bespin still even being actively maintained?
  577. # [10:57] * Joins: Phae (~Phae@chimera.macmillan.com)
  578. # [11:00] * Matjas is now known as Math_ias
  579. # [11:00] * Joins: Rik` (~Rik`@213.41.141.234)
  580. # [11:03] * Quits: GarethAdams|Home (~GarethAda@pdpc/supporter/active/GarethAdams) (Quit: GarethAdams|Home)
  581. # [11:03] * Quits: eighty4 (~eighty4@h-112-7.A163.corp.bahnhof.se) (Remote host closed the connection)
  582. # [11:04] <jgraham> MikeSmith: Yes
  583. # [11:04] <jgraham> They seem to rewrite parts of it every so often
  584. # [11:05] <jgraham> I think they just rewrote the server in node.js
  585. # [11:05] <MikeSmith> jgraham: cool
  586. # [11:05] <MikeSmith> dinnet know that
  587. # [11:05] <jgraham> hsivonen: It was claimed that they had been contacted directly and didn't respond
  588. # [11:07] <jgraham> MikeSmith: http://groups.google.com/group/bespin/browse_thread/thread/6de8c718d64232a0
  589. # [11:10] * Quits: MikeSmith (~MikeSmith@EM111-188-45-160.pool.e-mobile.ne.jp) (Ping timeout: 260 seconds)
  590. # [11:15] * Quits: foolip (~foolip@83.218.67.122) (*.net *.split)
  591. # [11:15] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (*.net *.split)
  592. # [11:15] * Quits: Amorphous (jan@unaffiliated/amorphous) (*.net *.split)
  593. # [11:15] * Quits: crash\ (crash@lubyte.de) (*.net *.split)
  594. # [11:15] * Quits: gsnedders (~gsnedders@204.232.194.186) (*.net *.split)
  595. # [11:15] * Quits: kcliu (gjliou@linux1.cs.nctu.edu.tw) (*.net *.split)
  596. # [11:15] * Quits: Phae (~Phae@chimera.macmillan.com) (*.net *.split)
  597. # [11:15] * Quits: micheil (~micheil@124-170-233-189.dyn.iinet.net.au) (*.net *.split)
  598. # [11:15] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (*.net *.split)
  599. # [11:15] * Quits: danbri (~danbri@unaffiliated/danbri) (*.net *.split)
  600. # [11:15] * Quits: othree (~othree@admin39.ct.ntust.edu.tw) (*.net *.split)
  601. # [11:18] * Joins: gsnedders (~gsnedders@204.232.194.186)
  602. # [11:18] * Joins: foolip (~foolip@83.218.67.122)
  603. # [11:20] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  604. # [11:21] * Joins: Phae (~Phae@chimera.macmillan.com)
  605. # [11:21] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  606. # [11:21] * Joins: Amorphous (jan@unaffiliated/amorphous)
  607. # [11:21] * Joins: micheil (~micheil@124-170-233-189.dyn.iinet.net.au)
  608. # [11:21] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  609. # [11:21] * Joins: danbri (~danbri@unaffiliated/danbri)
  610. # [11:21] * Joins: crash\ (crash@lubyte.de)
  611. # [11:21] * Joins: othree (~othree@admin39.ct.ntust.edu.tw)
  612. # [11:21] * Joins: kcliu (gjliou@linux1.cs.nctu.edu.tw)
  613. # [11:23] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 262 seconds)
  614. # [11:25] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  615. # [11:28] * Joins: MikeSmith (~MikeSmith@EM114-48-176-39.pool.e-mobile.ne.jp)
  616. # [11:29] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: This computer has gone to sleep)
  617. # [11:31] * Math_ias is now known as mathias_01
  618. # [11:33] * mathias_01 is now known as Matjas
  619. # [11:36] * Joins: roc (~roc@121.98.230.221)
  620. # [11:36] * Quits: zcorpan_ (~zcorpan@c-d798e355.410-6-64736c14.cust.bredbandsbolaget.se) (Remote host closed the connection)
  621. # [11:37] * Joins: zcorpan_ (~zcorpan@c-d798e355.410-6-64736c14.cust.bredbandsbolaget.se)
  622. # [11:42] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  623. # [11:45] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Client Quit)
  624. # [11:45] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  625. # [11:48] <annevk> "A frustrating point for working group members is that this proposal has been out for month and it was not until after an entire vote for consensus was reached that we get a comment from Opera." heh, and how long have we been awaiting feedback for proposals included in the HTML5 draft? ...
  626. # [11:49] <jgraham> I kind of figure that if you lockl yourself away in a taskforce it is not that surprising when you get fewer comments
  627. # [11:55] * Joins: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de)
  628. # [11:58] <AryehGregor> Yeah, it seems like if you want broader comments earlier, you should use the main discussion fora and not create your own . . .
  629. # [12:00] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  630. # [12:03] * Quits: nicktick (debian-tor@gateway/tor-sasl/nicktick) (Remote host closed the connection)
  631. # [12:04] * Joins: workmad3 (~workmad3@cspool86.cs.man.ac.uk)
  632. # [12:05] * Joins: akamike (~akamike@94-193-106-14.zone7.bethere.co.uk)
  633. # [12:07] * Joins: pesla (~pesla@188.202.125.121)
  634. # [12:13] * abarth is now known as abarth|zZz
  635. # [12:15] * Joins: pauld (~chatzilla@194.102.13.2)
  636. # [12:24] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  637. # [12:29] <AryehGregor> gfxFloat sigma = CurrentState().shadowBlur > 8 ? sqrt(CurrentState().shadowBlur) : CurrentState().shadowBlur / 2;
  638. # [12:29] <AryehGregor> http://hg.mozilla.org/mozilla-central/file/5fda39cd703c/content/canvas/src/nsCanvasRenderingContext2D.cpp#l1855
  639. # [12:29] <AryehGregor> Maybe that's why Firefox renders canvas shadows wrong?
  640. # [12:29] <AryehGregor> You know, sqrt(CurrentState().shadowBlur) instead of sqrt(2*CurrentState().shadowBlur)?
  641. # [12:30] <AryehGregor> Or am I reading the spec wrong?
  642. # [12:32] * AryehGregor doesn't think so, since the Mozilla behavior makes shadowBlur = 8 the same as shadowBlur = 16
  643. # [12:33] * AryehGregor tests that
  644. # [12:33] <Philip`> It should be 2*
  645. # [12:33] <AryehGregor> Conveniently, I've already basically written a reftest for this using SVG. :)
  646. # [12:33] <AryehGregor> Yep, indeed, 8 and 16 look identical.
  647. # [12:34] <AryehGregor> What a silly bug. This is exactly the sort of thing we need an official test suite for.
  648. # [12:34] <Philip`> Then 9 is less blurry than 8
  649. # [12:34] <AryehGregor> Yep!
  650. # [12:34] <AryehGregor> Noticeably so.
  651. # [12:34] <Philip`> which is a bigger discontinuity than the second-order one the bug was complaining about :-)
  652. # [12:34] * AryehGregor works on a patch
  653. # [12:34] <roc> if you could stick that in a patch, I'll review it for you :-)
  654. # [12:35] <Philip`> We already have tests, and http://test.w3.org/html/tests/submission/PhilipTaylor/canvas/index.2d.shadow.blur.html makes it obvious when it's not right
  655. # [12:35] * AryehGregor has to remind himself how to actually compile Mozilla and such, should post a bug today and will CC roc
  656. # [12:35] <Philip`> We just need people to run the tests and check for differences and file bugs and fix them
  657. # [12:35] <AryehGregor> Guess so. :)
  658. # [12:35] <Philip`> (and to fix bugs in the tests, and to write more tests, etc)
  659. # [12:38] <AryehGregor> I suspect Chrome is wrong because they deliberately use some kind of non-Gaussian blur, on the other hand. Not sure on that, though. Chrome is way further off the mark than Firefox.
  660. # [12:38] <AryehGregor> (which is saying a lot, when Firefox makes all blurs above 8 41% bigger)
  661. # [12:38] <MikeSmith> jgraham: thanks for link about Bespin roadmap
  662. # [12:39] <Philip`> (You probably mean smaller)
  663. # [12:39] <AryehGregor> Er, yes, probably.
  664. # [12:39] * AryehGregor stares at code compiling.
  665. # [12:40] * AryehGregor will have to get some real CPUs if he gets more into compiling stuff, or get distcc working . . . now if only I had managed to persuade other household members to upgrade their computers to Linux, that'd be like six extra CPUs.
  666. # [12:41] <Philip`> https://bugzilla.mozilla.org/show_bug.cgi?id=310682 - hmm, looks like I got the calculation right in my early patch but didn't notice it was broken in the rewritten one
  667. # [12:43] * Quits: MikeSmith (~MikeSmith@EM114-48-176-39.pool.e-mobile.ne.jp) (Quit: This computer has gone to sleep)
  668. # [12:59] * Joins: oal (~oal@5.79-160-122.customer.lyse.net)
  669. # [13:01] * Quits: wakaba_ (~wakaba_@203-140-90-184.eonet.ne.jp) (Ping timeout: 265 seconds)
  670. # [13:01] * AryehGregor wonders if anyone does reviews on what CPUs are best for compiling.
  671. # [13:02] * Joins: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  672. # [13:03] <AryehGregor> Philip`, do you know if there's any reason anyone would want blurRadius/2 instead of sqrt(2*blurRadius) at 8 and below?
  673. # [13:05] * Joins: cedricv (~cedric@202.152.243.105)
  674. # [13:10] <Philip`> AryehGregor: No, unless it happens to give you a nicer range of blurs for small integers or something like that
  675. # [13:10] <AryehGregor> Would it make any sense as an optimization?
  676. # [13:10] <AryehGregor> I think I recall someone from Safari saying they considered it as a bug . . .
  677. # [13:10] <Philip`> That equation just seemed to be the best match for what Safari looked like (I don't know if it what's they do internally)
  678. # [13:11] <othermaciej> we just do what CG does
  679. # [13:11] <Philip`> (By "they" I meant the CG people :-) )
  680. # [13:12] <othermaciej> supposedly the threshold below 8 pixels gives a smoother progression for different radius sizes
  681. # [13:12] <othermaciej> at least that is what I have heard
  682. # [13:12] <AryehGregor> So CG's blur function accepts this weird blurRadius instead of just accepting sigma directly?
  683. # [13:12] <AryehGregor> Do you think it would make sense to change it at this point, since we don't have interop on canvas shadows anyway?
  684. # [13:13] <othermaciej> well, we could always munge the blur radius to do what CG would do (assuming it takes a float; not sure)
  685. # [13:13] <othermaciej> I do not know what actually results in good looking shadows
  686. # [13:13] <Philip`> http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html#//apple_ref/c/func/CGContextSetShadow
  687. # [13:14] <Philip`> "A non-negative number specifying the amount of blur."
  688. # [13:14] <AryehGregor> Do you think it's worth pursuing, or should we just leave it alone?
  689. # [13:14] <AryehGregor> CGFloat blur
  690. # [13:14] <Philip`> I don't think I've ever seen anything saying the scale of the number
  691. # [13:16] <AryehGregor> I guess it's easiest at this point to just leave it alone.
  692. # [13:16] <AryehGregor> It won't be anywhere near the biggest wart in the web platform.
  693. # [13:16] <Philip`> It seems like converging on what the spec says will take less effort than converging on anything else (given that some people already implement the spec), and I don't think it's a particularly user-hostile definition (it's just a bit weird and unjustified but people can easily guess sensible numbers)
  694. # [13:17] <AryehGregor> Yeah, makes sense.
  695. # [13:17] * Quits: Necrathex (~bleptop@212-123-163-12.ip.telfort.nl) (Quit: Necrathex)
  696. # [13:18] <jgraham> If anyone asks we will blame Apple
  697. # [13:18] <Philip`> (Users aren't any more likely to understand sigmas anyway)
  698. # [13:19] <jgraham> Then they will either direct their righteous anger there or assume the design was perfect and it was them who was wrong
  699. # [13:19] <jgraham> Depending on their relationship with Apple
  700. # [13:19] <jgraham> and the current state of the RDF
  701. # [13:21] <AryehGregor> Hmm, my change didn't seem to fix Firefox.
  702. # [13:21] <AryehGregor> Have to go now, I guess I'll look later today.
  703. # [13:21] <roc> did you rebuild everything?
  704. # [13:21] <AryehGregor> I was using a fresh mozilla-central checkout.
  705. # [13:22] * Joins: MikeSmith (~MikeSmith@EM114-48-176-39.pool.e-mobile.ne.jp)
  706. # [13:22] <Philip`> Obvious question: Are you running the version you compiled, not a window of another version of Firefox that was already running?
  707. # [13:22] <AryehGregor> Mozilla/5.0 (X11; Linux i686; en-US; rv:2.0b2pre) Gecko/20100715 Minefield/4.0b2pre
  708. # [13:22] <jgraham> annevk: Can you change the favicon for the webapps tracker, please
  709. # [13:23] <jgraham> It is highly confusing that it has the same icon as the tabs with the spec open
  710. # [13:25] <AryehGregor> It does seem to look a bit closer, maybe.
  711. # [13:25] <AryehGregor> Okay, got to go now . . .
  712. # [13:25] <jgraham> annevk: (the same icon with the colours inverted or something simple would be fine)
  713. # [13:27] <MikeSmith> about meta/@name=viewport
  714. # [13:27] <MikeSmith> which already seems to have become a de facto standard
  715. # [13:27] * Quits: yoshiaki (~yoshiaki@133.27.228.172) (Ping timeout: 240 seconds)
  716. # [13:27] <MikeSmith> are there any other meta/@name values that have rendering effects in browsers?
  717. # [13:28] <MikeSmith> and who is it at Apple who came up that thing to begin with?
  718. # [13:28] <MikeSmith> and whoever it was, why didn't they find it worthwhile to ask for feedback on it before unleashing it on the world?
  719. # [13:28] <hsivonen> MikeSmith: to the person's credit at Apple, they at least used meta/@name and not meta/@http-equiv
  720. # [13:29] <hsivonen> MikeSmith: it was created in the stealth mode before the iPhone was announced
  721. # [13:29] <MikeSmith> I see
  722. # [13:30] <MikeSmith> hsivonen: yeah, glad it's not http-equiv at least
  723. # [13:36] <Matjas> When using Flash as a fallback for HTML5 <video>, is it a good idea to use an additional <source> for the .flv (Flash Video) file, or not?
  724. # [13:45] * Quits: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
  725. # [13:55] <Peter`> Matjas: a quick test shows that no browser is capable of playing .flv files through <video>, next to that, it's called Flash Video for a reason. I wouldn't include it
  726. # [13:56] * Quits: hamaji (~hamaji@220.109.219.244) (Ping timeout: 276 seconds)
  727. # [13:56] <Matjas> Peter`: Okay, thanks.
  728. # [13:57] <annevk> jgraham, if you make one
  729. # [13:57] <annevk> jgraham, can you make a pink one?
  730. # [13:58] <jgraham> annevk: Probably. Where is the original?
  731. # [13:58] * Joins: BlurstOfTimes (~blurstoft@168.203.103.113)
  732. # [13:59] <annevk> http://simon.html5.org/sandbox/svg/whatwg
  733. # [14:00] <annevk> maybe I can do this myself... but I rather just wget and remove the favicon line
  734. # [14:02] * Quits: davidhund (~davidhund@78-27-27-74.dsl.alice.nl) (Ping timeout: 258 seconds)
  735. # [14:07] * Quits: cedricv (~cedric@202.152.243.105)
  736. # [14:09] * Joins: davidhund (~davidhund@78-27-27-74.dsl.alice.nl)
  737. # [14:17] * Quits: annevk (~annevk@5355737B.cable.casema.nl) (Read error: Connection reset by peer)
  738. # [14:19] * Joins: annevk (~annevk@5355737B.cable.casema.nl)
  739. # [14:20] <annevk> so I tried fiddling with that icon and everything fall apart
  740. # [14:25] <jgraham> Oh
  741. # [14:26] <jgraham> I made you a new one http://hoppipolla.co.uk/410/favicon.ico
  742. # [14:26] <jgraham> If you can work out how to use it without everything dying
  743. # [14:26] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Quit: Disconnected...)
  744. # [14:27] <annevk> that's more like purple, no?
  745. # [14:27] <jgraham> Picky
  746. # [14:28] <jgraham> I used one of those web colour scheme generator things to find some pinkish colour that would vaugely work with the dark green
  747. # [14:28] <jgraham> Since they will typically be next to each other
  748. # [14:30] * Joins: FireFly (~firefly@unaffiliated/firefly)
  749. # [14:33] <annevk> hotpink it is
  750. # [14:36] * Quits: davidhund (~davidhund@78-27-27-74.dsl.alice.nl) (Ping timeout: 276 seconds)
  751. # [14:36] <jgraham> That is hideous
  752. # [14:36] * Joins: nicktick (debian-tor@gateway/tor-sasl/nicktick)
  753. # [14:36] <annevk> you asked for it
  754. # [14:37] <annevk> complaining about a favicon, come on ;p
  755. # [14:37] <jgraham> Also, it only seems to be working in Opera
  756. # [14:37] <annevk> that sounds like a cache issue
  757. # [14:37] <jgraham> Maybe. It is just showing the default in the others though
  758. # [14:38] <annevk> wfm in Chrome
  759. # [14:38] <annevk> doesn't work in Firefox
  760. # [14:38] <annevk> but Firefox does work on my site
  761. # [14:38] <annevk> hmm
  762. # [14:38] <annevk> maybe still a cache issue
  763. # [14:38] <zcorpan_> wfm in firefox
  764. # [14:39] <annevk> weird, doesn't in mine
  765. # [14:39] <annevk> even after explicitly loading /favicon.ico
  766. # [14:39] <annevk> but someone else can fix that
  767. # [14:40] <jgraham> Works in Chromium after clearing the cache
  768. # [14:40] <jgraham> But I kinda wish it didn't :(
  769. # [14:40] <annevk> I used http://www.whatwg.org/images/logo.svg eventually
  770. # [14:40] <annevk> jgraham, hehe
  771. # [14:40] <jgraham> Also, what happened to the chromium menu. It's insane
  772. # [14:41] <annevk> the one from Simon is far more clever but SVG rendering tools are just too crappy to support that
  773. # [14:41] <annevk> they need explicit paths and such
  774. # [14:41] <jgraham> annevk: I used Simon's one and then edited around some of the problems inkscape had
  775. # [14:42] <jgraham> Seriously, apart from having buttons in the menu, it has submenus with disclosure arrows that will always be hard against the right of the screen
  776. # [14:42] <jgraham> So that the submenu will always open on the left
  777. # [14:42] <jgraham> It must be a bug
  778. # [14:43] <jgraham> Or unfinished change at least
  779. # [14:43] <annevk> at least they do not have 4 menu depth
  780. # [14:43] <annevk> like selecting an encoding in Opera requires
  781. # [14:43] <annevk> selecting an encoding is something that should not be in the UI anyway
  782. # [14:43] <annevk> no user gets such bullshit
  783. # [14:43] <jgraham> Yeah, but at least our menus don't have arrows to the right and open to the left
  784. # [14:44] <annevk> agreed that is weird
  785. # [14:44] <annevk> maybe they optimized for RTL?
  786. # [14:44] <annevk> :)
  787. # [14:44] <Philip`> Opera's menus often open off my screen so I can't see them at all :-(
  788. # [14:45] <Philip`> though maybe that's my fault for having a non-rectangular multi-monitor desktop
  789. # [14:45] <jgraham> Philip`: File a bug?
  790. # [14:46] * Philip` is too lazy and doesn't know if it's even fixable on Linux
  791. # [14:48] <annevk> i like this new icon
  792. # [14:48] <annevk> should make one for http://webforms2.org/ too
  793. # [15:09] * Joins: davidb_ (~davidb@mozca02.ca.mozilla.com)
  794. # [15:20] * Joins: davidhund (~davidhund@78-27-27-74.dsl.alice.nl)
  795. # [15:22] <AryehGregor> That is quite hideous.
  796. # [15:26] * Joins: miketaylr (~miketaylr@38.117.156.163)
  797. # [15:28] * Quits: boblet (~boblet@p1201-ipbf709osakakita.osaka.ocn.ne.jp) (Quit: boblet)
  798. # [15:29] * Quits: miketaylr (~miketaylr@38.117.156.163) (Remote host closed the connection)
  799. # [15:29] * Joins: miketaylr (~miketaylr@38.117.156.163)
  800. # [15:31] <AryehGregor> Philip`, do you understand what the call to gfxAlphaBoxBlur::CalculateBlurRadius() does? Maybe that's where the problem is . . . ? Even after the extra factor of sqrt(2), Firefox is still showing significantly too little blurring.
  801. # [15:32] <AryehGregor> The problem with me trying to write a patch here is I have no idea what any of this stuff does.
  802. # [15:33] <AryehGregor> Is this doing a real Gaussian blur at all?
  803. # [15:34] <AryehGregor> It looks like it's not.
  804. # [15:34] <AryehGregor> Hmm, there's an approximation specified in the SVG spec itself.
  805. # [15:35] <AryehGregor> http://en.wikipedia.org/wiki/Box_blur
  806. # [15:40] <Philip`> AryehGregor: I have no idea what gfxAlphaBoxBlur does
  807. # [15:40] <Philip`> It sounds like it ought to be a sufficiently close approximation of a Gaussian blur that you shouldn't see much difference
  808. # [15:41] <Philip`> (as long as you don't exceed SIGMA_MAX)
  809. # [15:42] <Philip`> (which is at shadowBlur=312.5)
  810. # [15:43] * Quits: aho (~nya@fuld-4d00d22e.pool.mediaWays.net) (Ping timeout: 245 seconds)
  811. # [15:43] * Joins: aho (~nya@fuld-4d00d2ef.pool.mediaWays.net)
  812. # [15:46] * Joins: yutak_home (~kee@U017209.ppp.dion.ne.jp)
  813. # [15:52] <AryehGregor> It looks like it does three box blurs, which is supposed to be within 3% of a true Gaussian blur.
  814. # [15:52] <AryehGregor> But canvas is the only caller of that.
  815. # [15:52] <AryehGregor> So maybe it's just buggy.
  816. # [15:53] <Philip`> That seems quite possible
  817. # [15:53] <Philip`> given that the output is not what you expect
  818. # [15:57] * AryehGregor is looking at the code for feGaussianBlur now, since that works right
  819. # [15:57] <AryehGregor> Yay, approximating integer division by multiplication and bitshifts.
  820. # [15:57] <AryehGregor> * If all that math confuses you, this should convince you:
  821. # [15:57] <AryehGregor> * > perl -e 'for($N=1;(255*$N*int(0xFFFFFFFF/(255*$N)))>>24==255;++$N){}print"$N\n"'
  822. # [15:57] <AryehGregor> * 66052
  823. # [16:00] <jgraham> That looks a lot like line noise
  824. # [16:00] <AryehGregor> Yes, sometimes it's hard to tell the difference between Perl and line noise.
  825. # [16:01] <jgraham> Also, why does it do anything? Where is $N mutated?
  826. # [16:01] <AryehGregor> ++$N
  827. # [16:01] <jgraham> Oh wait
  828. # [16:01] <jgraham> I was being dumb
  829. # [16:01] <Philip`> Remove the '$'s and it's basically C
  830. # [16:01] <Philip`> It's not doing anything Perlish
  831. # [16:02] <AryehGregor> Cramming an entire program on one line with no spaces except where required by syntax strikes me as very Perlish.
  832. # [16:02] * Quits: nicktick (debian-tor@gateway/tor-sasl/nicktick) (Remote host closed the connection)
  833. # [16:02] <Philip`> (What source file is this in?)
  834. # [16:02] <jgraham> I think the maths would be easier to follow...
  835. # [16:02] <AryehGregor> content/svg/content/src/nsSVGFilters.cpp
  836. # [16:02] <jgraham> (what is the program trying to show?)
  837. # [16:02] * Joins: ako (~nya@fuld-4d00d38e.pool.mediaWays.net)
  838. # [16:03] <workmad3> AryehGregor: only thing that's doing that isn't C is that C would need a main() function to work
  839. # [16:03] <workmad3> (oh, and would probably use printf rather than print)
  840. # [16:03] * Quits: aho (~nya@fuld-4d00d2ef.pool.mediaWays.net) (Ping timeout: 245 seconds)
  841. # [16:03] <AryehGregor> workmad3, and printf("%d\n", N) instead of print "$N\n".
  842. # [16:03] <AryehGregor> Yar.
  843. # [16:03] <workmad3> it isn't a very perlish version of getting it all onto one line though :)
  844. # [16:04] <AryehGregor> jgraham, the program is trying to show that 255*$N*int(0xFFFFFFFF/(255*N))>>24 == 255 for numbers up to a fairly large amount, of course.
  845. # [16:04] <AryehGregor> Except with some more parentheses.
  846. # [16:05] <AryehGregor> I don't know what the 255's are doing there, isn't ($N*int(0xFFFFFFFF/(255*$N)))>>25 == 1 equivalent?
  847. # [16:06] <AryehGregor> Oh, hmm, no.
  848. # [16:06] <AryehGregor> Because the 255* is before the bitshift.
  849. # [16:06] <AryehGregor> Also, it's 24 and not 25.
  850. # [16:06] * AryehGregor saw this trick before when deciphering the assembly output of a trivial C program he wrote for fun, but you'd think the compiler would do this for you.
  851. # [16:09] <AryehGregor> Okay, but anyway, I am totally incapable of figuring out what's wrong here. I'm comparing BoxBlur() in nsSVGFilters.cpp and BoxBlurHorizontal()/BoxBlurVertical() in gfxBlur.cpp, and it's all gibberish to me.
  852. # [16:10] <AryehGregor> (there seems to be considerable code duplication here, incidentally)
  853. # [16:10] <Philip`> static const gfxFloat GAUSSIAN_SCALE_FACTOR = (3 * sqrt(2 * M_PI) / 4) * (3/2);
  854. # [16:10] <Philip`> Surely that's not going to work
  855. # [16:10] <Philip`> because (3/2) == 1
  856. # [16:10] <AryehGregor> Hmmm.
  857. # [16:11] <Philip`> The rest will get promoted to doubles but that won't
  858. # [16:11] <AryehGregor> In nsSVGFilters.cpp, it says: double size = aStdDev*3*sqrt(2*M_PI)/4;
  859. # [16:11] <AryehGregor> Then: return PRUint32(floor(size + 0.5));
  860. # [16:12] <AryehGregor> Well, that part is irrelevant, I guess.
  861. # [16:12] <AryehGregor> The SVG spec says: let d = floor(s * 3*sqrt(2*pi)/4 + 0.5)
  862. # [16:12] <AryehGregor> So maybe (3/2) == 1 is actually intentional somehow. :P
  863. # [16:13] <AryehGregor> I could try changing that and recompiling, may as well give it a shot.
  864. # [16:13] <AryehGregor> Hmm, what does this mean: // Blur radius is approximately 3/2 times the box-blur size
  865. # [16:13] <Philip`> InflateRectForBlurDXY does the 3/2 for SVG box blurs (vs Gaussian blurs), I think
  866. # [16:13] <AryehGregor> Quite possible.
  867. # [16:13] <AryehGregor> Well, let me see.
  868. # [16:14] <AryehGregor> Isn't it nice how one can spot bugs without actually having any idea what the code does?
  869. # [16:15] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
  870. # [16:15] <Philip`> Changing the (3/2) to 1.5 or whatever should make the blurs somewhat bigger, which is hopefully a change in the right direction
  871. # [16:16] * AryehGregor wonders how the convention of "compilers should spam your terminal with spectacular quantities of incomprehensible garbage" developed
  872. # [16:16] * Joins: plainhao (~plainhao@mail.xbiotica.com)
  873. # [16:16] <Philip`> That's probably the Makefile, not the compiler
  874. # [16:16] <AryehGregor> Then replace "compilers" with "the compilation process" if you like.
  875. # [16:16] <Philip`> except in the case of compiler errors in STL code, which is totally the compiler's fault for not caring about users
  876. # [16:17] <AryehGregor> Okay, this is much better.
  877. # [16:17] <Workshiva> Makefiles aren't a process as much as a somewhat deterministic trainwreck
  878. # [16:17] <AryehGregor> Now the HTML is somewhat more blurry than the SVG.
  879. # [16:17] <AryehGregor> Unlike Opera, where they're identical.
  880. # [16:18] <AryehGregor> (open http://aryeh.name/tmp/test.svg and http://aryeh.name/tmp/test.html, tab between them, should see no noticeable change)
  881. # [16:19] <Philip`> Is there some way to toggle the SVG between Gaussian and box blurs?
  882. # [16:19] <Philip`> Oh, sorry, it always does box blurs
  883. # [16:20] <AryehGregor> Yeah, apparently no one does actual Gaussian blurs, too expensive when box blurs look the same.
  884. # [16:20] * Quits: peol (~andree@unaffiliated/peol) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.17/2009122204])
  885. # [16:23] * Quits: pesla (~pesla@188.202.125.121) (Quit: kthxbye!)
  886. # [16:23] * Philip` notes that http://test.w3.org/html/tests/submission/PhilipTaylor/canvas/index.2d.shadow.blur.html uses a true Gaussian for comparison
  887. # [16:23] <jgraham> What margin of error>
  888. # [16:23] <jgraham> ?
  889. # [16:24] <Philip`> and in Opera they look very similar
  890. # [16:24] <AryehGregor> Various sources say doing three box blurs in the right way gets you within 3% of a true Gaussian blur.
  891. # [16:24] <AryehGregor> Without all the exponentiation and things.
  892. # [16:24] <Philip`> (except blur.low has some faintly visible banding in Opera's canvas)
  893. # [16:24] <AryehGregor> Your tests look about the same actual vs. expected in my patched Firefox.
  894. # [16:25] <AryehGregor> It's hard to say for sure, though. It's easier to see when they're superimposed and you can flip back and forth.
  895. # [16:25] <Philip`> Right click -> open image in tab
  896. # [16:25] <AryehGregor> And for the canvas?
  897. # [16:26] <AryehGregor> Oh, that has "View Image" too.
  898. # [16:26] <AryehGregor> At least in Firefox.
  899. # [16:26] <Philip`> Yeah
  900. # [16:26] <Philip`> It's quite handy :-)
  901. # [16:26] <AryehGregor> Okay, they're definitely different in patched Firefox, but much less so.
  902. # [16:26] * Joins: erlehmann (~erlehmann@dslb-188-103-023-238.pools.arcor-ip.net)
  903. # [16:27] * Quits: zcorpan_ (~zcorpan@c-d798e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan_)
  904. # [16:27] <Philip`> Is the difference smaller than the difference between canvas and SVG?
  905. # [16:27] <Philip`> Or, equivalently, do Firefox and Opera agree on the SVG blur?
  906. # [16:27] <AryehGregor> Everything agrees on the SVG blur as far as I can tell in a side-by-side comparison.
  907. # [16:27] <AryehGregor> I haven't tried superimposing them.
  908. # [16:27] * AryehGregor tries that
  909. # [16:28] * Joins: nimbupani (~nimbupani@c-24-22-131-46.hsd1.wa.comcast.net)
  910. # [16:29] * Philip` is getting confused as to what's identical and what's a little different and what's a lot different
  911. # [16:30] <AryehGregor> I can't tell any difference between Firefox, Chrome, or Opera's renderings of my SVG when superimposed, nor any difference before Opera's canvas and SVG.
  912. # [16:30] <Philip`> Okay
  913. # [16:30] <AryehGregor> I notice a distinct difference between my SVG and HTML in Chrome and (patched) Firefox when superimposed.
  914. # [16:30] <AryehGregor> And also in your test case.
  915. # [16:32] <AryehGregor> Opera doesn't give me an image link for the canvas images. :(
  916. # [16:33] <Philip`> javascript:location=c.toDataURL();
  917. # [16:33] * AryehGregor sighs
  918. # [16:34] * Joins: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se)
  919. # [16:34] <AryehGregor> Yeah, they look basically identical superimposed in Opera.
  920. # [16:36] <AryehGregor> . . . c is the same as document.getElementById("c")? Really? How did I never know that?
  921. # [16:36] <AryehGregor> I guess it's not encouraged to use it for serious stuff in case something else shadows the element, though.
  922. # [16:36] * Quits: jorlow (~jorlow@nat/google/x-dhmeahvjritzuwhv) (Read error: Operation timed out)
  923. # [16:36] <AryehGregor> Okay, I'll just post the patch, I guess.
  924. # [16:40] * Joins: jorlow (~jorlow@74.125.57.60)
  925. # [16:42] * Joins: annevk5 (~annevk@53530AD4.cable.casema.nl)
  926. # [16:43] <Philip`> AryehGregor: I think the c shortcut doesn't work in e.g. standards mode in Firefox
  927. # [16:43] <AryehGregor> Interesting.
  928. # [16:43] <Philip`> so don't rely on it
  929. # [16:46] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Ping timeout: 245 seconds)
  930. # [16:53] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  931. # [16:55] * Quits: yutak_home (~kee@U017209.ppp.dion.ne.jp) (Quit: Ex-Chat)
  932. # [17:00] * Joins: Maurice (copyman@5ED573FA.cable.ziggo.nl)
  933. # [17:09] * Joins: bobchao (~cctw@140.109.16.241)
  934. # [17:13] * Joins: m_W (~mwilcox56@c-68-38-230-216.hsd1.nj.comcast.net)
  935. # [17:15] * Quits: annevk5 (~annevk@53530AD4.cable.casema.nl) (Quit: annevk5)
  936. # [17:15] * Quits: maikmerten (~maikmerte@port-92-201-196-56.dynamic.qsc.de) (Remote host closed the connection)
  937. # [17:16] * Quits: SecretAgent (sa@quake.nitemare.name) (*.net *.split)
  938. # [17:16] * Joins: SecretAgent (sa@quake.nitemare.name)
  939. # [17:18] * Joins: MikeSmithX (~MikeSmith@EM114-48-195-198.pool.e-mobile.ne.jp)
  940. # [17:19] * Joins: KaOSoFt (~maxzagato@unaffiliated/kaosoft)
  941. # [17:19] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
  942. # [17:20] * Quits: MikeSmith (~MikeSmith@EM114-48-176-39.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
  943. # [17:22] * Quits: seventh (galofort@208.98.1.237) (Remote host closed the connection)
  944. # [17:22] * Quits: romeo (~romeo__@x1-6-00-07-95-57-08-bb.k459.webspeed.dk) (Quit: Leaving)
  945. # [17:25] <AryehGregor> https://bugzilla.mozilla.org/show_bug.cgi?id=578995
  946. # [17:28] <AryehGregor> Philip`, roc: ^^
  947. # [17:30] <TabAtkins> AryehGregor: So, actually inverting the gaussian (so I can get a function that takes the blur length and spits out the stdev) requires the Lambert W. You're mathier than I. I assume that's dumb to calculate?
  948. # [17:31] <AryehGregor> TabAtkins, Lambert W is not expressible in terms of elementary functions. It's probably fairly expensive to calculate, but it should only need to be calculated once per declaration, so shouldn't be a big deal.
  949. # [17:32] <TabAtkins> Unless you're animating the shadow, of course.
  950. # [17:32] <AryehGregor> Heh, yeah.
  951. # [17:32] <AryehGregor> Then you're going to have to cheat.
  952. # [17:32] <TabAtkins> You can iterate it with some Newton's method, but still.
  953. # [17:32] <TabAtkins> I suspect that'd probably converge quickly.
  954. # [17:32] <TabAtkins> Since we can make a good guess already.
  955. # [17:33] <Philip`> Why would you want to force people to do something so complex?
  956. # [17:33] <AryehGregor> Yes, apparently you need to use Newton's method here. No x86 instruction for it or anything.
  957. # [17:33] <AryehGregor> Philip`, so they have some idea of what it does instead of passing in arbitrary numbers.
  958. # [17:33] <TabAtkins> I don't. I'm just providing an example of how to calculate the stdev, if you wanted to use an actual gaussian. If you wanted to use something else, that's probably easier to calculate.
  959. # [17:34] <AryehGregor> Or maybe harder.
  960. # [17:35] <Philip`> It seems like in practice "something else" is an approximation of a Gaussian, so you still calculate the same sigma
  961. # [17:35] <TabAtkins> Maybe. Anyway, getting an approximation within the range I want to specify is good enough.
  962. # [17:36] * AryehGregor wonders if there's any point in adding [parity-opera][parity-ie][parity-safari] to the whiteboard of his bug, or if it's just noise
  963. # [17:36] * Joins: ayo (~nya@fuld-4d00d7fb.pool.mediaWays.net)
  964. # [17:37] <TabAtkins> Probably just noise. It's a clear and simple spec violation in the first place.
  965. # [17:38] <Philip`> AryehGregor: You should probably add an r+ flag if you want the patch reviewed
  966. # [17:38] <AryehGregor> I assume you mean r?.
  967. # [17:38] <Philip`> Oh
  968. # [17:38] <Philip`> Yeah
  969. # [17:38] <AryehGregor> I think me adding r+ to my own patch would be considered objectionable.
  970. # [17:39] <AryehGregor> Also, it's obviously r-, because 1) it doesn't fully fix the problem, and 2) it has no tests.
  971. # [17:39] <AryehGregor> So it's not ready for review yet.
  972. # [17:39] * Quits: zalan (~zalan@catv-89-135-140-7.catv.broadband.hu)
  973. # [17:39] <Philip`> Oh, okay then
  974. # [17:39] <Philip`> Surely it has at least as many tests as the original shadow implementation, though
  975. # [17:39] * Quits: ako (~nya@fuld-4d00d38e.pool.mediaWays.net) (Ping timeout: 240 seconds)
  976. # [17:39] <Philip`> and presumably they were good enough then
  977. # [17:41] * Joins: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net)
  978. # [17:41] <AryehGregor> I see no tests for the original shadow implementation. That was in September 2008, maybe they weren't as picky about tests then?
  979. # [17:42] <Workshiva> That's when nobody implemented shadows at all, isn't it?
  980. # [17:42] <AryehGregor> When I submitted a patch a few months ago, I was told every new commit had to have patches, except for security fixes and things that were just impossible to test.
  981. # [17:42] <AryehGregor> I mean, had to have tests.
  982. # [17:42] <Philip`> It untodoed the tests in https://bug310682.bugzilla.mozilla.org/attachment.cgi?id=335212
  983. # [17:43] <AryehGregor> I'm pretty sure commits were always required to have patches. You aren't supposed to make empty commits to send messages to readers of the commit mailing list or anything.
  984. # [17:43] <AryehGregor> Oh, I missed that.
  985. # [17:43] <AryehGregor> Yeah, it had test updates in a separate commit.
  986. # [17:43] <Philip`> Sometimes you are, e.g. if you forget to mention the bug number in an earlier commit :-)
  987. # [17:44] * Quits: ukai (~ukai@220.109.219.244) (Ping timeout: 265 seconds)
  988. # [17:45] <AryehGregor> Hmm, that's lots of isPixel tests. I wonder how the original tests were devised? What reference was used?
  989. # [17:45] <AryehGregor> Because if they pass, they're probably wrong. :)
  990. # [17:45] <AryehGregor> (but maybe just incomplete)
  991. # [17:45] <Philip`> The original tests are the ones I wrote
  992. # [17:45] <AryehGregor> So why didn't they fail?
  993. # [17:45] <Philip`> I think I didn't have any testing the shape/size of the blur precisely, though
  994. # [17:46] <Philip`> since everyone will approximate it and round differently etc so it's hard to know what tolerances to allow
  995. # [17:46] <Philip`> so I just stuck with manual visual verification tests for that
  996. # [17:47] <AryehGregor> How do I run those tests to see if they still pass with my patch applied?
  997. # [17:47] <Philip`> http://test.w3.org/html/tests/submission/PhilipTaylor/canvas/index.2d.shadow.html
  998. # [17:48] <Philip`> I think that's basically all of them, except for boring attribute getting/setting/etc
  999. # [17:48] <Philip`> (Don't remember if I've made many changes since the version imported into Mozilla)
  1000. # [17:48] <AryehGregor> Oh, interesting.
  1001. # [17:49] <jgraham> Hixie: given html like <svg></svg> I think the current spec has a crash. The </svg> fails to switch the parser out of foreign content mode. The EOF then keeps popping until an <svg> or <math> token is reached, which never happens because there isn't one
  1002. # [17:49] <jgraham> (if someone else fancies checking that before I file a bug it would be appreciated)
  1003. # [17:49] <AryehGregor> Well, my change causes no extra failures on that page.
  1004. # [17:50] <AryehGregor> A reftest between SVG and canvas would be cool, if that could be arranged.
  1005. # [17:50] <AryehGregor> It would make sense for them to share code anyway, I would think, no?
  1006. # [17:50] <AryehGregor> (but if not, probably they won't be pixel-perfect, oh well)
  1007. # [17:50] * Quits: pauld (~chatzilla@194.102.13.2) (Ping timeout: 245 seconds)
  1008. # [17:52] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: This computer has gone to sleep)
  1009. # [17:52] * Joins: jwalden (~waldo@adsl-71-147-38-111.dsl.emhril.sbcglobal.net)
  1010. # [17:53] * Joins: deepthawtz (~deepthawt@c-24-130-129-16.hsd1.ca.comcast.net)
  1011. # [17:53] * Quits: workmad3 (~workmad3@cspool86.cs.man.ac.uk) (Remote host closed the connection)
  1012. # [17:54] * Quits: ayo (~nya@fuld-4d00d7fb.pool.mediaWays.net) (Quit: EXEC_over.METHOD_SUBLIMATION)
  1013. # [17:57] <AryehGregor> Philip`, you need to make one big page with all your tests, that outputs the number passed and failed without requiring you to count. Then everyone will start using your tests as a barometer of how good their HTML5 compliance is.
  1014. # [17:57] <Philip`> AryehGregor: I've already got http://philip.html5.org/tests/canvas/suite/tests/results.html
  1015. # [17:58] <AryehGregor> Is that updated automatically?
  1016. # [17:58] <Philip`> No
  1017. # [17:58] <Philip`> Well, partly
  1018. # [17:58] * AryehGregor realizes that IE9 is actually up to PP3, not PP2, oops
  1019. # [17:59] <Philip`> http://philip.html5.org/tests/canvas/suite/reportgenentry.html lets you run the tests
  1020. # [17:59] <Philip`> and if you're me and you're running it on localhost then you can save the results to a database
  1021. # [17:59] <Philip`> and then regenerate the results table
  1022. # [17:59] <AryehGregor> Nice.
  1023. # [18:00] <Philip`> It'd be nice if the W3C Testing TF got a system running for more easily running tests and submitting results
  1024. # [18:00] * AryehGregor looks pointedly at TabAtkins.
  1025. # [18:00] <TabAtkins> Yes, yes, I'm working on it.
  1026. # [18:00] <Philip`> so I haven't bothered trying to upload my own test harness there
  1027. # [18:01] <Philip`> TabAtkins: Work faster :-p
  1028. # [18:01] <TabAtkins> I try, but then I get distracted by shiny objects and CSS emails.
  1029. # [18:01] <Philip`> The fate of the web depends on you
  1030. # [18:01] <TabAtkins> o_O
  1031. # [18:01] * TabAtkins notes that we are, indeed, fucked.
  1032. # [18:02] <kling> Philip`: fwiw webkit will be a loot greener in the next update of that page :)
  1033. # [18:02] <kling> lot*
  1034. # [18:02] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  1035. # [18:02] <Philip`> kling: Yeah, I've been seeing lots of nice-looking commit messages :-)
  1036. # [18:03] <AryehGregor> Interesting, Opera maxes out both cores while loading the full page.
  1037. # [18:03] <AryehGregor> At least part of the time.
  1038. # [18:03] <AryehGregor> (unless it's something else that's randomly running at the same time)
  1039. # [18:03] <Philip`> Maybe it's just running an idle loop in a background thread, to trick you into thinking it's making full use of your hardware
  1040. # [18:04] <AryehGregor> Those sneaky Europeans.
  1041. # [18:05] <jwalden> Philip`: jresig was at one time working on something like that (test swarm?)
  1042. # [18:05] * Joins: boblet (~boblet@p1201-ipbf709osakakita.osaka.ocn.ne.jp)
  1043. # [18:05] * Joins: estellevw (~estelle@adsl-99-170-149-16.dsl.pltn13.sbcglobal.net)
  1044. # [18:06] <AryehGregor> We don't need anything fancy. For starters, just have a JavaScript framework that can be run as a regular old web page.
  1045. # [18:07] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: Leaving)
  1046. # [18:07] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  1047. # [18:11] * AryehGregor finds Chrome dev channel at 82.1%, Firefox nightly at 77.0%, Opera 10.60 at 79.8%
  1048. # [18:11] * AryehGregor maliciously gave three significant figures so Opera would be below 80%
  1049. # [18:14] * Joins: Necrathex (~bleptop@212-123-163-12.ip.telfort.nl)
  1050. # [18:14] <gsnedders> For the canvas tests?
  1051. # [18:16] * Quits: davidhund (~davidhund@78-27-27-74.dsl.alice.nl) (Quit: davidhund)
  1052. # [18:21] * Quits: boblet (~boblet@p1201-ipbf709osakakita.osaka.ocn.ne.jp) (Quit: boblet)
  1053. # [18:22] * Quits: akamike (~akamike@94-193-106-14.zone7.bethere.co.uk) (Quit: akamike)
  1054. # [18:22] <AryehGregor> This is for all of Philip`'s tests.
  1055. # [18:26] * Quits: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se) (Remote host closed the connection)
  1056. # [18:29] * Joins: pauld (~chatzilla@194.102.13.2)
  1057. # [18:29] * Quits: weinig (~weinig@c-69-181-125-223.hsd1.ca.comcast.net) (Quit: weinig)
  1058. # [18:30] * Quits: Phae (~Phae@chimera.macmillan.com) (Quit: Leaving.)
  1059. # [18:32] * AryehGregor observes that gmail.com is the domain name of 50% of the addresses notified when he changes his bug, and the runner-up is . . . a 16-way tie between 16 different domains, most of them personal domains. Interesting.
  1060. # [18:33] <Philip`> Gmail seems like the only webmail service you wouldn't be embarrassed to use
  1061. # [18:33] <Philip`> e.g. nobody would take you seriously if you were @hotmail.com
  1062. # [18:34] <AryehGregor> One of the addresses was @aol.com!
  1063. # [18:34] <AryehGregor> I also know someone @earthlink.net.
  1064. # [18:34] <AryehGregor> (That person uses dial-up too.)
  1065. # [18:34] <jgraham> Is hixie.ch slow for everyone?
  1066. # [18:34] <TabAtkins> No.
  1067. # [18:35] <AryehGregor> Someone needs to make slowforeveryoneorjustme.com.
  1068. # [18:35] <jgraham> Specifically the live dom viewer
  1069. # [18:35] <Workshiva> ... I was going to say that, AryehGregor !
  1070. # [18:35] <jgraham> Actauuly that is timing out in firefox
  1071. # [18:35] * Quits: estellevw (~estelle@adsl-99-170-149-16.dsl.pltn13.sbcglobal.net) (Quit: estellevw)
  1072. # [18:35] <jgraham> Which is causing a YSOD
  1073. # [18:35] <jgraham> Because of a missing entity in the error document
  1074. # [18:36] * abarth|zZz is now known as abarth
  1075. # [18:36] <TabAtkins> Nm, yes it is running a bit slow.
  1076. # [18:36] <AryehGregor> Okay, time to stop dilly-dallying and go study some math for the next half of my six-ish-hour day. Back in a few hours.
  1077. # [18:37] * Joins: nicktick (debian-tor@gateway/tor-sasl/nicktick)
  1078. # [18:46] * Quits: jcranmer (~jcranmer@asimov.csl.tjhsst.edu) (Ping timeout: 245 seconds)
  1079. # [18:48] * Joins: jcranmer (~jcranmer@asimov.csl.tjhsst.edu)
  1080. # [18:52] * Joins: maikmerten (~maikmerte@port-92-201-196-56.dynamic.qsc.de)
  1081. # [18:54] * Joins: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se)
  1082. # [18:57] * Joins: JonathanNeal (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com)
  1083. # [18:58] <TabAtkins> Writing on the @srcdoc proposal was making me wonder why a <sandbox @flags @length></sandbox> tag wouldn't work, then it hit me - encoding differences. Many/most authors have no idea that there's a difference between bytes and characters, and the sort of minefield that most languages make them step through to deal with unicode properly.
  1084. # [19:01] <othermaciej> also the fallback behavior would be insecure
  1085. # [19:01] <TabAtkins> Ah, right, yeah.
  1086. # [19:01] <othermaciej> rather than failing
  1087. # [19:01] <othermaciej> which may or may not be better, depending on your use case
  1088. # [19:02] <othermaciej> if you are also doing server-side filtering and want sandbox for defense in depth, it would be better
  1089. # [19:02] * Joins: davidhund (~davidhund@dnuhd.xs4all.nl)
  1090. # [19:03] <othermaciej> it would also be oddly non-orthogonal for the parser to sometimes ignore a close tag in this case
  1091. # [19:04] <othermaciej> <sandbox @secure-token> </sandbox @secure-token> could work but carries risk if the token is predictable
  1092. # [19:04] <TabAtkins> It would be a matter of "consume @length characters from the stream - if the next 10 characters are not </sandbox>, ??? (abort, retry, continue)"
  1093. # [19:04] <TabAtkins> Yeah, the rest of the suggestions I remembered the problems with.
  1094. # [19:05] <othermaciej> I guess both that and encoding issues are harder to deal with correctly than the minimal escaping required for @srcdoc
  1095. # [19:05] <TabAtkins> Yes.
  1096. # [19:05] <TabAtkins> @srcdoc is just data: with slightly easier escaping and a slightly better fail model.
  1097. # [19:06] <othermaciej> yeah, I guess a hypothetical inline sandboxing mechanism would have to not parse its contents normally at all, if it was going to put it in an imaginary frame
  1098. # [19:06] * Joins: aroben (~aroben@unaffiliated/aroben)
  1099. # [19:07] <othermaciej> people also suggested these mechanisms as things would actually put the sandboxed content in the same document tree, but that makes it hard to implement anything other than just disabling of scripts in the sandboxed content
  1100. # [19:07] <TabAtkins> Presumably it would be "consume @length characters, then continue consuming characters until </sandbox> is encountered, and stuff everything so consumed into a sandboxed context".
  1101. # [19:07] <Philip`> It looks like the failure mode for @length would be subtle and insecure - you insert some Unicode characters so the server thinks length=1000 (bytes) and the browser reads 1000 characters which causes it to skip over </sandbox>...<sandbox> into the next comment where you carefully insert your own </sandbox> and break out
  1102. # [19:07] <othermaciej> fancier sandbox flag like unique origin would be harder
  1103. # [19:07] <TabAtkins> But (1) that makes it easy to eat the entire page if you compute it wrong, and (2) it makes it easy to just say length=0 because it "always works" until someone malicious puts </sandbox> in their content.
  1104. # [19:07] * Quits: mat_t (~mattomasz@91.189.88.12) (Quit: This computer has gone to sleep)
  1105. # [19:08] <TabAtkins> Philip`: Yeah, all sorts of issues around @length. They just weren't immediately obvious, so I had to spend some time thinking about it.
  1106. # [19:08] <othermaciej> length=0 doesn't always work - it would expect the </sandbox> tag immediately and go into failure mode (whatever that is)
  1107. # [19:09] <TabAtkins> length=0 is assuming my "forgiving" mode of seeking forward to the next </sandbox>.
  1108. # [19:09] <othermaciej> if you don't find a </sandbox> tag in the right place, presumably the only safe thing to do is eat the rest of the page
  1109. # [19:09] <othermaciej> ah
  1110. # [19:09] <TabAtkins> Because the strict mode could only, um, kill the page?
  1111. # [19:09] * Philip` doesn't think security and forgiveness mix well
  1112. # [19:09] <othermaciej> using <sandbox length=0> with those semantics would add no security whatsoever
  1113. # [19:09] <TabAtkins> Exactly.
  1114. # [19:09] <TabAtkins> So, that's junked.
  1115. # [19:10] <TabAtkins> (The problem is it *appears* to work just fine, until the obvious exploit happens.)
  1116. # [19:11] <othermaciej> any plausible @length proposal would need to not have such an escape clause
  1117. # [19:11] <TabAtkins> Yes.
  1118. # [19:11] * Joins: jlebar (~jlebar@63.245.220.220)
  1119. # [19:11] <othermaciej> I think the main problem with nonzero length is the bytes vs. characters trap as discussed
  1120. # [19:12] <TabAtkins> And if the failure mode is "eat the page" and it only happens in rare cases, that's not very good.
  1121. # [19:12] * Quits: davidhund (~davidhund@dnuhd.xs4all.nl) (Quit: ... succes ermee! :-))
  1122. # [19:12] <othermaciej> I wonder how tricky it is to escape any </sandbox> tags vs. the escaping required for @srcdoc
  1123. # [19:12] <TabAtkins> A decent bit.
  1124. # [19:13] <Philip`> s/</&lt;/g vs s/"/&quot;/g
  1125. # [19:13] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  1126. # [19:13] <TabAtkins> Especially if you allow *only* </sandbox> or every valid syntactic variant.
  1127. # [19:13] <othermaciej> is there any way to stick one in that won't appear in an obvious literal search?
  1128. # [19:13] <TabAtkins> Isn't something like < / sandbox > allowed?
  1129. # [19:13] <Philip`> The problem with only requiring escaping of </sandbox> is that people will forget to escape it, and then won't notice until they're attacked
  1130. # [19:13] * Quits: pauld (~chatzilla@194.102.13.2) (Ping timeout: 245 seconds)
  1131. # [19:14] <TabAtkins> Philip`: You can't just generally escape <, because that defeats the entire purpose of allowing markup, which is why sandbox exists in the first place.
  1132. # [19:14] <othermaciej> if you fail to escape quotes in @srcdoc I guess you notice immediately
  1133. # [19:14] <Philip`> whereas with @srcdoc, they'll notice as soon as they try to write any " character
  1134. # [19:14] <Philip`> which is likely to happen in common usage
  1135. # [19:14] <TabAtkins> othermaciej: Precisely - quotes are common, and will fail with non-malicious content.
  1136. # [19:14] <TabAtkins> And will fail in an obvious way.
  1137. # [19:15] * TabAtkins has dealt with forgetting to escape quotes before - it's really easy to see what you did wrong.
  1138. # [19:15] <Philip`> It'll be obvious if they have a syntax-highlighting view-source feature, at least
  1139. # [19:16] <TabAtkins> I mean it's obvious in the page itself, when you have a sentence cut off like "And I think it isn".
  1140. # [19:16] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 276 seconds)
  1141. # [19:16] <Philip`> TabAtkins: Why can't you generally escape <, and define <sandbox> so that it unescapes the content before inserting into an iframe for rendering?
  1142. # [19:16] <TabAtkins> Philip`: I suppose that fixes the fallback for <sandbox>, but not the other issues with @length.
  1143. # [19:16] <Philip`> TabAtkins: People don't use single-quotes for attributes
  1144. # [19:17] <TabAtkins> Philip`: Yes they do?
  1145. # [19:17] <Philip`> Much less than double-quotes
  1146. # [19:17] <TabAtkins> Okay, sure, but double-quotes are still pretty common in content.
  1147. # [19:17] * TabAtkins single-quotes all the time to avoid hitting shift.
  1148. # [19:17] <Philip`> (I forget the numbers but I think there was well over 10x difference in popularity of " vs ')
  1149. # [19:19] <Philip`> Maybe we should use e as the sandbox delimiter
  1150. # [19:19] <TabAtkins> Heh.
  1151. # [19:19] <Philip`> so that people are extremely likely to notice when they forget it
  1152. # [19:19] <TabAtkins> That fails for chinese!
  1153. # [19:19] <Philip`> unless they're Chinese
  1154. # [19:19] <Philip`> Yeah :-(
  1155. # [19:20] <TabAtkins> Do statistical analysis of the page's textContent and escape on the top 5 characters in the histogram.
  1156. # [19:20] <Philip`> Just hard-code it based on TLD
  1157. # [19:21] <TabAtkins> What about data:?
  1158. # [19:21] <TabAtkins> Or localhost, I suppose. Intranets in general.
  1159. # [19:21] <Philip`> Base it on the user's locale
  1160. # [19:22] <Philip`> Add a series of submenus to let users override the default if it's wrong
  1161. # [19:22] <Philip`> Anyway, @srcdoc still seems like the least bad option
  1162. # [19:24] <TabAtkins> Indeed.
  1163. # [19:25] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  1164. # [19:25] * TabAtkins also expects @length to fail from authors, frex, measuring length and *then* escaping & or something.
  1165. # [19:31] * Joins: dandaman (~Daniel.Sa@216.52.240.243)
  1166. # [19:31] <dandaman> <select id="intCountriesList" name="intCountriesList" size="5"
  1167. # [19:31] <dandaman> onchange="regionsOrCities($('intCountriesList').value)" style="height: 63px;">
  1168. # [19:31] <dandaman> <option value="" title="--Select Country--">--Select Country--</option>
  1169. # [19:31] <dandaman> </select>
  1170. # [19:31] <dandaman> my onchange isnt doing anything?
  1171. # [19:31] <dandaman> minus a question mark, anyone have an idea
  1172. # [19:31] <Workshiva> Do you unfocus the select?
  1173. # [19:31] <dandaman> yea
  1174. # [19:32] <dandaman> but i click back into it
  1175. # [19:32] <Workshiva> But you don't need the $(), you can just use this.value (or even value)
  1176. # [19:32] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  1177. # [19:32] * Joins: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com)
  1178. # [19:32] <TabAtkins> Does @onchange="alert('foo')" work?
  1179. # [19:32] <dandaman> hold on
  1180. # [19:33] <dandaman> TabAtkins: yeah alert foo works
  1181. # [19:33] <dandaman> i didnt have tha @ symbol though
  1182. # [19:34] <TabAtkins> Yeah, that's just me referring to an attribute.
  1183. # [19:34] <dandaman> kk
  1184. # [19:34] <TabAtkins> What about onchange="alert(this.value)"?
  1185. # [19:35] <dandaman> yep
  1186. # [19:35] <dandaman> that works
  1187. # [19:35] <TabAtkins> Then try onchange="regionsOrCities(this.value)"
  1188. # [19:36] <TabAtkins> (Note that the jQuery object returned by $('intCountriesList') doesn't have a .value property, though it does have a .value() method.)
  1189. # [19:36] * Joins: cardona507 (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net)
  1190. # [19:36] <dandaman> tried that, didnt work
  1191. # [19:36] <dandaman> im gonna try fiddling around with the function
  1192. # [19:36] * Quits: f1lt3r (~f1lt3r@64.119.159.231) (Read error: Connection reset by peer)
  1193. # [19:37] <TabAtkins> Well, you've isolated the problem at least. It's with the function, not your onchange.
  1194. # [19:37] <Philip`> Shouldn't it be $('#intCountriesList')?
  1195. # [19:37] <dandaman> its the function
  1196. # [19:37] <TabAtkins> Depends; if it's Prototype, no.
  1197. # [19:37] <TabAtkins> Maybe Prototype has .value, I dunno.
  1198. # [19:37] * Joins: f1lt3r (~f1lt3r@64.119.159.231)
  1199. # [19:38] <dandaman> ty for the help
  1200. # [19:38] * Quits: Rik` (~Rik`@213.41.141.234) (Quit: Rik`)
  1201. # [19:38] <TabAtkins> np
  1202. # [19:38] <dandaman> god damn this channel is so much more useful than C++ or C, those Aholes just call me a retard constantly
  1203. # [19:38] <TabAtkins> Testing with alert() is the equivalent of debugging with printf.
  1204. # [19:38] <TabAtkins> Not best practice, but damned if it doesn't work.
  1205. # [19:39] <dandaman> ill keep it in mind, thanks
  1206. # [19:39] * TabAtkins wouldn't recommend going to a c++ channel for javascript help in the first place.
  1207. # [19:40] <dandaman> i meant for c++ help
  1208. # [19:40] <dandaman> ok back to work, thanks again
  1209. # [19:40] * Parts: dandaman (~Daniel.Sa@216.52.240.243)
  1210. # [19:40] * Joins: weinig (~weinig@17.246.16.234)
  1211. # [19:40] <TabAtkins> The reasoning against <sandbox content=[base64-encoded]> is just that base64 makes things considerably larger, right? Are there other security considerations I don't get?
  1212. # [19:40] * Quits: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se) (Remote host closed the connection)
  1213. # [19:41] <TabAtkins> Well, content-in-base64-in-attributes is presumably even more of an antipattern than content-in-attributes.
  1214. # [19:41] <othermaciej> it's certainly no better, although it requires 0 additional escaping
  1215. # [19:41] <othermaciej> though if you are base-64 encoding you may as well use a data: attribute so no new feature would really be needed
  1216. # [19:42] <Workshiva> Yeah, I don't see the gain
  1217. # [19:44] <TabAtkins> A data: url used in <iframe @src> is automatically unique-origin, right? (Though presumably we could change that, so @sandbox's origin flag could actually have an effect.)
  1218. # [19:47] * Quits: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net) (Remote host closed the connection)
  1219. # [19:47] <AryehGregor> [100715 13:13:39] <Philip`> TabAtkins: Why can't you generally escape <, and define <sandbox> so that it unescapes the content before inserting into an iframe for rendering? <-- This was my suggestion, which I think I came up with before srcdoc was added to the spec, or certainly before I knew about it. But srcdoc is a better solution.
  1220. # [19:47] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  1221. # [19:47] <TabAtkins> AryehGregor: That's just a solution to the bad-fallback problem, though. It doesn't solve any of the other problems.
  1222. # [19:48] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Quit: adactio)
  1223. # [19:48] <AryehGregor> No, it solves all the same problems srcdoc does.
  1224. # [19:48] <TabAtkins> Well, what happens if the parser sees <sandbox><b>foo!</b></sandbox>?
  1225. # [19:49] <AryehGregor> If it sees <>"'& unescaped, it consumes everything up to the next </sandbox> and displays the iframe as empty or with an error message or something.
  1226. # [19:49] <AryehGregor> This means that lack of escaping will be quickly caught, same as srcdoc.
  1227. # [19:49] <AryehGregor> Although if it's not caught, then of course it will be vulnerable, same as srcdoc (unless you eat the page).
  1228. # [19:50] <wirepair> with the track record of people escaping <>"'& i'd say base64 encoding would be a safer solution
  1229. # [19:50] * Quits: f1lt3r (~f1lt3r@64.119.159.231) (Read error: Connection reset by peer)
  1230. # [19:50] <TabAtkins> And what if the user content is "<b>Foo!</b></sandbox><script src=evil></script>"?
  1231. # [19:50] * Joins: smaug_ (~chatzilla@a91-154-44-92.elisa-laajakaista.fi)
  1232. # [19:50] <wirepair> TabAtkins exactly ;)
  1233. # [19:50] <AryehGregor> With srcdoc, what if the user content is: "></sandbox><script src=evil></script>
  1234. # [19:50] * Joins: f1lt3r (~f1lt3r@64.119.159.231)
  1235. # [19:50] * Quits: oal (~oal@5.79-160-122.customer.lyse.net) (Read error: Operation timed out)
  1236. # [19:51] <wirepair> i do pen-testing / security research for a living, and trust me, escaping/encoding "> seems to be beyond a lot of people
  1237. # [19:51] <AryehGregor> If there's no escaping, you're screwed, sure. But if it fails fast on innocuous content with no escaping, people will escape.
  1238. # [19:51] <TabAtkins> I think that people using " in their comments is more common than people using <, personally.
  1239. # [19:51] <AryehGregor> I said it should fail on " for exactly that reason.
  1240. # [19:51] <TabAtkins> But it may not be a hugely significant difference.
  1241. # [19:51] <AryehGregor> Even though there's technically no reason it should have to.
  1242. # [19:51] <TabAtkins> Oh, I see.
  1243. # [19:51] <AryehGregor> (I mean, no reason you'd need to escape " otherwise.)
  1244. # [19:51] <AryehGregor> And ' too, even.
  1245. # [19:51] <TabAtkins> I missed that part, yeah.
  1246. # [19:51] <Philip`> Base64 means you need to understand encodings
  1247. # [19:51] <AryehGregor> So it will fail even faster than srcdoc.
  1248. # [19:52] <Philip`> (since you have to apply it to bytes, and have to agree with the browser on the interpretation of those bytes)
  1249. # [19:52] <wirepair> ah right.
  1250. # [19:52] <Philip`> which seems like a pain
  1251. # [19:52] <wirepair> srcdoc in general seems like a pain though
  1252. # [19:52] <wirepair> ;)
  1253. # [19:52] * Joins: mpt (~mpt@canonical/mpt)
  1254. # [19:53] * TabAtkins wonders if having to escape <>&'" is worth the convenience of having the content as "real" elements.
  1255. # [19:53] <Philip`> With @srcdoc there's no additional character encoding issue over what's already needed for the rest of your content
  1256. # [19:53] <wirepair> what exactly is the benefit of having the data inline as opposed to it being an external document?
  1257. # [19:53] <TabAtkins> Saving a network request.
  1258. # [19:54] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (Quit: othermaciej)
  1259. # [19:54] <AryehGregor> And saving authoring complexity.
  1260. # [19:54] <TabAtkins> (Possibly *many*, if you have, say, 200 blog comments that each need to be sandboxed.)
  1261. # [19:54] <AryehGregor> So you don't have to write a separate script that will repeat all your permissions checks and whatever all over again.
  1262. # [19:54] <wirepair> well, could you not put those 200 blog comments in a single file, but yeah i get your point
  1263. # [19:54] * Joins: JonathanNeal_ (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com)
  1264. # [19:55] <TabAtkins> wirepair: Not if you want to be able to put stuff on the comment structure that needs to run scripts, like a thumbs up voter or something.
  1265. # [19:55] <AryehGregor> Then they can interfere with each other. Not necessarily so bad, but not preferable. Ideally any monkey business should be isolated.
  1266. # [19:55] <AryehGregor> Right, that too.
  1267. # [19:55] <wirepair> yeah no i understand ;)
  1268. # [19:55] <AryehGregor> You could absolutely-position stuff over it, if you're insane, but . . .
  1269. # [19:55] <TabAtkins> Yeah, no, that's stupid. ^_^
  1270. # [19:56] <wirepair> so far what has the most 'votes' for srcdoc, just escaping "<>&' ?
  1271. # [19:56] <TabAtkins> No, just escape " and & (or ', if you use that for your attributes).
  1272. # [19:57] <wirepair> ah gotcha
  1273. # [19:57] <TabAtkins> And escaping & isn't even necessary for security; skipping it just means that sometimes things will get eaten as escapes when they aren't.
  1274. # [19:57] * Quits: JonathanNeal (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com) (Ping timeout: 258 seconds)
  1275. # [19:57] * Joins: maikmerten_ (~maikmerte@port-92-201-134-113.dynamic.qsc.de)
  1276. # [19:57] <TabAtkins> So really, just escape whatever quote character you're ursing.
  1277. # [19:58] <wirepair> and the source documents content encoding has precedence yeah? my concern would be malformed multibyte sequences
  1278. # [19:58] <TabAtkins> Yes.
  1279. # [19:58] <TabAtkins> If you're not encoding everything in utf-8 you're doing it wrong anyway.
  1280. # [19:59] <wirepair> jeez, please tell that to japan ;)
  1281. # [19:59] <TabAtkins> I will.
  1282. # [19:59] * TabAtkins shakes his fist vaguely west-ward.
  1283. # [19:59] <wirepair> haha
  1284. # [19:59] * Quits: maikmerten (~maikmerte@port-92-201-196-56.dynamic.qsc.de) (Ping timeout: 246 seconds)
  1285. # [20:00] <TabAtkins> What's Japan's common encoding? utf-16, or one of those legacy encodings designed just for japanese?
  1286. # [20:00] <wirepair> well my customers used Shift_JIS a lot
  1287. # [20:00] <wirepair> on rare occassions you'll come across euc-jp
  1288. # [20:01] <wirepair> but yeah utf-8 is becoming more commonplace for sure
  1289. # [20:03] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  1290. # [20:06] * Quits: foolip (~foolip@83.218.67.122) (Quit: Leaving)
  1291. # [20:06] * Quits: kennyluck (~kennyluck@133.27.228.178) (Quit: kennyluck)
  1292. # [20:08] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (Client Quit)
  1293. # [20:19] * Joins: estellevw (~estelle@173-164-227-246-SFBA.hfc.comcastbusiness.net)
  1294. # [20:22] * Quits: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com) (Ping timeout: 240 seconds)
  1295. # [20:23] * Joins: pauld (~chatzilla@74.125.57.50)
  1296. # [20:24] <Hixie> the main problem with a caret blinking API is that you need a way to know what to repaint
  1297. # [20:26] <Hixie> we could have a method that takes the x,y position of the center of the caret and works out (from the font size and baseline settings and from the OS caret width preferences) where to draw the caret, and then have it return an object that's x,y,w,h
  1298. # [20:27] <Hixie> but that seems like a pain
  1299. # [20:27] <Hixie> the alternative is to just have the method take an x,y,w,h and draw a caret at that position, potentially not following the OS rules on caret width if the given width isn't enough to draw the caret
  1300. # [20:28] <Hixie> we could also tell authors to provide a big width with the x,y being in the center, but then the problem is dealing with edge cases
  1301. # [20:28] <Hixie> maybe we should have the method take x,y,w,h of the text field, then a separate x,y of the caret
  1302. # [20:29] <Hixie> and the caret just gets clipped to the x,y,w,h
  1303. # [20:31] * Joins: dave_levin (~dave_levi@74.125.59.65)
  1304. # [20:32] * Quits: pauld (~chatzilla@74.125.57.50) (Remote host closed the connection)
  1305. # [20:32] <Hixie> or we could say you have to repaint whatever your clip region is
  1306. # [20:33] <Hixie> and then just clip it to the clip region
  1307. # [20:33] <Hixie> so if you want to reduce your workload you just set your clip region to just the control before calling the method, or something
  1308. # [20:34] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  1309. # [20:41] * Quits: jorlow (~jorlow@74.125.57.60) (Quit: jorlow)
  1310. # [20:44] * Joins: dbaron (~dbaron@nat/mozilla/x-ttcvvjptibrhdblg)
  1311. # [20:46] * Joins: JonathanNeal (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com)
  1312. # [20:46] * Joins: mmn (~mmn@129-97-225-230.uwaterloo.ca)
  1313. # [20:48] * Quits: JonathanNeal_ (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com) (Ping timeout: 258 seconds)
  1314. # [20:55] * Quits: cardona507 (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net) (Quit: zzzzz)
  1315. # [20:57] * Joins: michaeln (~michaeln@nat/google/x-dsipxcthqpwvklfk)
  1316. # [20:57] <Hixie> which is better, having the caret drawing code take a callback that is invoked when the caret needs to be redrawn for blinking, or having the author just call the caret code 20 times a second just in case the user has a 10Hz blink rate?
  1317. # [20:57] * Quits: estellevw (~estelle@173-164-227-246-SFBA.hfc.comcastbusiness.net) (Quit: estellevw)
  1318. # [20:59] <TabAtkins> Based on my limited experience with <canvas>, I prefer something that I can call myself whenever I repaint.
  1319. # [21:00] <Hixie> well for a caret you don't want to repaint the whole canvas each time
  1320. # [21:00] * Joins: kennyluck (~kennyluck@EM114-48-17-10.pool.e-mobile.ne.jp)
  1321. # [21:00] * Quits: kennyluck (~kennyluck@EM114-48-17-10.pool.e-mobile.ne.jp) (Excess Flood)
  1322. # [21:00] <TabAtkins> Pfft. My text editor will have a live video background.
  1323. # [21:01] <Hixie> there is so much wrong with that sentence...
  1324. # [21:01] * Quits: weinig (~weinig@17.246.16.234) (Quit: weinig)
  1325. # [21:02] <TabAtkins> Then I can use webkit's background-clip:text to play a *different* video for the text itself.
  1326. # [21:02] <TabAtkins> Though that's silly, obviously. The video itself should play in the text, then a grayscale in the background.
  1327. # [21:02] <Hixie> there's no _canvas_ in this fantasy :-P
  1328. # [21:03] * Joins: weinig (~weinig@17.246.16.234)
  1329. # [21:03] <TabAtkins> You can't use video directly as a background, I don't think. So you have to draw it into a canvas at 50 fps.
  1330. # [21:03] <TabAtkins> Also, grayscaling the video needs canvas.
  1331. # [21:03] <TabAtkins> Or SVG, I suppose.
  1332. # [21:04] * TabAtkins wonders if SVG filters on a <video> can get copied into a <canvas>.
  1333. # [21:04] <Hixie> i know i may be out of luck, since we're talking about drawing a caret to a canvas, but does anyone have any _sane_ use case experience to provide here? :-P
  1334. # [21:04] <TabAtkins> You've already lost the sane people.
  1335. # [21:04] <TabAtkins> I'm going to implement a text editor that plays pong with the letters.
  1336. # [21:07] <TabAtkins> But seriously, I don't want my caret to blink out too fast just because a callback happened to trigger a few milliseconds before I was otherwise going to repaint.
  1337. # [21:07] <TabAtkins> I'd just end up using the callback to flip a variable that I then check in my actual drawing code, and then I might as well just have a property that exposes whether the caret should be visible or not.
  1338. # [21:08] <Hixie> the way i envision this, you don't worry about blinking the caret
  1339. # [21:08] <Hixie> drawCaret() just decides based on a timer whether to draw the caret or not for this frame
  1340. # [21:08] <TabAtkins> Yes, that would be fine. I can call drawCaret() in the rest of my drawing code, right?
  1341. # [21:08] <jgraham> I vaugely feel like a callback is better if the browser is providing the timing
  1342. # [21:09] <Hixie> or maybe an event?
  1343. # [21:09] <jgraham> But I have nothing to go on there
  1344. # [21:09] <Hixie> <canvas onredrawcaret=""> ?
  1345. # [21:09] <jgraham> yuck
  1346. # [21:09] * TabAtkins had problems with flickering when he tried to have things draw on separate schedules.
  1347. # [21:10] * Joins: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se)
  1348. # [21:10] <jgraham> Hmm, I can see that could be an issue
  1349. # [21:16] * Joins: othermaciej (~mjs@17.246.16.182)
  1350. # [21:19] * Quits: plainhao (~plainhao@mail.xbiotica.com) (Quit: plainhao)
  1351. # [21:21] * Quits: nimbupani (~nimbupani@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: nimbupani)
  1352. # [21:21] <jgraham> So, do we also need drawSelection?
  1353. # [21:21] <jgraham> It seems like canvas apps could always put the caret at the end of the selection
  1354. # [21:22] <jgraham> Althought I suppose that would be bad if they tried to differentiate their behaviour based on OS
  1355. # [21:22] <jgraham> (which seems unlikely but possible)
  1356. # [21:22] <jgraham> It also seems possible that people will fail to move the caret when drawing a selection if they have to do it manually
  1357. # [21:23] <jgraham> (I'm not sure how draw selection could work really)
  1358. # [21:23] <jgraham> (so it may not even be possible to do in a sane way)
  1359. # [21:25] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 245 seconds)
  1360. # [21:26] <jgraham> Hixie: BTW I filed a bug in the handling of EOF after a foreign-content closing tag
  1361. # [21:26] <jgraham> e.g. <svg></svg>
  1362. # [21:28] <Hixie> jgraham: i haven't been able to find good documentation on accessibility APIs' handling of selections
  1363. # [21:28] * Joins: justicefries (~gerred@c-98-245-71-126.hsd1.co.comcast.net)
  1364. # [21:28] <Hixie> (accessibility APIs in general are pretty poorly documented)
  1365. # [21:29] <AryehGregor> Do most browsers cache HTTP redirects already? Apparently IE9 now does.
  1366. # [21:29] <Hixie> i don't really see what such an API would do, though
  1367. # [21:29] <TabAtkins> AryehGregor: Yes.
  1368. # [21:29] <TabAtkins> At least, it is indeed done.
  1369. # [21:29] <Hixie> we don't need an API to say what the selected text _is_, which might well be something AAPIs would care about
  1370. # [21:30] <Hixie> (we don't need it because the UA already knows what the text is since they have the control itself in the DOM)
  1371. # [21:32] <jgraham> Hixie: AFAICT the only point is to control where the magnifier is positioned
  1372. # [21:32] <jgraham> It has to be at the end of the selection
  1373. # [21:32] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  1374. # [21:33] <jgraham> For reasons I don't follow Richard seems to think that the fact that OSX doesn't move the caret to the end of selections means that we need a seperate API
  1375. # [21:33] <jgraham> (or an accessibility-specific API)
  1376. # [21:33] * Quits: jlebar (~jlebar@63.245.220.220) (Quit: Leaving)
  1377. # [21:36] * Joins: BArOc (~maxzagato@190.24.156.162)
  1378. # [21:37] * Quits: KaOSoFt (~maxzagato@unaffiliated/kaosoft) (Ping timeout: 240 seconds)
  1379. # [21:38] <jgraham> Hixie: Your change proposal for ISSUE 32 fails to make the case for UAs being required to implement the summary attribute. Given the arguments presented above it seems like they would be better off not doing that
  1380. # [21:38] <othermaciej> there is no caret when you have a non-caret selection established
  1381. # [21:39] * Quits: meledin_ (~vladi@f2.c7.5d45.static.theplanet.com) (Read error: Operation timed out)
  1382. # [21:39] * Quits: jgraham (~jgraham@web22.webfaction.com) (Read error: Operation timed out)
  1383. # [21:40] <othermaciej> let me check how/whether carets or selections are represented via Accessibility Inspector
  1384. # [21:42] * Quits: maikmerten_ (~maikmerte@port-92-201-134-113.dynamic.qsc.de) (Read error: Connection reset by peer)
  1385. # [21:42] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 240 seconds)
  1386. # [21:42] * Quits: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
  1387. # [21:43] * Joins: meledin_ (~vladi@f2.c7.5d45.static.theplanet.com)
  1388. # [21:43] <othermaciej> both are exposed via the http://axdb.apple.com/AXSelectedTextMarkerRange property
  1389. # [21:43] * Joins: jgraham (~jgraham@web22.webfaction.com)
  1390. # [21:43] <othermaciej> ignore the URLey bits, it's just AXSelectedTextMarkerRange
  1391. # [21:44] * Quits: eighty4 (~eighty4@c-76c8e455.012-403-6c6b701.cust.bredbandsbolaget.se) (Remote host closed the connection)
  1392. # [21:44] * Joins: dandaman (~Daniel.Sa@216.52.240.243)
  1393. # [21:46] <othermaciej> and the assistive technology is allowed to query the bounding box of the reported text marker range
  1394. # [21:46] * Joins: jlebar (~jlebar@nat/mozilla/x-baogfughzpiefivv)
  1395. # [21:46] <othermaciej> so to fulfill the selection-related accessibility APIs, we would need to know the bounding box of the current selection or caret
  1396. # [21:47] * Parts: dandaman (~Daniel.Sa@216.52.240.243)
  1397. # [21:48] * Quits: bobchao (~cctw@140.109.16.241) (Ping timeout: 258 seconds)
  1398. # [21:48] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  1399. # [21:48] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  1400. # [21:49] <othermaciej> there's also a way to request the text marker (and thereby if needed a string for a range) for a point, but that aspect seems impractical to do with canvas (you'd have to have a JS callback for the web developer's code to do hit testing)
  1401. # [22:06] * Quits: davidb_ (~davidb@mozca02.ca.mozilla.com) (Quit: davidb_)
  1402. # [22:06] * Joins: cardona507 (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net)
  1403. # [22:20] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  1404. # [22:23] * Quits: othermaciej (~mjs@17.246.16.182) (Read error: Connection reset by peer)
  1405. # [22:23] * Joins: mdelaney (~mdelaney@171.66.51.191)
  1406. # [22:24] <TabAtkins> AryehGregor: You around?
  1407. # [22:24] <AryehGregor> Yes.
  1408. # [22:24] * Joins: othermaciej (~mjs@17.246.16.182)
  1409. # [22:24] * Parts: danbri (~danbri@unaffiliated/danbri) ("Leaving")
  1410. # [22:25] <TabAtkins> On this: http://forums.xkcd.com/viewtopic.php?p=2236984#p2236984 is the second step valid? I see they've moved the 2 out of e's power's denominator by squaring, but I think it should have more effect than just squaring the G.
  1411. # [22:25] * TabAtkins just uses AryehGregor for math from now on.
  1412. # [22:26] <AryehGregor> Ugh, don't they have a LaTeX display extension there?
  1413. # [22:26] <TabAtkins> Yes they do. Do you have js turned on?
  1414. # [22:26] <AryehGregor> Yes.
  1415. # [22:26] <Philip`> Yes, if you wait ten seconds for it to load
  1416. # [22:27] <AryehGregor> Not working for me.
  1417. # [22:27] <TabAtkins> I'll screenshot then.
  1418. # [22:28] <Philip`> I presume they should have had (2\pi)^2 on the left
  1419. # [22:28] <TabAtkins> Philip`: Plus squaring the 1/omega^2 on the right.
  1420. # [22:29] <Philip`> Oh, I missed that
  1421. # [22:30] <TabAtkins> http://www.xanthir.com/etc/math.png
  1422. # [22:31] <jgraham> The last line should have x^2 on the top of the fraction
  1423. # [22:31] <AryehGregor> The second step looks okay, multiply by 2pi and square both sides. Except that you should have (2pi)^2 on the left.
  1424. # [22:31] <TabAtkins> AryehGregor: (ab)^2 is a^2 * b^2, though.
  1425. # [22:31] <TabAtkins> So the rhs should square the 1/omega^2 as well.
  1426. # [22:31] <AryehGregor> You mean sigma?
  1427. # [22:32] <TabAtkins> Um, yes.
  1428. # [22:32] <AryehGregor> Oh, right, I missed that.
  1429. # [22:32] <jgraham> That is true
  1430. # [22:32] <AryehGregor> Yes, should be sigma^4.
  1431. # [22:32] <TabAtkins> kk, so it's all kinds of messed up. Great.
  1432. # [22:32] <TabAtkins> Well, the important part was done for me.
  1433. # [22:32] <AryehGregor> The general idea is right, though.
  1434. # [22:32] <AryehGregor> I somehow doubt we actually want to mandate this in CSS.
  1435. # [22:32] <TabAtkins> No, we don't. But I was asked for it. ^_^
  1436. # [22:33] <TabAtkins> There are much easier approximations that should get close enough.
  1437. # [22:33] <jgraham> That means it doesn't end up in the nice simple W exp(W) form they want though
  1438. # [22:33] <TabAtkins> Oh, hm.
  1439. # [22:33] <jgraham> (the 1/sigma^4)
  1440. # [22:33] <AryehGregor> Oh, you're trying to isolate sigma, hmm?
  1441. # [22:33] <AryehGregor> Well, so don't square.
  1442. # [22:33] <Philip`> Just go with 37% instead of 1% and it's trivial :-p
  1443. # [22:33] <AryehGregor> Just multiply both sides by -x^2/pi.
  1444. # [22:33] <AryehGregor> I mean.
  1445. # [22:33] <AryehGregor> -x^2 * pi.
  1446. # [22:33] <jgraham> Yes
  1447. # [22:34] <AryehGregor> Whatever.
  1448. # [22:34] <TabAtkins> AryehGregor: Yeah.
  1449. # [22:34] <AryehGregor> Then take the W function.
  1450. # [22:34] <TabAtkins> kk
  1451. # [22:34] <TabAtkins> Hm, yeah, not sure why they thought it was necessary to pull the 2 out of the exp.
  1452. # [22:34] <jgraham> So yeah, basically it is all kinds of wrong
  1453. # [22:34] <jgraham> But the right general idea :)
  1454. # [22:39] <TabAtkins> K, I've posted an updated version that I think fixed the original flaws.
  1455. # [22:39] <TabAtkins> Urg, wait, G is still getting squared.
  1456. # [22:40] <TabAtkins> k, fixed.
  1457. # [22:41] <TabAtkins> Hmm... The starting point is still wrong, though - there's a sqrt in the original equation that got dropped.
  1458. # [22:41] <annevk> wtf is leif on about
  1459. # [22:41] <annevk> i explained why i didn't entirely agreed
  1460. # [22:42] <annevk> oh well
  1461. # [22:42] <AryehGregor> TabAtkins, you seem to be using some mix of the two-dimensional and one-dimensional equations from Wikipedia.
  1462. # [22:42] <annevk> not like this is anything new
  1463. # [22:42] <hober> annevk: I never understand his emails
  1464. # [22:42] <TabAtkins> AryehGregor: I'm not, the responder is. I'm fixing it now.
  1465. # [22:42] <TabAtkins> I'm Xanthir in this conversation.
  1466. # [22:43] <AryehGregor> I know.
  1467. # [22:43] <AryehGregor> You can drop the \pm, by the way. Standard deviations are always treated as positive.
  1468. # [22:43] <TabAtkins> Yeah.
  1469. # [22:44] <TabAtkins> Lessee... 1/sqrt(2*pi*sigma^2) is the same as 1/(sqrt(2*pi)*sigma), right?
  1470. # [22:44] * TabAtkins knows this is basic algebra.
  1471. # [22:46] <TabAtkins> Hm, though. That then seems to make it more difficult to get the RHS into the correct form. Damn.
  1472. # [22:46] * Quits: roc (~roc@121.98.230.221) (Quit: roc)
  1473. # [22:47] <annevk> I'm no longer going to contribute to polyglot discussions
  1474. # [22:47] <annevk> waste of time
  1475. # [22:47] <TabAtkins> Welcome to the club of "everyone else in the world", anne.
  1476. # [22:47] * Joins: romeo_ (~romeo__@x1-6-00-07-95-57-08-bb.k459.webspeed.dk)
  1477. # [22:47] <AryehGregor> If sigma is positive, then yes, it's the same.
  1478. # [22:47] <AryehGregor> This is where you want to square it.
  1479. # [22:47] <AryehGregor> That won't harm the exponential (just knock out a constant), but it will get the sigma squared.
  1480. # [22:48] <TabAtkins> Ah, you're right.
  1481. # [22:48] <AryehGregor> Maybe the original poster's mistakes weren't where you thought. :)
  1482. # [22:48] <AryehGregor> (we, whateveR)
  1483. # [22:48] <annevk> I can't believe there are so many replies and nobody called Leif on his nonsense
  1484. # [22:49] <annevk> (for the record, my latest reply was before the "I'm no longer ..." above; though I should at least rectify such nonsense for once)
  1485. # [22:49] <annevk> thought*
  1486. # [22:49] <TabAtkins> AryehGregor: Yup, you're right. If we pretend that the first step has a \sqrt where it needs to, then the second step is correct.
  1487. # [22:49] <jgraham> annevk: I don't think that anyone understand much of what leif says tbh
  1488. # [22:50] <jgraham> So he is often just ignored
  1489. # [22:50] * Quits: othermaciej (~mjs@17.246.16.182) (Read error: Connection reset by peer)
  1490. # [22:51] * Joins: othermaciej (~mjs@17.246.16.182)
  1491. # [22:52] <annevk> Sam replied directly to him
  1492. # [22:53] <annevk> still not sure what a good color for webforms2.org would be
  1493. # [22:53] <annevk> what can beat hotpink? ;p
  1494. # [22:53] <TabAtkins> annevk: What part of MQ did you want reviewed?
  1495. # [22:56] <Philip`> annevk: It should blink
  1496. # [22:56] <Philip`> (using APNG)
  1497. # [22:57] <TabAtkins> Aw yeah.
  1498. # [23:01] * Quits: jlebar (~jlebar@nat/mozilla/x-baogfughzpiefivv) (Ping timeout: 240 seconds)
  1499. # [23:03] * Quits: miketaylr (~miketaylr@38.117.156.163) (Remote host closed the connection)
  1500. # [23:03] * Joins: jlebar (~jlebar@nat/mozilla/x-ksxsanytbbatehzj)
  1501. # [23:05] * Joins: roc (~roc@203-97-204-82.dsl.clear.net.nz)
  1502. # [23:10] * Quits: abarth (~abarth@c-98-210-108-185.hsd1.ca.comcast.net) (Quit: abarth)
  1503. # [23:10] * Quits: othermaciej (~mjs@17.246.16.182) (Read error: Connection reset by peer)
  1504. # [23:11] * Quits: mdelaney (~mdelaney@171.66.51.191) (Quit: mdelaney)
  1505. # [23:11] * Joins: othermaciej (~mjs@17.246.16.182)
  1506. # [23:12] * Joins: cardona507_ (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net)
  1507. # [23:12] * Quits: cardona507 (~cardona50@c-24-130-129-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
  1508. # [23:12] * cardona507_ is now known as cardona507
  1509. # [23:13] * Quits: ROBOd (~robod@92.86.244.224) (Quit: .)
  1510. # [23:13] * Quits: jlebar (~jlebar@nat/mozilla/x-ksxsanytbbatehzj) (Ping timeout: 240 seconds)
  1511. # [23:13] * Joins: mdelaney (~mdelaney@171.66.51.191)
  1512. # [23:14] * Joins: abarth (~abarth@c-67-169-69-72.hsd1.ca.comcast.net)
  1513. # [23:18] * Joins: MikeSmithXX (~MikeSmith@EM114-48-44-185.pool.e-mobile.ne.jp)
  1514. # [23:19] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  1515. # [23:20] * Joins: jgornick (~joe@199.199.212.242)
  1516. # [23:20] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  1517. # [23:22] * Quits: MikeSmithX (~MikeSmith@EM114-48-195-198.pool.e-mobile.ne.jp) (Ping timeout: 276 seconds)
  1518. # [23:30] * Quits: othermaciej (~mjs@17.246.16.182) (Read error: Connection reset by peer)
  1519. # [23:31] * Joins: othermaciej (~mjs@17.246.16.182)
  1520. # [23:40] * Joins: oal (~oal@5.79-160-122.customer.lyse.net)
  1521. # [23:42] * Quits: Maurice (copyman@5ED573FA.cable.ziggo.nl)
  1522. # [23:43] <Hixie> jgraham: feel free to write another CP that removes the need for UAs to implement it too
  1523. # [23:43] <Hixie> jgraham: you can copy mine and just change that bit if you want
  1524. # [23:43] <Hixie> othermaciej: so wait, what do we need to expose?
  1525. # [23:43] <Hixie> othermaciej: just the bounding box of the selection? not the actual selection?
  1526. # [23:43] <Hixie> othermaciej: does OS X have wide carets?
  1527. # [23:43] <Hixie> othermaciej: (in windows you can set the width of the caret apparently)
  1528. # [23:44] <Hixie> (which makes a caret drawing function hard)
  1529. # [23:44] <othermaciej> when you are in a normal editable text area on OS X (at least in WebKit), the following pieces of data can be obtained:
  1530. # [23:44] <othermaciej> - the endpoints of the selection range (equal to each other if the selection is a caret), in an abstract form that isn't exactly a character offset
  1531. # [23:45] <othermaciej> - the ability to get the string of text in that range
  1532. # [23:45] <othermaciej> - the ability to get the visual bounding box of that range
  1533. # [23:46] <othermaciej> there is also the means in the API to ask for a text marker for a given point, but I am not sure if any assistive technologies actually use that
  1534. # [23:46] <Hixie> well the first two are easy since we have the underlying control already
  1535. # [23:46] <Hixie> the third one is harder... what can we use as a surrogate in the API for exposing that?
  1536. # [23:46] <othermaciej> right, the first two don't require any additions to what HTML5 has, if you put a text control in the child DOM
  1537. # [23:46] <Hixie> for just a caret we can just have a caret drawing function
  1538. # [23:46] <Hixie> but for a selection...
  1539. # [23:46] <othermaciej> drawing a caret or selection is one possibility
  1540. # [23:47] <othermaciej> of course, it may be hard to spec drawing a selection in a way that is both cross-platform and useful to web developers
  1541. # [23:47] <Hixie> hard is one way to put it
  1542. # [23:48] <Hixie> i wonder what the equivalent is on windows
  1543. # [23:49] <othermaciej> I tried to look at some MSAA docs and I couldn't find anything for the selection, as opposed to the caret, and Rich claimed Windows apps report the end of the selection as the caret position
  1544. # [23:49] <othermaciej> but I have no firsthand knowledge of that
  1545. # [23:49] <annevk> Philip`, sweet
  1546. # [23:49] <annevk> Philip`, can you make one?
  1547. # [23:50] <annevk> TabAtkins, just what changed; section 2/3
  1548. # [23:50] <annevk> TabAtkins, but only if you have time, it's not necessary
  1549. # [23:50] <Philip`> annevk: I've forgotten how to do it
  1550. # [23:50] <TabAtkins> annevk: I've had it sitting in my open tabs since yesterday, so I might as well.
  1551. # [23:51] <Philip`> Most of my APNGs were created by a Perl script I wrote, but that's not so great since I didn't implement any of the decent PNG compression methods
  1552. # [23:51] <annevk> TabAtkins, though please no feature requests ;p
  1553. # [23:51] <Hixie> othermaciej: he also claimed something similar for OS X which is apparently wrong
  1554. # [23:52] <annevk> Philip`, it's a 32x32 image...
  1555. # [23:52] <TabAtkins> annevk: No promises.
  1556. # [23:52] <Philip`> I think there might have been a Firefox extension that made APNGs easily
  1557. # [23:52] <jgraham> Please no flashing favicons
  1558. # [23:52] * Philip` wonders if support has become more widespread recently
  1559. # [23:53] <jgraham> I will have to kill you
  1560. # [23:53] <Philip`> jgraham: What about subtle pulsing?
  1561. # [23:53] <jgraham> And then we will have even fewer editors for web specs
  1562. # [23:53] <othermaciej> Hixie: I think he may be confused about how selections work on OS X
  1563. # [23:53] <annevk> means you'll finally come to the Netherlands?
  1564. # [23:53] * Philip` still likes http://zaynar.co.uk/favicon.ico
  1565. # [23:53] <othermaciej> when you hit an arrow key when you have a selection, you do get a caret at a specific point
  1566. # [23:53] <annevk> might be worth it ;p
  1567. # [23:53] <othermaciej> but prior to that point, there *is* no caret
  1568. # [23:54] <othermaciej> but he interprets that as the caret was secretly at the end of the selection
  1569. # [23:54] <jgraham> Philip`: "subtle" meaning with a ime period of > 1 week, say?
  1570. # [23:54] <jgraham> s/ime//
  1571. # [23:54] <othermaciej> that's not how the AX APIs expose it, afaict
  1572. # [23:54] * AryehGregor still likes http://www.p01.org/releases/DEFENDER_of_the_favicon/
  1573. # [23:55] <Philip`> jgraham: APNG has a maximum of 65535 seconds per frame, so I suppose you'd only need ten frames for that
  1574. # [23:55] <Philip`> although I don't know how well implementations handle timers like that
  1575. # [23:55] <Philip`> (I don't fancy testing it)
  1576. # [23:56] <AryehGregor> A time period of a few minutes sounds good to me. Maybe half an hour.
  1577. # [23:56] <AryehGregor> Once in a while, someone will notice some movement out of the corner of their eye.
  1578. # [23:56] <AryehGregor> Then go crazy trying to figure out what it is.
  1579. # [23:57] <TabAtkins> Sounds like what I did with the tech support portal at my old job.
  1580. # [23:57] <annevk> a speed that drives jgraham temporarily insane is acceptable I think
  1581. # [23:58] <annevk> there's no reason to visit webforms2.org anyway
  1582. # [23:58] <annevk> it's a reminder of what that was
  1583. # [23:58] <AryehGregor> TabAtkins, what did you do with the tech support portal at your old job?
  1584. # [23:59] <TabAtkins> It was named GLaDOS for no particular reason, so of course I needed to put in more references to insane AIs. 1 out of every 3 pageloads, the PHP writes in some js that flashes a full-screen picture of SHODAN for a fraction of a second (the delay of a setTimeout(func,0) call) with a random timer of roughly 5 minutes.
  1585. # [23:59] <AryehGregor> Your company sounds fun to work for.
  1586. # [23:59] <TabAtkins> That was an internal tool, so I could fuck around.
  1587. # [23:59] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  1588. # [23:59] <AryehGregor> But you shouldn't rely on setTimeout(func,0) taking a nonzero amount of time. That's not forward-compatible.
  1589. # Session Close: Fri Jul 16 00:00:00 2010

The end :)