/irc-logs / freenode / #whatwg / 2010-11-30 / end

Options:

  1. # Session Start: Tue Nov 30 00:00:00 2010
  2. # Session Ident: #whatwg
  3. # [00:00] * Quits: bckenny (~bckenny@nat/google/x-tivigampbkxemoit) (Read error: Operation timed out)
  4. # [00:00] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  5. # [00:04] * Quits: bckenny_ (~bckenny@nat/google/x-ntqfanuatshjrkqx) (Remote host closed the connection)
  6. # [00:05] * Joins: bckenny (~bckenny@nat/google/x-wfxxusznmiygupfo)
  7. # [00:15] * Quits: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com) (Ping timeout: 255 seconds)
  8. # [00:16] * Quits: dglazkov (~dglazkov@nat/google/x-fkdayemrelyajqri) (Quit: dglazkov)
  9. # [00:17] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  10. # [00:17] * Quits: davidwalsh_ (~davidwals@75-135-74-55.dhcp.mdsn.wi.charter.com) (Quit: Reading http://davidwalsh.name)
  11. # [00:18] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
  12. # [00:21] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
  13. # [00:22] * Joins: dglazkov_ (~dglazkov@nat/google/x-cymnkaecadpefahy)
  14. # [00:22] * Quits: dglazkov_ (~dglazkov@nat/google/x-cymnkaecadpefahy) (Client Quit)
  15. # [00:28] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  16. # [00:33] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  17. # [00:33] * Parts: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  18. # [00:34] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
  19. # [00:34] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  20. # [00:40] <Hixie> othermaciej: i just noticed the link to the CP for -127 on the issue-status page is broken (points to a -129 CP if i'm not mistaken)
  21. # [00:42] <othermaciej> Hixie: ok, I'll look into it
  22. # [00:50] * Joins: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com)
  23. # [00:52] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  24. # [00:56] * Parts: paulschreiber (~Adium@d226-43-177.home.cgocable.net)
  25. # [00:58] * Quits: smaug____ (~chatzilla@ZYYYMDCCCXXIII.gprs.sl-laajakaista.fi) (Ping timeout: 240 seconds)
  26. # [00:59] <TabAtkins> Hixie: Could you fix your blog's site heading to point back to the homepage? Right now it's just underlined and curser-pointing plain text, which is *really annoying* to interact with.
  27. # [00:59] <Hixie> did the xbl break? 'doh
  28. # [00:59] <Hixie> d'oh een
  29. # [00:59] <TabAtkins> It's never worked in my memory.
  30. # [01:00] <Hixie> it worked in mozilla many years ago
  31. # [01:00] <Hixie> i should fix the styling on my blog in general
  32. # [01:00] <TabAtkins> If you're overriding it with xbl, at least make the default rendering an <a>.
  33. # [01:00] <TabAtkins> s/rendering/tree or whatever/
  34. # [01:00] <Hixie> well it was just a page to fool around with, not ever a serious page
  35. # [01:00] <Hixie> i'll add "redesign site" to my todo list
  36. # [01:00] <TabAtkins> Still, it trips me up *every time* I visit. ^_^
  37. # [01:01] <Hixie> i haven't blogged in forever, you can just not visit :-)
  38. # [01:01] <TabAtkins> I don't know that!
  39. # [01:01] <TabAtkins> also: blog more.
  40. # [01:01] <TabAtkins> note to self: blog more too.
  41. # [01:01] <Hixie> i fear that if i blogged it'd all just be me ranting
  42. # [01:01] <Hixie> e.g. about julian's latest CPs
  43. # [01:01] <TabAtkins> Ranting is interesting.
  44. # [01:02] <TabAtkins> And it gives people like cssquirrel something to do.
  45. # [01:02] <Hixie> rofl, i just got to the mail where mark suggested that to make the pingback spec more reliably available, i should move it from hixie.ch to whatwg.org
  46. # [01:03] <TabAtkins> Hosted on the same server, right?
  47. # [01:03] <Hixie> it's the same web server, same dns servers, and same registrant.
  48. # [01:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-23-51.pool.e-mobile.ne.jp)
  49. # [01:06] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
  50. # [01:07] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Quit: Kthxbye!)
  51. # [01:08] * Quits: MikeSmith (~MikeSmith@EM111-188-27-98.pool.e-mobile.ne.jp) (Ping timeout: 276 seconds)
  52. # [01:08] * MikeSmith_ is now known as MikeSmith
  53. # [01:10] <erlehmann> TabAtkins, I asked the alpha gradients question to several people at an extended family gathering. most “non-IT” people initially insist that while the description “50% translucent blue” is understandable (if you have some opaque reference blue), “fully transparent” is something that neither should nor could not be assigned a color in some meaningful way.
  54. # [01:10] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Ping timeout: 265 seconds)
  55. # [01:11] <Dashiva> Fully transparent black is a rather amusing concept
  56. # [01:11] <TabAtkins> That matches my thoughts exactly, erlehmann. The fact that "transparent" has a color in the standard rgba syntax is an accident of notation, and shouldn't be considered meaningful imo.
  57. # [01:12] <Dashiva> The downside is that the IPU is no longer a paradox
  58. # [01:12] <othermaciej> it's a coordinate singularity
  59. # [01:12] <erlehmann> indeed
  60. # [01:13] <TabAtkins> Anyway, my mind's made up on the matter. We use premultiplied in CSS transitions and gradients, and that's that.
  61. # [01:13] <erlehmann> And this is why the common sense approach — linear transitioning each value, but having several colors that look transparent, thus using "fully transparent red" when the gradient includes red and "fully transparent blue" — breaks down as soon as we allow that gradients can have more than two control points: It is simply not possible to go from red to transparent to blue then while conforming to our intuition regarding hues.
  62. # [01:13] <TabAtkins> Right.
  63. # [01:14] <TabAtkins> I don't even want to consider how you would apply that approach to a mesh gradient.
  64. # [01:14] <erlehmann> TabAtkins, The end of the story was rather satisfying: My brother sketched a a circle with hue transitions around the border and a transparent center point; thus treating the hue as angle and transparency as radius. It was obvious that using simple vector addition, we could go from every point to every other one and adding more dimensions would preserve this capability.
  65. # [01:14] <erlehmann> And I think sketching out that colorspace further gave us premultiplying. ;)
  66. # [01:15] <TabAtkins> Yeah, it does.
  67. # [01:15] <TabAtkins> In hsla, the premultiplied space is a hypercone.
  68. # [01:15] <TabAtkins> (It's a hyper-triangular prism or whatever in rgba space, but same deal.)
  69. # [01:16] * Quits: charlvn (~charlvn@nova.charlvn.com) (Quit: Leaving)
  70. # [01:18] <Hixie> erlehmann: wouldn't you go red -> transparent red -> transparent blue -> blue ?
  71. # [01:18] <bckenny> yes, premultiplied alpha has been the only sane way to do it for like 25 years now
  72. # [01:18] <bckenny> the only problem is precision, but graphics libraries shouldnt be filtering on 8 bit linear color anyway...
  73. # [01:18] <TabAtkins> Hixie: The point is that having to explicitly put in *two* transparent colors is silly.
  74. # [01:19] <TabAtkins> linear-gradient(red, rgba(255,0,0,0) 50%, rgba(0,0,255,0) 50%, blue) is ridiculous. It should just be linear-gradient(red, transparent, blue)
  75. # [01:20] <Hixie> no disagreement from me there
  76. # [01:20] <erlehmann> Hixie, it is not only weird notation, you also cannot express something that from intuition has 3 control points reliably with that — as soon as something has alpha, all is lost.
  77. # [01:20] <erlehmann> so for opaque: red -> green -> blue i can use 3 points. but for transparent i'd need four. weird, wouldn't it be?
  78. # [01:21] <Hixie> well we could certainly make the browsers magically expand "transparent" to two colours in a list of colours like that
  79. # [01:22] <erlehmann> DON'T. ;_;
  80. # [01:22] <TabAtkins> We could. Or we could just work in premultiplied space, where that comes for free.
  81. # [01:22] <Hixie> sounds good to me!
  82. # [01:22] <TabAtkins> (And the "auto-expanding" doesn't work for gradients with non-colinear color-stops, like mesh gradients.)
  83. # [01:23] <Hixie> (how does it just work in premultiplied space?)
  84. # [01:23] <TabAtkins> Hixie: I've already suggested it on the list. Moz and Webkit are in favor. ^_^
  85. # [01:23] <erlehmann> TabAtkins, is this referring (or “refering”) to canvas gradients? <TabAtkins> Anyway, my mind's made up on the matter. We use premultiplied in CSS transitions and gradients, and that's that.
  86. # [01:24] <TabAtkins> Hixie: In premultiplied, the space of possible colors shrink as the alpha drops, with transparent itself being the only possible color at alpha=0. The particular transformation of the color-space that this implies means that a straight line from a solid color to transparent always passes through equal-hued variants of the color.
  87. # [01:24] <Philip`> (Even if you don't want it to pass through equal-hued variants :-p )
  88. # [01:25] <erlehmann> it's my brother's napkin-sketch circle, only in THREE DEE!
  89. # [01:25] <erlehmann> Philip`, think outside the cone!
  90. # [01:25] <TabAtkins> (Properly, the number of possible colors doesn't shrink, but the range you can specify does. If you specify colors with discrete components like integers, it reduces the total number of colors, but theoretically there is still the same amount until you hit alpha=0.)
  91. # [01:25] <erlehmann> oh wait, it's 4D.
  92. # [01:25] <Hixie> so going from red to blue via transparent will still have you darkening the colour in the middle?
  93. # [01:26] <TabAtkins> Hixie: No, it looks exactly like it would if you did the two-transparent version.
  94. # [01:27] <Hixie> i'll take your word for it :-)
  95. # [01:27] <TabAtkins> Particularly, things like a transition from white->transparent composited on a white background will be properly invisible, rather than going to a gray in the middle.
  96. # [01:27] <Hixie> well that sounds like a win
  97. # [01:27] * Joins: sicking (~chatzilla@nat/mozilla/x-chimoahfborkxsgb)
  98. # [01:27] <TabAtkins> Hixie: I can draw you diagrams that would make it clearer, but IRC-sized soundbites are hard to communicate color math through.
  99. # [01:27] <Hixie> no need, i have every confidence in your abilities :-)
  100. # [01:28] * Hixie goes back to trying to work out how navigation should work during load
  101. # [01:28] <TabAtkins> Heh, I just properly learned my color-math last week. Before this I was trusting *Boris's* abilities, which admittedly is a pretty good idea in general.
  102. # [01:28] <erlehmann> Hixie, basically, the alpha is the lower bound for the rest of the values, since every value gets multiplied with the alpha. you can see, 50% transparent dark-gray should not occur naturally.
  103. # [01:29] <TabAtkins> Nonono, 50% transparent dark gray is perfectly fine.
  104. # [01:29] <erlehmann> I mean in that whitey transition.
  105. # [01:30] <TabAtkins> Oh, okay.
  106. # [01:30] <erlehmann> white -> transparent
  107. # [01:30] <TabAtkins> But still, saying "the alpha is the lower bound for the rest of the values" isn't right. First, it's an upper bound, and second, it's not actually a bound.
  108. # [01:30] <erlehmann> oh.
  109. # [01:30] <TabAtkins> Not in the way that saying that naively implies.
  110. # [01:30] <jamesr__> AryehGregor: yt?
  111. # [01:30] <AryehGregor> jamesr__, yes.
  112. # [01:30] <AryehGregor> (briefly)
  113. # [01:31] <TabAtkins> Yes, the 4-tuple representing a premultiplied color has no components higher than the alpha. But that's a notational convenience.
  114. # [01:31] <erlehmann> TabAtkins, I retract my statement and state the opposite. And yes, I relied on custom of notation.
  115. # [01:31] <TabAtkins> It doesn't imply that any colors are omitted. A color like rgba(0,0,255,.5) is just represented as (0,0,127.5,.5) in the premultiplied tuple, but it represent the same full-blue color.
  116. # [01:31] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Remote host closed the connection)
  117. # [01:32] <Hixie> so how do you represent rgb(0,0,127.5) with 50% transparency?
  118. # [01:32] <TabAtkins> (half-transparent half-full blue, like rgba(0,0,127,.5), is instead written as (0,0,63.5,.5).)
  119. # [01:32] <Hixie> ah
  120. # [01:32] <erlehmann> ba-dum. tssss.
  121. # [01:33] <Hixie> so how do you know what colour you're representing when alpha=0?
  122. # [01:33] <AryehGregor> You're representing "transparent".
  123. # [01:33] <TabAtkins> You're *not* representing a color - that's the point.
  124. # [01:33] <TabAtkins> transparent is hueless.
  125. # [01:33] <AryehGregor> The other channels are fairly useless in that case, after all.
  126. # [01:33] <TabAtkins> So, as an example of why this is good, say you're transitioning from blue to transparent.
  127. # [01:34] <TabAtkins> Start by converting to components - rgba(0,0,255,1) and rgba(0,0,0,0).
  128. # [01:34] <TabAtkins> Then convert to premultiplied tuples - (0,0,255,1) and (0,0,0,0).
  129. # [01:34] <erlehmann> Hixie, on the risk of being corrected again: it's the tip of the hypercone. all unmultiplied RGB colors with full transparency are mapped to it.
  130. # [01:34] <TabAtkins> Then linearly interpolate.
  131. # [01:35] <TabAtkins> Halfway through, you have the premultiplied color (0,0,127.5,.5). Convert that back to rgba space by dividing each component by the alpha, and you find that this is the representation for the color rgba(0,0,255,.5).
  132. # [01:35] <Philip`> One problem is when you need to convert from premultiplied to non-premultiplied, for (0,0,0,0) you have to arbitrarily pick some non-premultiplied colour which is typically (0,0,0,0) but there's no justification for that
  133. # [01:35] <Hixie> so if you're going from white to transparent, why don't you go through grey? isn't one of the interpolated colours going to be (127,127,127,0.5)?
  134. # [01:35] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  135. # [01:35] <AryehGregor> Hixie, yes, but in postmultiplied form that's (255, 255, 255, 0.5).
  136. # [01:36] <AryehGregor> You only use the premultiplied form for interpolation, not rendering.
  137. # [01:36] * Hixie hugs the html parser like a safety blanket
  138. # [01:36] <AryehGregor> Careful, it's spiky.
  139. # [01:36] <TabAtkins> Hixie: Yeah, it will. Now, convert that tuple back to rgba by dividing each component by the alpha.
  140. # [01:36] <TabAtkins> (You converted from rgba to premult by multiplying each component by the alpha, so dividing is the obvious inverse transform.)
  141. # [01:37] <AryehGregor> Now, what happens when you interpolate between two colors where an intermediate color is imaginary? I.e., it doesn't physically exist and can't be displayed? Someone asked that on the list, and I thought it was a cool question, although it's kind of irrelevant to standard monitors.
  142. # [01:37] <AryehGregor> I guess the UA rounds to the nearest existing color. I wonder how that would look in practice, though.
  143. # [01:37] <TabAtkins> AryehGregor: The obvious thing. You get an imaginary color at some points, which is mapped to an in-gamut color, usually by clipping component-wise.
  144. # [01:37] <bckenny> wait wait, no need to translate back to unpremultiplied
  145. # [01:38] <TabAtkins> AryehGregor: Actually, you often use the premultiplied for rendering as well, because it actually simplifies the compositing math.
  146. # [01:38] <erlehmann> bckenny, ?
  147. # [01:38] <bckenny> (127,127,127,0.5) is half transparent, so when its composited it takes half of the background components and adds 127 to them
  148. # [01:38] <TabAtkins> However, we're used to seeing colors in the rgba space, so it's useful to convert back when talking about colors.
  149. # [01:38] <AryehGregor> Okay, well, I mean that what's displayed is the same as what you get if you specify rgba(255, 255, 255, 0.5) in CSS.
  150. # [01:38] <TabAtkins> Yes.
  151. # [01:38] <bckenny> compositing is color = background * (1-alpha) + foreground
  152. # [01:39] <erlehmann> keep premultiplied for compositing, win price!
  153. # [01:39] <bckenny> so over white, white to transparent would stay white, but over black it would indeed be grey halfway through...but thats what half transparent white over black looks like
  154. # [01:40] <bckenny> ah, sorry, TabAtkins was saying the same thing simultaneously
  155. # [01:40] * Quits: paul_irish (~paul_iris@nat/google/x-rceefiusukojptde) (Remote host closed the connection)
  156. # [01:41] * Joins: paul_irish (~paul_iris@nat/google/x-bngsmbsuhrtcwame)
  157. # [01:42] * Joins: charlvn (~charlvn@nova.charlvn.com)
  158. # [01:43] * Quits: bckenny (~bckenny@nat/google/x-wfxxusznmiygupfo) (Remote host closed the connection)
  159. # [01:44] * Joins: bckenny (~bckenny@nat/google/x-wudbuzpmpfdijxsv)
  160. # [01:45] * Joins: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  161. # [01:45] * Quits: paul_irish (~paul_iris@nat/google/x-bngsmbsuhrtcwame) (Remote host closed the connection)
  162. # [01:46] * Joins: paul_irish (~paul_iris@nat/google/x-hcefhyhatgdlarqy)
  163. # [01:46] * Quits: paul_irish (~paul_iris@nat/google/x-hcefhyhatgdlarqy) (Remote host closed the connection)
  164. # [01:46] * Joins: paul_irish (~paul_iris@nat/google/x-qinziuaeadpdwhdk)
  165. # [01:48] * Quits: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com) (Quit: Leaving)
  166. # [01:48] * Quits: paul_irish (~paul_iris@nat/google/x-qinziuaeadpdwhdk) (Remote host closed the connection)
  167. # [01:49] * Joins: paul_irish (~paul_iris@nat/google/x-aqhlcsoxffqvtyyt)
  168. # [01:50] <TabAtkins> AryehGregor: Unfortunately, Alan Gresley (the guy who asked the question about imaginary colors) doesn't really know what he's talking about. I answered his questions (they're all trivial), but he's very confused about how colors work.
  169. # [01:50] <MikeSmith> commits feed at CIA.vc for the spec appears to be working now
  170. # [01:50] <MikeSmith> http://cia.vc/stats/project/html-spec/.rss
  171. # [01:51] * Quits: jeremyselier (~Jeremy@seg75-1-81-57-242-198.fbx.proxad.net) (Ping timeout: 245 seconds)
  172. # [01:51] <MikeSmith> I guess I'll need to tweak it to filter only on one of the files
  173. # [01:51] * Quits: paul_irish (~paul_iris@nat/google/x-aqhlcsoxffqvtyyt) (Remote host closed the connection)
  174. # [01:51] <MikeSmith> because the way it is now, it will send duplicates each time
  175. # [01:52] * Joins: paul_irish (~paul_iris@nat/google/x-obarjgcvcifyoiqs)
  176. # [01:55] * Quits: erlehmann (~erlehmann@89.204.137.105) (Quit: Die demokratieerhaltende Whistleblower-Organisation Krautchan freut sich immer über Spenden.)
  177. # [01:56] * Quits: paul_irish (~paul_iris@nat/google/x-obarjgcvcifyoiqs) (Remote host closed the connection)
  178. # [01:59] * Quits: aroben (~aroben@unaffiliated/aroben) (Ping timeout: 240 seconds)
  179. # [02:02] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Ping timeout: 265 seconds)
  180. # [02:03] <jamesr__> AryehGregor: sorry ran off. still there?
  181. # [02:04] <jamesr__> i'm seeing some really slow script on wikipedia.org and want to report it but dunno where
  182. # [02:08] <TabAtkins> Pretty sure he's gone by now, jamesr__ - Aryeh's on east coast time.
  183. # [02:09] <jamesr__> it's only 8pm :P
  184. # [02:09] <gsnedders> It's only 1am.
  185. # [02:09] <gsnedders> There again, I'm a student, so what do people expect? :P
  186. # [02:13] <nessy> it's midday, don't know what you're talking about!
  187. # [02:18] * Quits: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.1/2008072406])
  188. # [02:19] <Hixie> Philip`: yt?
  189. # [02:26] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  190. # [02:26] * Joins: nattokirai (~nattokira@rtr.mozilla.or.jp)
  191. # [02:28] * Quits: webr3 (~nathan@host86-143-255-175.range86-143.btcentralplus.com) (Ping timeout: 245 seconds)
  192. # [02:33] * Joins: webr3 (~nathan@host86-138-168-176.range86-138.btcentralplus.com)
  193. # [02:50] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Quit: zzzzz)
  194. # [02:53] * Quits: dbaron (~dbaron@nat/mozilla/x-njsgkvfhhdxifagj) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  195. # [02:57] * Quits: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com) (Quit: nn)
  196. # [03:02] <MikeSmith> I have http://twitter.com/html5 working again
  197. # [03:02] <Hixie> cool
  198. # [03:02] * Joins: paul_irish (~paul_iris@c-76-21-40-62.hsd1.ca.comcast.net)
  199. # [03:03] <Hixie> were you using my code before?
  200. # [03:03] <Hixie> and if so, does that mean your new code is a drop-in replacement? :-0)
  201. # [03:03] <Hixie> s/0//
  202. # [03:04] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Quit: Now time for the weather. Tiffany?)
  203. # [03:04] * Joins: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
  204. # [03:07] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
  205. # [03:07] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Client Quit)
  206. # [03:09] * Joins: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e)
  207. # [03:34] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
  208. # [03:34] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
  209. # [03:38] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
  210. # [03:45] * Joins: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net)
  211. # [04:14] * Joins: aaaazzz (~xxa@p54ABB23A.dip.t-dialin.net)
  212. # [04:14] * Joins: oojacoboo (~jacob@96-32-175-233.dhcp.gwnt.ga.charter.com)
  213. # [04:14] <oojacoboo> anyone know if <figcaption> can be used block level with nested elements ?
  214. # [04:15] <oojacoboo> I am looking to use it in a case with a legend
  215. # [04:15] <oojacoboo> where I have a figure with number representing sections of a screenshot, and want to use <figcaption> with an ordered list to describe the points of the figure
  216. # [04:19] * Quits: jamesr__ (~jamesr@nat/google/x-gtqbbzfqotlokyml) (Quit: jamesr__)
  217. # [04:22] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
  218. # [04:24] * Quits: bckenny (~bckenny@nat/google/x-wudbuzpmpfdijxsv) (Remote host closed the connection)
  219. # [04:26] * Quits: payman_m (~payman_m@h85-8-2-58.static.se.alltele.net) (Quit: payman_m)
  220. # [04:27] * Quits: sicking (~chatzilla@nat/mozilla/x-chimoahfborkxsgb) (Ping timeout: 265 seconds)
  221. # [04:31] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  222. # [04:31] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  223. # [04:32] <MikeSmith> feeling an earthquake just now in Tokyo
  224. # [04:32] <MikeSmith> pretty decent size
  225. # [04:43] <aaaazzz> MikeSmith: "6.9 earthquake hits 502 miles South of TOKYO, Japan "
  226. # [04:43] <aaaazzz> MikeSmith: http://earthquake.usgs.gov/earthquakes/recenteqsww/Maps/region/Asia.php
  227. # [04:43] <oojacoboo> ha, wow
  228. # [04:44] <oojacoboo> I was living in Taipei a few months back and we'd get earthquakes all the time
  229. # [04:44] <oojacoboo> once every month or so
  230. # [04:44] <MikeSmith> aaaazzz: thanks
  231. # [04:45] <MikeSmith> that thing must have been pretty strong in Okinawa
  232. # [04:45] <aaaazzz> note the big red square. that's an earthquake in the last few minutes.
  233. # [04:45] <oojacoboo> 6.9 is decent, but not for Japan, the buildings there handle that with ease
  234. # [04:45] <oojacoboo> probably not much damage
  235. # [04:46] <MikeSmith> oojacoboo: I think there are earthquakes in Japan pretty much everyday; just that most of them are not very strong at all
  236. # [04:46] <oojacoboo> it's like that most all places on faults
  237. # [04:46] * Joins: WHATWG (~apermanen@cpe-76-168-89-210.socal.res.rr.com)
  238. # [04:46] <oojacoboo> 1-2-3-4 scale quakes
  239. # [04:47] <oojacoboo> you can start to feel it in the upper 4s and 5s, of course, depending on the depth of the quake itself
  240. # [04:53] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  241. # [04:56] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  242. # [04:58] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Quit: cying)
  243. # [05:00] * Quits: dave_levin (~dave_levi@nat/google/x-vlyfzfcexqirtvjm) (Quit: dave_levin)
  244. # [05:13] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  245. # [05:16] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  246. # [05:21] * Joins: f1lt3r (~f1lt3r@64.119.153.2)
  247. # [05:45] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  248. # [05:56] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  249. # [05:58] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  250. # [06:17] * Joins: dglazkov (~dglazkov@216.239.45.130)
  251. # [06:19] * Quits: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: Leaving.)
  252. # [06:22] * Quits: dglazkov (~dglazkov@216.239.45.130) (Client Quit)
  253. # [06:22] <JonathanNeal> Anyone here good with javascript and ranges?
  254. # [06:31] * Quits: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com) (Ping timeout: 255 seconds)
  255. # [06:33] * Quits: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 276 seconds)
  256. # [06:35] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  257. # [06:36] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  258. # [06:46] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
  259. # [06:47] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
  260. # [07:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-106-222.pool.e-mobile.ne.jp)
  261. # [07:08] * Quits: MikeSmith (~MikeSmith@EM114-48-23-51.pool.e-mobile.ne.jp) (Ping timeout: 255 seconds)
  262. # [07:08] * MikeSmith_ is now known as MikeSmith
  263. # [07:18] * Joins: childsrevolt (188f605e@gateway/web/freenode/ip.24.143.96.94)
  264. # [07:21] * Quits: sean` (~Sean@D97A9F8D.cm-3-3c.dynamic.ziggo.nl) (Quit: Leaving)
  265. # [07:28] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  266. # [07:31] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  267. # [07:32] * Quits: ojan (~ojan@nat/google/x-zywmmyogxwhbvrns) (Quit: ojan)
  268. # [07:36] * Joins: matjas (~matjas@ip-81-11-184-192.dsl.scarlet.be)
  269. # [07:41] * Quits: matjas (~matjas@ip-81-11-184-192.dsl.scarlet.be) (Client Quit)
  270. # [07:43] * Joins: maikmerten (~merten@ls5dhcp196.cs.uni-dortmund.de)
  271. # [07:46] * Quits: jwalden (~waldo@c-68-40-243-245.hsd1.mi.comcast.net) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101027155446])
  272. # [07:46] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  273. # [07:50] * Quits: charlvn (~charlvn@nova.charlvn.com) (Remote host closed the connection)
  274. # [07:50] * Quits: childsrevolt (188f605e@gateway/web/freenode/ip.24.143.96.94) (Quit: Page closed)
  275. # [07:53] * Joins: thiessenp_ (~thiessenp@ip4da8062e.direct-adsl.nl)
  276. # [07:54] * Quits: aaaazzz (~xxa@p54ABB23A.dip.t-dialin.net) (Ping timeout: 260 seconds)
  277. # [07:54] * Quits: thiessenp (~thiessenp@ip4da8062e.direct-adsl.nl) (Ping timeout: 250 seconds)
  278. # [07:54] * thiessenp_ is now known as thiessenp
  279. # [08:01] * Quits: thiessenp (~thiessenp@ip4da8062e.direct-adsl.nl) (Quit: off to do what I do)
  280. # [08:05] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  281. # [08:07] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  282. # [08:19] * Joins: rimantas (~rimliu@lan-84-240-20-219.vln.skynet.lt)
  283. # [08:24] * Joins: FireFly (~firefly@unaffiliated/firefly)
  284. # [08:26] * Joins: henrikbjorn (~Henrik@dkcphfw01.infopaq.dk)
  285. # [08:40] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 260 seconds)
  286. # [08:44] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  287. # [08:45] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  288. # [08:47] * Quits: nessy (~Adium@124-169-135-161.dyn.iinet.net.au) (Quit: Leaving.)
  289. # [08:50] * Joins: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net)
  290. # [08:56] * Quits: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no) (Ping timeout: 272 seconds)
  291. # [09:01] * Joins: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no)
  292. # [09:02] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  293. # [09:05] * Quits: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no) (Ping timeout: 240 seconds)
  294. # [09:12] * Quits: hamaji (~hamaji@220.109.219.244) (Ping timeout: 260 seconds)
  295. # [09:13] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  296. # [09:16] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  297. # [09:20] * Joins: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com)
  298. # [09:24] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
  299. # [09:25] * Quits: gratz|home (~gratz@cpc7-brig16-2-0-cust362.3-3.cable.virginmedia.com) (Remote host closed the connection)
  300. # [09:25] * Joins: mhausenblas_ (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  301. # [09:25] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
  302. # [09:29] <MikeSmith> http://p2pdns.baywords.com/2010/11/30/hello-world/
  303. # [09:29] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 240 seconds)
  304. # [09:29] * mhausenblas_ is now known as mhausenblas
  305. # [09:39] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
  306. # [09:40] * Quits: reni (~reni@sedkit.inf.u-szeged.hu) (Remote host closed the connection)
  307. # [09:45] * Quits: nattokirai (~nattokira@rtr.mozilla.or.jp) (Quit: nattokirai)
  308. # [09:50] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 255 seconds)
  309. # [09:52] * Joins: matjas (~matjas@188.188.102.237)
  310. # [09:52] <Dashiva> Will they be leveraging the web of trust?
  311. # [09:56] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  312. # [10:04] * Joins: ROBOd (~robod@92.86.250.207)
  313. # [10:22] * Quits: bzed (~bzed@devel.recluse.de) (Quit: leaving)
  314. # [10:22] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
  315. # [10:23] * Joins: bzed (~bzed@devel.recluse.de)
  316. # [10:26] <jgraham> Aren't we onto the Web 2.0 of Trust now? The one where you trust facebook for everything?
  317. # [10:28] * Joins: smaug____ (~chatzilla@ZYYKMMDCLII.gprs.sl-laajakaista.fi)
  318. # [10:29] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
  319. # [10:33] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Disconnected by services)
  320. # [10:33] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  321. # [10:34] * Joins: Necrathex (~nectop@212-123-163-12.ip.telfort.nl)
  322. # [10:35] * abarth is now known as abarth|zZz
  323. # [10:37] * Joins: Phae (~Phae@chimera.macmillan.com)
  324. # [10:45] * Quits: romeo_ (~romeo__@x1-6-00-10-a7-28-f3-47.k602.webspeed.dk) (Quit: Leaving)
  325. # [10:46] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Disconnected by services)
  326. # [10:46] * Joins: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com)
  327. # [10:52] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: This computer has gone to sleep)
  328. # [10:57] * Joins: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net)
  329. # [11:05] * Quits: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e) (Quit: Leaving.)
  330. # [11:07] * Joins: erlehmann (~erlehmann@89.204.137.105)
  331. # [11:08] * Joins: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
  332. # [11:11] * Joins: sean` (~Sean@h183194.upc-h.chello.nl)
  333. # [11:12] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  334. # [11:12] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Client Quit)
  335. # [11:12] <Workshiva> jgraham: I think that requires Semantic Web 2.0 to work
  336. # [11:12] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  337. # [11:12] * Quits: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
  338. # [11:14] * Quits: Necrathex (~nectop@212-123-163-12.ip.telfort.nl) (Read error: Connection timed out)
  339. # [11:15] * Joins: Necrathex (~nectop@212-123-163-12.ip.telfort.nl)
  340. # [11:15] <jgraham> hsivonen: BTW there is now an "official" call for comments about testharness.js on public-html-testsuite
  341. # [11:20] <hsivonen> jgraham: thanks
  342. # [11:20] * Joins: benschwarz (~ben@59.167.185.148)
  343. # [11:25] <hsivonen> my computer use experience became so much better after I patched libgtk-vnc. I guess I should attempt patching libvte again
  344. # [11:26] <hsivonen> maybe I should try patching xserver-xorg-input-wacom, too
  345. # [11:30] * Joins: mpt (~mpt@canonical/mpt)
  346. # [11:35] <Philip`> Hixie: Pong
  347. # [11:42] * Quits: matjas (~matjas@188.188.102.237) (Remote host closed the connection)
  348. # [11:46] * Joins: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
  349. # [11:48] * Quits: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
  350. # [11:49] * Joins: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
  351. # [11:51] * Quits: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
  352. # [11:53] * Quits: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
  353. # [12:01] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  354. # [12:02] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 240 seconds)
  355. # [12:06] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  356. # [12:07] <MikeSmith> hsivonen: so we've gotten multiple reports about validator error messages for src-less script elements being confusing/misleading
  357. # [12:08] <MikeSmith> specifically, for the case where you have a script element with an inline script
  358. # [12:08] <MikeSmith> that is, non-empty
  359. # [12:08] <MikeSmith> but you have, e.g., a charset attribute on it
  360. # [12:20] * Quits: sean` (~Sean@h183194.upc-h.chello.nl) (Quit: Leaving)
  361. # [12:25] * Joins: annevk (~annevk@pat-tdc.opera.com)
  362. # [12:28] * Joins: Anti-X (~duckmysic@c9B77BF51.dhcp.bluecom.no)
  363. # [12:28] <annevk> strings over enums
  364. # [12:28] <annevk> it does make some sense
  365. # [12:29] * Quits: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  366. # [12:29] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  367. # [12:43] <hsivonen> MikeSmith: well, I suppose hacking Jing would be too hard
  368. # [12:43] <hsivonen> MikeSmith: so I guess this needs to move to assertions.sch/Assertions.java :-(
  369. # [12:43] <MikeSmith> yeah
  370. # [12:43] <MikeSmith> hsivonen: I think that's the easiest thing
  371. # [12:43] <MikeSmith> I'm working on it now
  372. # [12:44] * Quits: smaug____ (~chatzilla@ZYYKMMDCLII.gprs.sl-laajakaista.fi) (Ping timeout: 276 seconds)
  373. # [12:52] <MikeSmith> hsivonen: please try <script defer>var foo;</script> or something at http://www.w3.org/html/check and let me know what you think
  374. # [12:52] <MikeSmith> or async or charset
  375. # [12:56] <hsivonen> MikeSmith: looks good
  376. # [12:56] * MikeSmith steps away for a bit
  377. # [12:56] <MikeSmith> ah cool
  378. # [12:56] <MikeSmith> I'll send you a patch to review
  379. # [12:56] <hsivonen> ok
  380. # [12:56] <MikeSmith> thanks
  381. # [12:56] * hsivonen wonders how to do printf debugging with X input drivers
  382. # [12:57] <hsivonen> maybe there's a function for dumping stuff in the X server log or something
  383. # [13:01] * Quits: erlehmann (~erlehmann@89.204.137.105) (Ping timeout: 245 seconds)
  384. # [13:02] * Joins: smaug____ (~chatzilla@85.78.4.35)
  385. # [13:03] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  386. # [13:08] * Quits: MikeSmith (~MikeSmith@EM114-48-106-222.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
  387. # [13:12] <hsivonen> http://timesofindia.indiatimes.com/cms.dll/xml/uncomp/articleshow?msid=167551 gives me the YSoD (link from Hixie's anti-XSLT blog post from years ago)
  388. # [13:13] <annevk> "non-xslt top-level element with null namespace uri"
  389. # [13:13] <annevk> good times
  390. # [13:13] * Joins: MikeSmith (~MikeSmith@EM114-48-20-178.pool.e-mobile.ne.jp)
  391. # [13:14] <annevk> "That is not possible. Developers would fix the mistake before it hits users."
  392. # [13:14] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 272 seconds)
  393. # [13:14] * Joins: erlehmann (~erlehmann@89.204.153.96)
  394. # [13:17] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  395. # [13:18] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  396. # [13:18] <jgraham> Maybe the error message should read "Something impossible just happened. If you have any feedback on our handling of this issue, please contact tbray@textuality.com"
  397. # [13:19] * Joins: pauld (~chatzilla@194.102.13.2)
  398. # [13:19] * Quits: erlehmann (~erlehmann@89.204.153.96) (Quit: Die demokratieerhaltende Whistleblower-Organisation Krautchan freut sich immer über Spenden.)
  399. # [13:20] <annevk> "Also, the author of this site is a bozo."
  400. # [13:21] * Joins: Xano_ (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  401. # [13:24] * Xano_ is now known as Xano
  402. # [13:42] <annevk> "and had several off-line meetings with the HTML5 chairs" -- http://www.w3.org/QA/2010/11/progress_in_lyon_-_tpac_2010.html -- such usage of "offline" always strikes me as weird
  403. # [13:44] <annevk> "One piece of advice from the AB was to support our current policy of having dues paid in three currencies; even as they advised that this should be reviewed on a regular basis."
  404. # [13:44] <annevk> ?!
  405. # [13:47] <jgraham> You have to pay 1/3 in each currency?
  406. # [13:48] <annevk> no, depends on which W3C host you're associated with
  407. # [13:49] <annevk> I just don't see how the above is advice
  408. # [13:50] * Joins: cyberix (twruottu@melkki.cs.helsinki.fi)
  409. # [13:51] <hsivonen> annevk: is trimming whitespace before comparing encoding names an HTML thing or a Web Platform thing?
  410. # [13:51] <hsivonen> that is, should I fix it in the HTML parser or in Gecko's charset alias service?
  411. # [13:51] <annevk> that is a good question
  412. # [13:52] <annevk> and I don't really know; guess it depends on what happens in XML
  413. # [13:52] <annevk> or you can maybe test it with charset=" ..." in HTTP, but Gecko had issues with quotes there...
  414. # [13:53] <hsivonen> what about @charset in CSS?
  415. # [13:54] <annevk> yeah
  416. # [13:54] <annevk> though I guess it ought to be tested in IE
  417. # [13:54] <annevk> and I don't have Windows yet so I cannot help
  418. # [13:55] * Joins: aroben (~aroben@unaffiliated/aroben)
  419. # [13:56] <hsivonen> ok.
  420. # [13:56] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 245 seconds)
  421. # [13:56] * Quits: kinetik (~kinetik@121.98.132.55) (Ping timeout: 255 seconds)
  422. # [13:58] <jgraham> annevk: The case shifting for getAttribute et. al. should happen for any node in a HTML document, right?
  423. # [13:59] <annevk> yes
  424. # [13:59] <hsivonen> no, no
  425. # [13:59] <annevk> oh wait
  426. # [13:59] <jgraham> So how does one deal with foreign content where the name is case shifted
  427. # [13:59] <hsivonen> only if the element is in the HTML namespace
  428. # [13:59] <annevk> rtfs instead
  429. # [13:59] <annevk> http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
  430. # [13:59] <jgraham> Ah, somehow I missed the first clause
  431. # [14:00] <jgraham> Sorry for being sumb
  432. # [14:00] <jgraham> *dumb
  433. # [14:01] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
  434. # [14:02] * Joins: kinetik (~kinetik@121.98.132.55)
  435. # [14:14] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 276 seconds)
  436. # [14:24] * Joins: reni (~reni@sedkit.inf.u-szeged.hu)
  437. # [14:24] * Quits: annevk (~annevk@pat-tdc.opera.com) (Remote host closed the connection)
  438. # [14:24] * Joins: annevk (~annevk@pat-tdc.opera.com)
  439. # [14:31] * Joins: plainhao (~plainhao@208.75.85.237)
  440. # [14:34] * Quits: payman (~payman@pat.se.opera.com) (Quit: Leaving)
  441. # [14:36] * Joins: Amorphous (jan@unaffiliated/amorphous)
  442. # [14:38] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Quit: kennyluck)
  443. # [14:38] * Joins: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7)
  444. # [14:38] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Excess Flood)
  445. # [14:39] * Joins: miketaylr (~miketaylr@24.42.95.108)
  446. # [14:39] * Joins: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7)
  447. # [14:45] * Joins: charlvn (~charlvn@nova.charlvn.com)
  448. # [14:52] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
  449. # [15:04] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  450. # [15:05] * Joins: payman (~payman@pat.se.opera.com)
  451. # [15:05] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Quit: kennyluck)
  452. # [15:06] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
  453. # [15:11] <hsivonen> does anyone happen to have CSS @charset tests with spaces inside the quoted string?
  454. # [15:11] * Joins: FireFly (~firefly@unaffiliated/firefly)
  455. # [15:11] <hsivonen> (I could make some, but I think I've configured my servers to send a HTTP-level charset for CSS...)
  456. # [15:14] <annevk> you could check if Content-Type: text/html;charset="utf-8" works in IE and then play with that
  457. # [15:17] <hsivonen> I think I'll make a zip file of my test and run it locally on Windows
  458. # [15:17] * Joins: BlurstOfTimes (~blurstoft@168.203.117.107)
  459. # [15:18] * Joins: ChrisLTD (~iMac@ur185.ur.unc.edu)
  460. # [15:19] <hsivonen> Gecko rejects CSS with bogus @charset
  461. # [15:19] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Read error: Operation timed out)
  462. # [15:19] <hsivonen> Chrome uses the default charset
  463. # [15:20] * Joins: yod (~thereaux@fw.vdl2.ca)
  464. # [15:21] * Joins: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
  465. # [15:21] <hsivonen> annevk: IE9 doesn't trim spaces in CSS @charset
  466. # [15:22] <hsivonen> and rejects the sheet
  467. # [15:22] <hsivonen> annevk: I guess that makes the behavior of Opera 11 beta a bug
  468. # [15:22] <hsivonen> (Opera 11 beta trims space)
  469. # [15:23] * Quits: mamund (~mamund@frost.nullshells.net) (Read error: Connection reset by peer)
  470. # [15:27] <annevk> hmm
  471. # [15:27] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 265 seconds)
  472. # [15:27] <annevk> I guess only case-insensitive matching is a platform thing then
  473. # [15:27] <annevk> does Opera 11 beta no longer do UTS22?
  474. # [15:28] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  475. # [15:28] <annevk> in other news
  476. # [15:28] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Ping timeout: 250 seconds)
  477. # [15:28] <annevk> if you define an attribute for the web platform
  478. # [15:28] <annevk> and its setter sometimes throws and only accepts certain values
  479. # [15:29] <annevk> but eventually the attribute "becomes" that value
  480. # [15:29] * Joins: mamund (mamund@frost.nullshells.net)
  481. # [15:29] <annevk> it would be nice if that didn't require a separate variable
  482. # [15:29] <annevk> e.g. http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-withcredentials-attribute has a separate "credentials flag"
  483. # [15:30] * Quits: henrikbjorn (~Henrik@dkcphfw01.infopaq.dk) (Quit: henrikbjorn)
  484. # [15:30] <annevk> which is really just reflecting the attribute
  485. # [15:30] <annevk> could I say for step 4 "set the withCredentials attribute to the given value"
  486. # [15:31] <annevk> if you read that literally I guess you would get recursion...
  487. # [15:31] <annevk> bah
  488. # [15:31] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  489. # [15:33] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Quit: Now time for the weather. Tiffany?)
  490. # [15:33] <annevk> set the withCredentials attribute value to the given value makes it work, I think
  491. # [15:33] <annevk> Hixie did something like that in the <canvas> API
  492. # [15:34] * Joins: davidwalsh (~davidwals@75-135-74-55.dhcp.mdsn.wi.charter.com)
  493. # [15:35] * Quits: yod (~thereaux@fw.vdl2.ca) (Ping timeout: 272 seconds)
  494. # [15:41] * Joins: yod (~thereaux@fw.vdl2.ca)
  495. # [15:43] <annevk> heycam, maybe Web IDL should have support for "string enums"
  496. # [15:43] <annevk> heycam, i.e. attributes that accept a limited amount of string values
  497. # [15:44] <annevk> heycam, it's an extensible pattern that is used quite a lot
  498. # [15:51] * Quits: smaug____ (~chatzilla@85.78.4.35) (Ping timeout: 255 seconds)
  499. # [15:54] * Joins: kennyluck (~kennyluck@EM114-48-245-33.pool.e-mobile.ne.jp)
  500. # [16:03] * Joins: smaug____ (~chatzilla@GYYYKMMMDXXV.gprs.sl-laajakaista.fi)
  501. # [16:05] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Remote host closed the connection)
  502. # [16:05] <hsivonen> is hixie.ch down?
  503. # [16:05] <hsivonen> ah just really slow
  504. # [16:16] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
  505. # [16:31] * Joins: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net)
  506. # [16:43] * Quits: maikmerten (~merten@ls5dhcp196.cs.uni-dortmund.de) (Read error: Operation timed out)
  507. # [16:50] * Quits: yod (~thereaux@fw.vdl2.ca) (Read error: Connection reset by peer)
  508. # [16:50] <annevk> heycam, I emailed public-script-coord with somewhat more context
  509. # [16:54] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Ping timeout: 255 seconds)
  510. # [16:55] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  511. # [16:58] * Joins: yod (~thereaux@fw.vdl2.ca)
  512. # [16:58] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  513. # [16:59] * Joins: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com)
  514. # [17:00] <annevk> RESOLVED: The TAG endorses the health warning "If you deploy a 30x Location: C#D, then be aware that anyone who creates a URI A#B, might be inconvenienced (since there are no fragment combination rules)."
  515. # [17:00] <annevk> oh god
  516. # [17:00] <annevk> this is the first time I have seen a RESOLVED from the TAG
  517. # [17:00] <annevk> does this mean they don't do much?
  518. # [17:02] <webr3> no they were just jammed in a corner and that was the best all round advise for the web - real solution would be to drop frags from HTTP alltogether, Location should be an absolute or relative-uri and not oen with clientside identifiers in it
  519. # [17:03] * Joins: micheil_mbp (~micheil@124-171-40-30.dyn.iinet.net.au)
  520. # [17:03] * Quits: micheil (~micheil@124-171-40-30.dyn.iinet.net.au) (Read error: Connection reset by peer)
  521. # [17:03] <webr3> hard to fix deployed mistakes, so can only offer best practise advice in those circumstances
  522. # [17:03] * micheil_mbp is now known as micheil
  523. # [17:03] * webr3 imo
  524. # [17:04] * Quits: micheil (~micheil@124-171-40-30.dyn.iinet.net.au) (Read error: Connection reset by peer)
  525. # [17:04] * Joins: micheil (~micheil@124-171-40-30.dyn.iinet.net.au)
  526. # [17:04] <zcorpan> better to tell people that they should know that they're inconveniencing other people (how they're being inconvenienced i have no idea)
  527. # [17:05] <annevk> the problem is that fragment identifiers are removed from the request
  528. # [17:05] <annevk> imo
  529. # [17:05] <annevk> and how they work with Location will become interoperable over time, pretty sure of that
  530. # [17:06] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  531. # [17:06] <webr3> but they were created for the client, specified by the mediattype and so that no protocol or anything on the web could have juristiction over them, if you need server to know use one of the other uri parts - like query params
  532. # [17:07] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Quit: Disconnected...)
  533. # [17:07] <webr3> if you make them webwide, then they are pointless and may as well just be dropped in favour of querystring only
  534. # [17:07] <webr3> webwide as in servers and protocols have knowledge
  535. # [17:07] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Read error: Connection reset by peer)
  536. # [17:07] * Joins: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  537. # [17:07] <annevk> querystrings don't have the same features
  538. # [17:08] <annevk> but I guess if you still believe in content negotiation and such this all works differently
  539. # [17:10] <webr3> what features are missing from querystring but in fragments? (other than the clientside per mediatype nature of them)
  540. # [17:10] <annevk> in particular, you want to know the fragment identifier on the server if you moved from largedocument#foo to just foo
  541. # [17:10] <annevk> so links remain working
  542. # [17:13] * Quits: othree (~othree@admin39.ct.ntust.edu.tw) (Ping timeout: 255 seconds)
  543. # [17:13] <webr3> aye that's a problem for sure
  544. # [17:13] * webr3 that I've avoided thus far by not makign hugedocument#foo in the first place :p
  545. # [17:13] * Quits: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: Leaving.)
  546. # [17:14] <annevk> no blog with #comments?
  547. # [17:15] <webr3> #recentcomments and /all-comments
  548. # [17:17] * Joins: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
  549. # [17:17] <webr3> I see the problem btw, have done for ages, but think solving it in this way will create more problems, for instance how long before my blog post is just the post, and comments are pull in from other uris (and on other sites) dynamically depending on the view of the page
  550. # [17:17] <webr3> and/or client considerations
  551. # [17:19] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
  552. # [17:19] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Client Quit)
  553. # [17:19] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  554. # [17:21] * Joins: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
  555. # [17:24] * Quits: miketaylr (~miketaylr@24.42.95.108) (Quit: miketaylr)
  556. # [17:27] * Joins: miketaylr (~miketaylr@24.42.95.108)
  557. # [17:30] * aroben is now known as aroben|afk
  558. # [17:33] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Ping timeout: 255 seconds)
  559. # [17:36] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  560. # [17:36] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  561. # [17:38] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  562. # [17:38] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  563. # [17:43] * Quits: WHATWG (~apermanen@cpe-76-168-89-210.socal.res.rr.com) (Quit: Leaving.)
  564. # [17:43] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  565. # [17:43] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  566. # [17:44] * Joins: jwalden (~waldo@c-68-40-243-245.hsd1.mi.comcast.net)
  567. # [17:46] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  568. # [17:46] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  569. # [17:49] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
  570. # [17:52] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
  571. # [17:53] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  572. # [17:54] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  573. # [17:54] * aroben|afk is now known as aroben
  574. # [17:56] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  575. # [17:56] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  576. # [17:58] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  577. # [17:58] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  578. # [17:59] <Philip`> jgraham: With canvas tests, I want to wait for onload and then set some variables (canvas, ctx) which all the subsequent code uses
  579. # [18:00] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  580. # [18:00] <Philip`> For synchronous tests, I think I can just do "test(function() { var canvas = ...; subsequent code });" and that's fine
  581. # [18:00] <Philip`> but for async tests I don't see an easy way to do that
  582. # [18:00] <jgraham> Philip`: at the moment the harness assumes that all test objects have been created before onload
  583. # [18:01] <jgraham> so you would have to do
  584. # [18:01] <jgraham> var t = async_test()
  585. # [18:01] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  586. # [18:01] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  587. # [18:01] <jgraham> addEventListener("load", function() {t.step(function() {/*do the setup here*/})}, false)
  588. # [18:01] <jgraham> or so
  589. # [18:02] <jgraham> Unless I am missing your point
  590. # [18:02] <jgraham> If you have a better way, I am open to suggestions
  591. # [18:02] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: This computer has gone to sleep)
  592. # [18:03] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  593. # [18:03] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  594. # [18:03] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  595. # [18:04] * Quits: rimantas (~rimliu@lan-84-240-20-219.vln.skynet.lt) (Quit: Leaving)
  596. # [18:05] * Quits: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Read error: Connection reset by peer)
  597. # [18:06] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  598. # [18:06] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  599. # [18:06] <Philip`> Hmm, including the setup code that'd be like addEventListener("load", function() { t.step(function() { var canvas = ...; img.onload = t.step(function() { use canvas, img; t.done(); }); } }, false);, I think
  600. # [18:08] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  601. # [18:08] <Philip`> Maybe it'd be nice if I could write "var t = test(function() { var canvas = ...; img.onload = t.step(function() { use canvas, img; t.done(); }); });"
  602. # [18:08] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  603. # [18:09] <Philip`> Oh, actually, synchronous test doesn't wait for onload either
  604. # [18:09] <Philip`> I think
  605. # [18:10] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  606. # [18:11] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
  607. # [18:11] <Philip`> so I'll have to make almost every test asynchronous (since they need to wait for images and fonts etc to load)
  608. # [18:11] * Joins: peol (~andree@unaffiliated/peol)
  609. # [18:13] * Joins: othermaciej (~mjs@67.218.104.144)
  610. # [18:13] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
  611. # [18:13] <jgraham> Yeah, sync tests really are sync, they just run straight away
  612. # [18:16] <jgraham> I suppose one could have some hack like "if you pass an async test a function(){} it gets run on onload, and if that test calls a step() before onload() it is an error"
  613. # [18:16] <jgraham> s/onload/load/g
  614. # [18:16] <jgraham> and remove some ()
  615. # [18:17] * Joins: WHATWG (~apermanen@67-134-147-135.dia.static.qwest.net)
  616. # [18:20] <jgraham> (does that sound like it would be useful?)
  617. # [18:21] <Philip`> Depends on whether running after onload is far more common than the alternative, I guess
  618. # [18:22] <Philip`> Hmm, when I said "img.onload = t.step(function() { use canvas, img; t.done(); });" I think that was wrong
  619. # [18:22] <Philip`> and it needs "img.onload = function() { t.step(function() { use canvas, img; t.done(); }); };"
  620. # [18:22] * Quits: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com) (Quit: nn)
  621. # [18:23] * Quits: pauld (~chatzilla@194.102.13.2) (Remote host closed the connection)
  622. # [18:23] <jgraham> Well I guess there might be a large class of tests for which some resource is needed after onload
  623. # [18:23] <Philip`> Could t.step return a function that can be called later to execute the test step, rather than executing it immediately?
  624. # [18:23] <jgraham> It could
  625. # [18:23] <Philip`> so that onload = t.step(function() ...) would do the right thing
  626. # [18:23] <jgraham> Or there could be a different method for that
  627. # [18:24] <jgraham> t.step_func or something
  628. # [18:24] <Philip`> In what cases is the current t.step useful?
  629. # [18:24] <jgraham> I agree it seems like an appealing design
  630. # [18:26] * Philip` can't think of any cases where he'd want t.step to execute the step immediately
  631. # [18:27] <jgraham> I guess it is always trivial to get the other behaviour, just by doing t.step(function() {})()
  632. # [18:28] * Joins: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com)
  633. # [18:28] <jgraham> So, yes, that seems like an improvement
  634. # [18:28] <jgraham> I guess I should email public-html-testsuite
  635. # [18:29] <jgraham> Since it is a breaking change
  636. # [18:30] <Philip`> I suppose there's no fundamental difference, it just seems more syntactically convenient to get a test-happy wrapped function you can use in async event handlers directly
  637. # [18:31] * Quits: paul_irish (~paul_iris@c-76-21-40-62.hsd1.ca.comcast.net) (Remote host closed the connection)
  638. # [18:32] <Philip`> Then I can do var t = async_test("%(name)s"); on_event(window, "load", t.step(function() { ...; t.done(); })); which isn't terribly verbose
  639. # [18:35] <jgraham> Indeed
  640. # [18:35] * Joins: fielding (~chatzilla@99-21-208-82.lightspeed.irvnca.sbcglobal.net)
  641. # [18:36] * Parts: fielding (~chatzilla@99-21-208-82.lightspeed.irvnca.sbcglobal.net)
  642. # [18:37] * Quits: oojacoboo (~jacob@96-32-175-233.dhcp.gwnt.ga.charter.com) (Quit: oojacoboo)
  643. # [18:38] * Joins: ojan (~ojan@nat/google/x-dqfuvpydfedmxpfs)
  644. # [18:42] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  645. # [18:42] <Philip`> "people who have already submitted tests" - there's less than 100 tests currently using .step, and hypothetically probably at least two orders of magnitude more tests that need to be written in the future using these functions, so it doesn't seem particularly important to maintain backward compatibility yet
  646. # [18:42] * Joins: paul_irish (~paul_iris@66.109.105.215)
  647. # [18:44] * Joins: Xano_ (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  648. # [18:44] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Read error: Connection reset by peer)
  649. # [18:44] * Xano_ is now known as Xano
  650. # [18:45] * Joins: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6)
  651. # [18:51] * Joins: mdelaney (~mdelaney@c-24-91-192-217.hsd1.ma.comcast.net)
  652. # [18:52] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 255 seconds)
  653. # [18:53] * Joins: maikmerten (~maikmerte@port-92-201-38-82.dynamic.qsc.de)
  654. # [18:54] * Joins: cying (~cying@173-228-29-224.dsl.static.sonic.net)
  655. # [18:56] * Joins: JonathanNeal (~Jonathan_@76.79.114.214)
  656. # [18:56] <JonathanNeal> Anyone here good with createRange, selections, etc?
  657. # [19:01] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Quit: cying)
  658. # [19:05] * Joins: xtothey (~ryanblair@96.246.169.79)
  659. # [19:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-173-75.pool.e-mobile.ne.jp)
  660. # [19:07] * Joins: dave_levin (~dave_levi@nat/google/x-wcqvzwdqezgsfzsw)
  661. # [19:08] * Quits: MikeSmith (~MikeSmith@EM114-48-20-178.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
  662. # [19:08] * MikeSmith_ is now known as MikeSmith
  663. # [19:09] * Quits: othermaciej (~mjs@67.218.104.144) (Quit: othermaciej)
  664. # [19:10] * Quits: Phae (~Phae@chimera.macmillan.com) (Quit: Leaving.)
  665. # [19:10] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
  666. # [19:12] * Quits: annevk (~annevk@pat-tdc.opera.com) (Quit: annevk)
  667. # [19:13] * Joins: cying (~cying@173-13-176-101-sfba.hfc.comcastbusiness.net)
  668. # [19:13] * Quits: abarth|zZz (~abarth@c-67-169-68-88.hsd1.ca.comcast.net) (Quit: abarth|zZz)
  669. # [19:14] <TabAtkins> Ranges and selections confuse me.
  670. # [19:15] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  671. # [19:15] * Quits: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net) (Ping timeout: 240 seconds)
  672. # [19:16] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  673. # [19:18] * Joins: espadrine (~espadrine@acces1465.res.insa-lyon.fr)
  674. # [19:18] * Joins: jamesr_ (~jamesr@nat/google/x-disvkxydkjekxsbe)
  675. # [19:19] * Joins: Phae (~Phae@chimera.macmillan.com)
  676. # [19:20] <JonathanNeal> TabAtkins, me too.
  677. # [19:20] <JonathanNeal> Yesterday I decided I wanted to write a wysiwyg.
  678. # [19:20] <TabAtkins> Now you have many problems.
  679. # [19:24] * Joins: othermaciej (~mjs@17.246.18.254)
  680. # [19:26] <Workshiva> Now you have problem{2,}
  681. # [19:26] * Quits: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com) (Ping timeout: 250 seconds)
  682. # [19:29] * Quits: paul_irish (~paul_iris@66.109.105.215) (Remote host closed the connection)
  683. # [19:30] <JonathanNeal> I like the word "issues"
  684. # [19:31] * Workshiva ponders the value of changing <b> into <span> with font-weight: bold;
  685. # [19:32] <TabAtkins> Workshiva: From where?
  686. # [19:33] <Workshiva> In this page I'm working on
  687. # [19:33] * Joins: paul_irish (~paul_iris@nat/google/x-tckuxnmqoeyeypij)
  688. # [19:34] <Workshiva> Well, actually, I'm moving a <th> and <td> out of a table, and to preserve the visuals I need to make the part from the th bold somehow
  689. # [19:35] <Workshiva> Some people, when presented with this problem think "I know, I'll use <b>". Now they have change comments.
  690. # [19:38] * Joins: fishd (~fishd@nat/google/x-mlgrmgouaxgvipba)
  691. # [19:41] * Joins: erlehmann (~erlehmann@89.204.137.73)
  692. # [19:42] * beowulf doesn't understand Workshiva's problem
  693. # [19:43] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  694. # [19:45] * Joins: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz)
  695. # [19:47] * Joins: dbaron (~dbaron@nat/mozilla/x-gqhbcmglzvvdyksc)
  696. # [19:48] * Joins: bckenny (~bckenny@nat/google/x-aqhfcqqdlojjydld)
  697. # [19:52] * Joins: maikmerten_ (~maikmerte@port-92-201-61-9.dynamic.qsc.de)
  698. # [19:53] * Quits: maikmerten (~maikmerte@port-92-201-38-82.dynamic.qsc.de) (Ping timeout: 245 seconds)
  699. # [19:53] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  700. # [19:53] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Ping timeout: 250 seconds)
  701. # [19:56] * Joins: openstandards (~openstand@home.standardizedways.co.uk)
  702. # [19:58] <hsivonen> TabAtkins: waht's an effective way to report a bug like https://bugzilla.mozilla.org/show_bug.cgi?id=614864 to people responsible for Google search front end code?
  703. # [20:02] * Quits: cying (~cying@173-13-176-101-sfba.hfc.comcastbusiness.net) (Read error: Connection reset by peer)
  704. # [20:02] * Joins: cying (~cying@173-228-29-224.dsl.static.sonic.net)
  705. # [20:09] <TabAtkins> hsivonen: I don't know the proper official way. I just use internal Buzz, and it finds its way to the right people. ^_^
  706. # [20:10] <TabAtkins> I'll push it along, and also ask for a public way to report it and get back to you.
  707. # [20:10] <hsivonen> TabAtkins: thanks
  708. # [20:11] <jgraham> othermaciej: I haven't fully understood your email to public-html-testsuite, but it seems a bit like the "doctor, doctor, it hurts when I do this" joke
  709. # [20:11] <othermaciej> jgraham: look at the test I cited
  710. # [20:12] * Joins: romeo_ (~romeo__@x1-6-00-10-a7-28-f3-47.k459.webspeed.dk)
  711. # [20:12] <othermaciej> jgraham: is there a way to do it "right", but still report each assertion independently in the output?
  712. # [20:12] <jgraham> You're not supposed to create multiple independent tests where the result of one depends on dom manipulation in another
  713. # [20:12] <othermaciej> I know
  714. # [20:12] <othermaciej> that's why I assume I did it "wrong"
  715. # [20:13] <othermaciej> but I like the output produced by my version a lot more than what happens if I do it in the intended way
  716. # [20:13] <jgraham> If they are logically independent tests they should have seperate test() functions
  717. # [20:13] <othermaciej> in fact, I don't see anything wrong with the way I did it, other than grungy syntax and failing to match the intended philosophy of the test framework
  718. # [20:14] <othermaciej> what if they are dependent, but I want to report each result independently?
  719. # [20:14] <jgraham> "don't do that"
  720. # [20:14] * jgraham -> food
  721. # [20:14] <jgraham> biab
  722. # [20:14] <othermaciej> are you saying my use case is invalid?
  723. # [20:15] <othermaciej> I don't think having a single result line that says "The second half of the id tests, because at this point I started doing DOM mutation" would improve the quality of my tests
  724. # [20:15] <JonathanNeal> Heck yes, finally did it.
  725. # [20:15] <othermaciej> and even for fully independent tests, having to wrap it in test() { function() { assert_equals(... seems like needless verbiage
  726. # [20:16] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
  727. # [20:20] * Joins: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com)
  728. # [20:20] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
  729. # [20:21] * Joins: invariable (~variable@unaffiliated/variable)
  730. # [20:33] * Parts: invariable (~variable@unaffiliated/variable) ("Trojan horse ran out of hay")
  731. # [20:38] * Quits: peol (~andree@unaffiliated/peol) (Remote host closed the connection)
  732. # [20:43] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 245 seconds)
  733. # [20:45] * Quits: yod (~thereaux@fw.vdl2.ca) (Read error: Connection reset by peer)
  734. # [20:45] * Joins: yod (~thereaux@fw.vdl2.ca)
  735. # [20:48] <jgraham> othermaciej: Given the simplicity of your DOM manipulations, your test is probably fine
  736. # [20:49] <othermaciej> jgraham: besides my theoretical problem with going against the philosophy (which I'm satisfied to ignore), I think the syntax for doing a series of assertions and reporting on each independently is a bit overly verbose
  737. # [20:50] <othermaciej> for this test at least, I would have found it handy to be able to say test_equals(function() { return "foo"; }, "foo");
  738. # [20:51] <jgraham> othermaciej: Possibly, but that seems to be optimising for your specific case
  739. # [20:51] <othermaciej> well, I expect any script test with many assertions would benefit
  740. # [20:51] <othermaciej> almost any non-trivial script test is likely to have a dozen or so assertions which are worth reporting independently
  741. # [20:51] <jgraham> It would have the side effect of moving all the calls to e.g. setAttribute out of the try/catch
  742. # [20:51] <othermaciej> the other possibility is to report each assertion, not just each test
  743. # [20:52] <othermaciej> that would have also satisfied my goals and would be syntactically nicer
  744. # [20:52] <jgraham> othermaciej: Not necessarily e.g. Opera house style is one test/file
  745. # [20:52] <othermaciej> doing this set of id tests as one test per file would be a poor way to do it
  746. # [20:53] <othermaciej> it would be even more wastefully verbose
  747. # [20:53] <jgraham> Reporting each assertion seems very bad because, by design, the number of assertions can vary
  748. # [20:53] <othermaciej> WebKit style is to put related tests for one feature in one file
  749. # [20:53] <jgraham> It seems like you can get most of what you want by having an array of functions and running each in turn
  750. # [20:54] <othermaciej> what's the reason not to report each assertion?
  751. # [20:54] * Joins: sicking (~chatzilla@nat/mozilla/x-jqlvpvnbtldnjpqj)
  752. # [20:54] <othermaciej> I do not understand the benfit of running 100 assertions and reporting only one vague pass/fail result
  753. # [20:54] <jgraham> Because one assertion might not be meaningful on its own
  754. # [20:54] <jgraham> In this case it is
  755. # [20:54] <othermaciej> yes, I could invent something myself, but I would like the test framework to be good for this kind of test
  756. # [20:54] <othermaciej> I believe it is not
  757. # [20:54] <jgraham> But in a more complex case one assertion !== one pass
  758. # [20:55] <othermaciej> you asked for feedback
  759. # [20:55] <jgraham> othermaciej: Yes, I know :)
  760. # [20:55] <othermaciej> can you give me an example of an assertion that would not be worth reporting?
  761. # [20:56] <jgraham> e.g. if you are checking that part of the dom has a given structure and you do that in several stages
  762. # [20:56] <jgraham> e.g. first you check the number of child nodes for a given element
  763. # [20:57] <Philip`> http://philip.html5.org/tests/canvas/suite/tests/2d.state.saverestore.stackdepth.html does 512 assertions and it's probably not very interesting to know that it's passed 512 of them
  764. # [20:57] <othermaciej> why would it be bad to report which of those steps failed?
  765. # [20:57] <jgraham> then you check they have the expected tag names
  766. # [20:57] <jgraham> It does report which of those steps failed
  767. # [20:57] <othermaciej> or are you saying that in some cases it might not make sense to even run the later assertions?
  768. # [20:57] <jgraham> It doesn't even run them
  769. # [20:57] <othermaciej> I can see how that is a possibility, but I suspect it is the rare case, not the common case
  770. # [20:57] * Quits: mdelaney (~mdelaney@c-24-91-192-217.hsd1.ma.comcast.net) (Quit: mdelaney)
  771. # [20:58] <jgraham> e.g. if you find that node x has 0 children there is no point in trying to find out what their tag names are
  772. # [20:58] <jgraham> and indeed if you do try you are likely to run into more problems
  773. # [20:59] <jgraham> (assuming you expected it to have > 0 for the test to pass)
  774. # [20:59] <othermaciej> we use assertion-style tests in WebKit (using a different harness) and I don't think we've ever had a serious problem with this
  775. # [20:59] <othermaciej> so I am skeptical that it is the common case
  776. # [20:59] <othermaciej> nontheless, if all steps of a multi-step test pass, it seems useful to report that they all passed
  777. # [20:59] <othermaciej> at the very least while developing the test, so you can confirm that all the assertions you expected to be run were run
  778. # [21:00] <jgraham> Well that is possible of course
  779. # [21:00] <jgraham> But it doesn't change the fact that, for your case, multiple test()s are the intended approach
  780. # [21:00] * Quits: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net) (Remote host closed the connection)
  781. # [21:01] <othermaciej> I agree that it is intended
  782. # [21:01] <othermaciej> I find it overly syntactically inconvenient
  783. # [21:01] <othermaciej> I think this type of test is not uncommon
  784. # [21:02] <othermaciej> while writing it, I saw sicking and weinig writing similar multi-assertion tests where it was worthwhile reporting each
  785. # [21:02] <othermaciej> (it was during TPAC)
  786. # [21:03] <othermaciej> sicking ended up wrapping it all in one test(), so you only get a single pass/fail result, which is unfortunate for anyone trying to use the test to find and fix bugs
  787. # [21:03] <jgraham> So, I am open to suggestions for API changes that would improve the situation
  788. # [21:03] <othermaciej> I suggested two possibilities
  789. # [21:03] <othermaciej> if you want, I can make them more concrete and detailed
  790. # [21:04] <othermaciej> (will post details on the list in that case)
  791. # [21:05] <jgraham> I think blurring the line between an assertion and a test() is the wrong approach. I think one test() === one thing that is reported to the top level harness
  792. # [21:05] <jgraham> and one assertion === one thing required for a test to pass
  793. # [21:06] <jgraham> Adding a more convenient way to run multiple sync tests is possible
  794. # [21:06] * Joins: boaz_ (~boaz@64.119.153.2)
  795. # [21:06] <jgraham> Although, in all honesty, I think async tests are more common
  796. # [21:07] <othermaciej> that may be so; I chose to make a sync test because it was easier
  797. # [21:07] <othermaciej> but HTML5 has a lot of DOM interfaces that can be tested sync
  798. # [21:07] <othermaciej> I expect there could be thousands of such tests
  799. # [21:08] <jgraham> I wouldn't expect they all can (or should) be tested with assert_equals though
  800. # [21:08] <jgraham> e.g. you might well want to use assert_readonly
  801. # [21:08] <othermaciej> no, but I expect they can all be tested with the assert_* functions provided
  802. # [21:08] * Joins: estes (~aestes@17.246.17.47)
  803. # [21:08] <jgraham> So optimising for the specific case of assert_equals seems wrong
  804. # [21:09] <othermaciej> I think another way to state my issue is this: test() combines multiple purposes
  805. # [21:09] <othermaciej> - It is the exception-catching block that prevents the test framework itself from failing to report a result
  806. # [21:10] <othermaciej> - It is the unit of result reporting
  807. # [21:10] <Dashiva> "XHTML 1.0 - the first baby step toward a well-formed, valid web."
  808. # [21:10] <Dashiva> I guess there is some truth in this, since people will never write valid HTML if we don't force them :)
  809. # [21:10] <othermaciej> - It is the unit of stop-fail combination of assertions (such that if one fails you do not run the rest)
  810. # [21:11] <Hixie> Dashiva: XHTML proponents say that it's ok to send XHTML as text/html, so how is it different?
  811. # [21:11] * Quits: bckenny (~bckenny@nat/google/x-aqhfcqqdlojjydld) (Remote host closed the connection)
  812. # [21:11] <Hixie> it's more like "XHTML - another step towards ensuring that all pages are invalid"
  813. # [21:12] <othermaciej> for tests where it is useful to report each test assertion separately, having all those properties for one construct, but a separate construct for the assert, is inconvenient
  814. # [21:12] <othermaciej> I'll make some concrete proposals with worked examples
  815. # [21:12] <othermaciej> I agree that adding *only* test_equals would suck, but I think adding a test_* for each assert_* is one viable option
  816. # [21:13] <Dashiva> Hixie: It introduced an optional failure point by sending as application/xhtml+xml
  817. # [21:13] <jgraham> othermaciej: If you were going to go down that path I would prefer test_assert or something where you pass the function in
  818. # [21:13] <othermaciej> another viable option is to report each assertion independently by default, and run all within a test by default, and add new constructs for the case where you want to bail after a failure, or combine reporting of several assertions
  819. # [21:14] <Hixie> Dashiva: text/html had an optional failure point too, called validation :-)
  820. # [21:14] <othermaciej> I'll post something more precise to the list later today or tomorrow
  821. # [21:14] <jgraham> I really really dislike the idea of reporting each assertion seperatly
  822. # [21:14] <othermaciej> then you can tell me what details of my proposal suck
  823. # [21:15] <sicking> jgraham: why? We do that in mochitest which we use for firefox testing. It makes writing tests quite nice
  824. # [21:15] <othermaciej> I really dislike reporting just one result for many assertions
  825. # [21:15] <othermaciej> it makes the test much less useful for a partially-conforming implementation
  826. # [21:15] <othermaciej> and it makes it harder to see what the test tested, even if it passes
  827. # [21:16] <othermaciej> if there is really a legit reason to do it in some cases, it should be an unusual case and not the default behavior
  828. # [21:16] <sicking> jgraham: one thing that you can do is to by default only print failed assertions. Then you can easily handle having literally thousands of passing assertions without making the result unreadable
  829. # [21:16] <Dashiva> Hixie: This is true, but with xhtml a server admin can disable server-side scripting and set the mime-type for .html! :P
  830. # [21:17] <othermaciej> I kind of like printing the passing assertions as well, but I can see an argument either way
  831. # [21:17] <Hixie> ah well, this is all water under the bridge anyway
  832. # [21:17] <jgraham> othermaciej: It should also be noted that test(f) is a shorthand for async_test().step(f)
  833. # [21:17] <jgraham> So the fact that test() does multiple things is just a convenience
  834. # [21:18] <sicking> othermaciej: i think it's a requirement to at least be able to hide them, but i don't care much if they are hidden or displayed by default
  835. # [21:18] <sicking> note that i think that showing/hiding should be an action the tester-person takes, not that the test itself takes
  836. # [21:19] <othermaciej> sicking: it should be easy to make a setup that can show only failures in the UI
  837. # [21:19] <sicking> othermaciej: true
  838. # [21:19] <othermaciej> also useful would be a failure count at the top, maybe
  839. # [21:19] <othermaciej> all you really need is a distinct class on the result rows that failed
  840. # [21:19] <jgraham> sicking: The conceptual divide is that a test() corresponds to one thing that you want to test whereas an assertion is just a means to an end i.e. you might use many asserts to determine if you got the expected result of your test
  841. # [21:20] <jgraham> I often see tests that have var apssed = passed1 && passed2 && passed3 and so on
  842. # [21:20] <jgraham> Which is bad
  843. # [21:20] <othermaciej> I don't ever see that in WebKit script tests
  844. # [21:20] <othermaciej> where we report each assertion
  845. # [21:20] <jgraham> I don't mind printing the results of asserts in the output
  846. # [21:21] <sicking> jgraham: i'm not sure i understand the purpose of the test/assertion distinction
  847. # [21:21] <jgraham> sicking: Did you see my earlier example?
  848. # [21:21] <sicking> jgraham: no
  849. # [21:21] <jgraham> Where you do something (e.g. set innerHTML) and want to check that you get the DOM you expect
  850. # [21:21] <othermaciej> it's useful in the case where you want to make running an assertion conditional on a previous one passing
  851. # [21:22] <jgraham> So you check a number of things about the resulting DOM
  852. # [21:22] <othermaciej> which I think is the rare case, not the common case
  853. # [21:22] <jgraham> Like the number of nodes, their names, their values, etc.
  854. # [21:22] <sicking> right, i'm not sure i've ever needed to do that
  855. # [21:22] * Quits: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com) (Ping timeout: 245 seconds)
  856. # [21:22] <othermaciej> I don't think I have either, and I have written a lot of assertion-based tests for WebKit
  857. # [21:22] <sicking> (answering maciej)
  858. # [21:22] <jgraham> I see that sort of thing all the time
  859. # [21:23] <jgraham> Philip` had another example from his canvas tests
  860. # [21:23] <sicking> can you point to it?
  861. # [21:23] <sicking> as in, got link?
  862. # [21:23] <othermaciej> I would be highly surprised if it is the majority case
  863. # [21:24] <sicking> indeed
  864. # [21:24] <jgraham> http://philip.html5.org/tests/canvas/suite/tests/2d.state.saverestore.stackdepth.html
  865. # [21:25] * Quits: charlvn (~charlvn@nova.charlvn.com) (Quit: Leaving)
  866. # [21:25] <sicking> why do you need the assert/test distinction there?
  867. # [21:25] <jgraham> It was at least a rather common case last time I used a harness with a similar design (testing pure ECMAScript)
  868. # [21:25] * sicking isn't sure he's understanding the argument
  869. # [21:26] <jgraham> Because you don't want 512 individual assertions
  870. # [21:26] <sicking> why not?
  871. # [21:26] <jgraham> That test should contribute 1 to the overall results
  872. # [21:26] <sicking> why?
  873. # [21:27] <sicking> the number of pass/fails are meaningless. It's fails != 0 that matters
  874. # [21:27] <jgraham> Because it tests a single point from the spec
  875. # [21:27] <othermaciej> I think it would be useful if that test reported exactly which cases passed or failed
  876. # [21:27] <sicking> first of all that's not really true
  877. # [21:28] <sicking> that testcase tests at least 3 different APIs on canvas
  878. # [21:28] <othermaciej> in the unlikely case that only some of the cases fail, rather than all or none, it's very useful to know precisely which all at once
  879. # [21:28] <jgraham> The number of fails matters in a spec conformance testsuite
  880. # [21:28] <sicking> how?
  881. # [21:28] <sicking> either a browser passes or it fails
  882. # [21:29] <othermaciej> it matters if people start marketing their x% pass rate and comparing to someone else's y%
  883. # [21:29] * Joins: gratz|home (~gratz@cpc7-brig16-2-0-cust362.3-3.cable.virginmedia.com)
  884. # [21:29] <jgraham> Not the way it is presented at the moment
  885. # [21:29] <othermaciej> but I don't think tests should optimize for that
  886. # [21:29] <jgraham> I don't think I am optimising for that
  887. # [21:30] <sicking> indeed. It's really really hard to get people to write tests as it is, i don't want to lay the additional constraint of asking them to worry about marketing as well
  888. # [21:30] <jgraham> FWIW qunit uses a similar design
  889. # [21:30] <sicking> i have never cared about how many tests i fail. Only if i the fail count is 0 or not
  890. # [21:30] <jgraham> As does dojo object harness
  891. # [21:31] <jgraham> So there is at least precedent for the one test / multiple assertions in successful existing harnesses
  892. # [21:31] <othermaciej> There is also precedent for the other way
  893. # [21:32] <othermaciej> I don't think precedent is a slam dunk
  894. # [21:32] <sicking> indeed. We're not really breaking new ground here, so I don't think we need to worry about doing something so outragous that people will ask if there is precedence or not
  895. # [21:32] <jgraham> Sure. But my point is that I am not proposing something unreasonable
  896. # [21:32] <othermaciej> IMO we want to make it easy to write tests that are useful to implementors
  897. # [21:32] <sicking> you're not. I just think there are better solutions
  898. # [21:32] <sicking> yup
  899. # [21:33] <othermaciej> reporting failing assertions individually, and reporting multiple failures at once, is generally better for implementors
  900. # [21:33] <othermaciej> for two reasons:
  901. # [21:33] <othermaciej> (1) you can fix more bugs at once pass without having to tackle failing asserts one at a time
  902. # [21:33] * Quits: plainhao (~plainhao@208.75.85.237) (Quit: plainhao)
  903. # [21:33] <othermaciej> (2) if your implementation is not fully conforming, you can more usefully use the test as a regression test, because you will see if assertions past the first failure go from fail to pass
  904. # [21:34] <othermaciej> (and bonus reason (3), sometimes the first failure is hard to fix but later failures are easy to fix)
  905. # [21:34] <jgraham> If things are independent in the way you suggest they are seperate test()s, not seperate asserts
  906. # [21:34] <othermaciej> therefore, in my opinion the harness should optimize for that case
  907. # [21:34] <othermaciej> by making it the obvious and easy path to create tests that work that way
  908. # [21:34] * Joins: oojacoboo (~jacob@96-38-235-118.static.gwnt.ga.charter.com)
  909. # [21:35] <jgraham> If the syntax of test()s is too difficult let's wok on that
  910. # [21:35] <jgraham> *work
  911. # [21:35] <sicking> jgraham: i still don't understand the need for the test/assert distinction
  912. # [21:36] <sicking> i'd rather not ever see anyone be asked "can you merge these three tests into one with three asserts as they kind'a test the same thing"
  913. # [21:36] <jgraham> sicking: Then I don't know how to convince you. I see people perform contortions in tests to make the result depend on multiple independent things all the time
  914. # [21:36] <sicking> (or the other way obviously)
  915. # [21:36] <jgraham> If you can write it as three test()s then it shouldn't be one test
  916. # [21:37] <sicking> you can write *any* test as a single test()
  917. # [21:37] <jgraham> Right
  918. # [21:37] <jgraham> That's what I said
  919. # [21:37] <sicking> just do all the testing and set a boolean to false once anything fails. At the end do test(boolean) (or whatever the syntax is, i forget)
  920. # [21:37] <sicking> i also argue that there is no such thing as testing a single feature
  921. # [21:37] <jgraham> That is exactly what I want to avoid
  922. # [21:38] <othermaciej> in HTML5 test suite syntax, I have to do this:
  923. # [21:38] <othermaciej> test(function() {
  924. # [21:38] <othermaciej> assert_equals(document.getElementById("abcd"), document.getElementsByTagName("i")[0]);
  925. # [21:38] <othermaciej> }, "User agents must associate the element with an id value for purposes of getElementById.");
  926. # [21:38] <sicking> it is *very* common for our regression tests to catch regressions in features they don't think they are testing
  927. # [21:38] <jgraham> The "set a boolean to false and make all assertions just assert_true")
  928. # [21:38] <othermaciej> but it could be this:
  929. # [21:38] <jgraham> sicking: Yes, I am well aware of this fact
  930. # [21:38] <jgraham> But I don't see how it is related
  931. # [21:39] <othermaciej> test_equals('document.getElementById("abcd")', 'document.getElementsByTagName("i")[0])', "User agents must associate the element with an id value for purposes of getElementById.");
  932. # [21:39] <jgraham> Except that you are encouraged to put all code inside *some* test()
  933. # [21:39] <sicking> i thought the argument of having test/assert distinction was so that you can test separate features in separate test()s
  934. # [21:39] <othermaciej> (or skip the message if the expressions are informative enough)
  935. # [21:39] <jgraham> othermaciej: I hate the "code as a string" pattern
  936. # [21:40] <jgraham> Also in the webkit tests :)
  937. # [21:40] <othermaciej> or alternately, if I could wrap all my asserts in a single test(), I could drop the single-qoutes from that
  938. # [21:40] <othermaciej> (with test() being there mainly to centralize the exception-catching)
  939. # [21:41] <sicking> i'm not sure what the test() pattern is really buying us. Why can't we just use assertions direction
  940. # [21:41] <othermaciej> I don't see the benefit of requiring the more verbose version to get detailed result reporting
  941. # [21:41] <sicking> err
  942. # [21:41] <sicking> directly
  943. # [21:41] <sicking> and make the test harness hook into onerror to catch exceptions
  944. # [21:41] <othermaciej> it seems like that discourages creating tests with detailed result reporting
  945. # [21:41] <jgraham> sicking: Because then you can only have one test per file or have to manually deal with unexpected exceptions
  946. # [21:41] <sicking> at some point in the future browsers will implement onerror, at which point they'll start failing if they erronously throw somewhere
  947. # [21:41] <othermaciej> onerror is not yet supported enough to do that
  948. # [21:42] * Quits: erlehmann (~erlehmann@89.204.137.73) (Ping timeout: 260 seconds)
  949. # [21:42] <jgraham> Anyway I will haveto bow out of this conversation for a bit
  950. # [21:42] <sicking> othermaciej: but it will be soon enough (say a year or two) i'm assuming
  951. # [21:42] <othermaciej> anyway, I have to run to grab lunch
  952. # [21:42] <sicking> heh
  953. # [21:42] * Joins: erlehmann (~erlehmann@89.204.137.71)
  954. # [21:48] <jgraham> (while I remember, another good example of why you want seperate assert() functions is to check that a feature exists before you try to do something with it, and fail if it does not)
  955. # [21:51] * Quits: maikmerten_ (~maikmerte@port-92-201-61-9.dynamic.qsc.de) (Remote host closed the connection)
  956. # [21:55] <hober> sicking: OK, I'll write the ISSUE-27 CP
  957. # [21:56] * Quits: kennyluck (~kennyluck@EM114-48-245-33.pool.e-mobile.ne.jp) (Ping timeout: 250 seconds)
  958. # [21:56] <hober> sicking: when's it due?
  959. # [21:56] <sicking> hober: yay!! thanks!
  960. # [21:56] <sicking> hober: it's way overdue already :( I'll ask maciej when he gets back from food what would be a good new due date
  961. # [21:56] <hober> ahh, ok
  962. # [21:57] <hober> good times :)
  963. # [21:58] <hober> othermaciej: any chance I can get a deadline in the future for the host-the-rel-registry-on-the-µf-wiki ISSUE-27 CP?
  964. # [21:58] * Joins: payman_m (~payman_m@h85-8-2-58.static.se.alltele.net)
  965. # [21:59] <othermaciej> hober: if you volunteer on the list and give a specific reasonable deadline, I expect the chairs would accept that
  966. # [21:59] <othermaciej> (like 1-2 weeks from today max)
  967. # [21:59] <hober> ok
  968. # [21:59] <hober> sounds good
  969. # [21:59] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
  970. # [21:59] * Joins: matjas (~matjas@91.182.119.107)
  971. # [22:02] <sicking> jgraham: i don't know why you'd want to do that. Just use the feature and if it fails then you fail the test
  972. # [22:02] <hober> sent
  973. # [22:03] * Quits: othermaciej (~mjs@17.246.18.254) (Quit: othermaciej)
  974. # [22:04] <sicking> jgraham: the only thing i could think of is if you'd want to use some feature that isn't in HTML5, and thus shouldn't be relied upon. But first of all I can't think of a case when that would be, second in this to me seemingly very rare case, you can always just use feature detection and separate code paths. No need for harness support for this.
  975. # [22:05] * Joins: matjas_ (~matjas@91.182.119.107)
  976. # [22:05] * Joins: othermaciej (~mjs@17.246.18.254)
  977. # [22:08] * Quits: matjas (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
  978. # [22:09] * Joins: kennyluck (~kennyluck@EM114-48-158-91.pool.e-mobile.ne.jp)
  979. # [22:10] * Joins: matjas (~matjas@91.182.119.107)
  980. # [22:10] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: Leaving)
  981. # [22:11] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  982. # [22:12] * Joins: matjas__ (~matjas@91.182.119.107)
  983. # [22:12] * Quits: matjas_ (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
  984. # [22:15] * Quits: matjas (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
  985. # [22:17] * Quits: boaz_ (~boaz@64.119.153.2) (Quit: boaz_)
  986. # [22:17] * Joins: Aleoss (AleossIRC@71-17-20-5.regn.hsdb.sasknet.sk.ca)
  987. # [22:27] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
  988. # [22:28] * Quits: ChrisLTD (~iMac@ur185.ur.unc.edu) (Quit: ChrisLTD)
  989. # [22:28] * Quits: smaug____ (~chatzilla@GYYYKMMMDXXV.gprs.sl-laajakaista.fi) (Ping timeout: 240 seconds)
  990. # [22:36] * Joins: bckenny (~bckenny@nat/google/x-syfmbocztycbjjsv)
  991. # [22:36] <jgraham> Hixie: btw I strongly disagree about linking tests to the spec. Unless we link tests to the spec it is almost impossible to determine if we have coverage of a particular area
  992. # [22:36] * Quits: miketaylr (~miketaylr@24.42.95.108) (Quit: miketaylr)
  993. # [22:37] <jgraham> I don't think questioning invalid tests is the main problem
  994. # [22:37] <Hixie> linking tests to the spec doesn't help you with determining coverage either, unless you plan to have an ungodly number of links per test and plan to be updating them frequently
  995. # [22:37] * Quits: cyphase (~cyphase@adsl-76-254-65-170.dsl.pltn13.sbcglobal.net) (Ping timeout: 265 seconds)
  996. # [22:38] <jgraham> Why an ungodly number of links per test? I don't think it is a disaster if tests fail to link to APIs that they only use for setup
  997. # [22:38] <jgraham> Because those APIs need detailed tests of their own
  998. # [22:39] <jgraham> (indeed it is probably a good thing)
  999. # [22:39] <jgraham> Certainly what Philip` has done with the <canvas> tests is extremely useful
  1000. # [22:44] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  1001. # [22:44] * Quits: ROBOd (~robod@92.86.250.207) (Quit: .)
  1002. # [22:45] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 240 seconds)
  1003. # [22:48] * Quits: yod (~thereaux@fw.vdl2.ca) (Quit: Leaving.)
  1004. # [22:48] * Joins: cyphase (~cyphase@adsl-99-62-186-134.dsl.pltn13.sbcglobal.net)
  1005. # [22:50] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  1006. # [22:51] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  1007. # [22:52] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Client Quit)
  1008. # [22:54] * Quits: matjas__ (~matjas@91.182.119.107) (Quit: Computer has gone to sleep.)
  1009. # [22:57] * Joins: Yudai (~Yudai@pa3ce44.kngwnt01.ap.so-net.ne.jp)
  1010. # [22:59] * Quits: othermaciej (~mjs@17.246.18.254) (Quit: othermaciej)
  1011. # [23:08] * Joins: othermaciej (~mjs@17.246.18.254)
  1012. # [23:11] * Quits: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan) (Ping timeout: 265 seconds)
  1013. # [23:13] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1014. # [23:17] * Joins: kbrosnan (~kbrosnan@ip24-250-54-36.ri.ri.cox.net)
  1015. # [23:17] * Quits: kbrosnan (~kbrosnan@ip24-250-54-36.ri.ri.cox.net) (Changing host)
  1016. # [23:17] * Joins: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan)
  1017. # [23:18] * Quits: JonathanNeal (~Jonathan_@76.79.114.214) (Ping timeout: 255 seconds)
  1018. # [23:18] * Quits: aroben (~aroben@unaffiliated/aroben) (Read error: Connection reset by peer)
  1019. # [23:18] * Joins: smaug____ (~chatzilla@GYYMKDCXXXI.gprs.sl-laajakaista.fi)
  1020. # [23:22] * Joins: jeremyselier (~Jeremy@2a01:e35:139f:2c60:fa1e:dfff:feec:469)
  1021. # [23:29] * Quits: BlurstOfTimes (~blurstoft@168.203.117.107) (Remote host closed the connection)
  1022. # [23:31] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1023. # [23:35] <Hixie> jgraham: the vast majority of tests will be testing combinations of features
  1024. # [23:35] <Hixie> jgraham: and even many of the tests that don't test combinations will be testing things that are specified across many sections
  1025. # [23:36] <Hixie> jgraham: consider any test for 'unload'
  1026. # [23:40] * Quits: smaug____ (~chatzilla@GYYMKDCXXXI.gprs.sl-laajakaista.fi) (Ping timeout: 272 seconds)
  1027. # [23:44] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Quit: Page closed)
  1028. # [23:45] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
  1029. # [23:46] * Quits: erlehmann (~erlehmann@89.204.137.71) (Remote host closed the connection)
  1030. # [23:47] * Joins: erlehmann (~erlehmann@89.204.137.71)
  1031. # [23:49] * Quits: erlehmann (~erlehmann@89.204.137.71) (Client Quit)
  1032. # [23:49] * Joins: erlehmann (~erlehmann@89.204.137.71)
  1033. # [23:52] * Joins: annevk (~annevk@33.115.34.95.customer.cdi.no)
  1034. # [23:54] <jgraham> Hixie: I don't think that changes my point
  1035. # [23:55] * Quits: gavin (~gavin@firefox/developer/gavin) (Remote host closed the connection)
  1036. # [23:55] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  1037. # [23:55] * Joins: gavin (~gavin@people.mozilla.com)
  1038. # [23:55] * Quits: gavin (~gavin@people.mozilla.com) (Changing host)
  1039. # [23:55] * Joins: gavin (~gavin@firefox/developer/gavin)
  1040. # Session Close: Wed Dec 01 00:00:00 2010

The end :)