Options:
- # Session Start: Tue Nov 30 00:00:00 2010
- # Session Ident: #whatwg
- # [00:00] * Quits: bckenny (~bckenny@nat/google/x-tivigampbkxemoit) (Read error: Operation timed out)
- # [00:00] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
- # [00:04] * Quits: bckenny_ (~bckenny@nat/google/x-ntqfanuatshjrkqx) (Remote host closed the connection)
- # [00:05] * Joins: bckenny (~bckenny@nat/google/x-wfxxusznmiygupfo)
- # [00:15] * Quits: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com) (Ping timeout: 255 seconds)
- # [00:16] * Quits: dglazkov (~dglazkov@nat/google/x-fkdayemrelyajqri) (Quit: dglazkov)
- # [00:17] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [00:17] * Quits: davidwalsh_ (~davidwals@75-135-74-55.dhcp.mdsn.wi.charter.com) (Quit: Reading http://davidwalsh.name)
- # [00:18] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
- # [00:21] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
- # [00:22] * Joins: dglazkov_ (~dglazkov@nat/google/x-cymnkaecadpefahy)
- # [00:22] * Quits: dglazkov_ (~dglazkov@nat/google/x-cymnkaecadpefahy) (Client Quit)
- # [00:28] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [00:33] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [00:33] * Parts: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [00:34] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
- # [00:34] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [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)
- # [00:42] <othermaciej> Hixie: ok, I'll look into it
- # [00:50] * Joins: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com)
- # [00:52] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
- # [00:56] * Parts: paulschreiber (~Adium@d226-43-177.home.cgocable.net)
- # [00:58] * Quits: smaug____ (~chatzilla@ZYYYMDCCCXXIII.gprs.sl-laajakaista.fi) (Ping timeout: 240 seconds)
- # [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.
- # [00:59] <Hixie> did the xbl break? 'doh
- # [00:59] <Hixie> d'oh een
- # [00:59] <TabAtkins> It's never worked in my memory.
- # [01:00] <Hixie> it worked in mozilla many years ago
- # [01:00] <Hixie> i should fix the styling on my blog in general
- # [01:00] <TabAtkins> If you're overriding it with xbl, at least make the default rendering an <a>.
- # [01:00] <TabAtkins> s/rendering/tree or whatever/
- # [01:00] <Hixie> well it was just a page to fool around with, not ever a serious page
- # [01:00] <Hixie> i'll add "redesign site" to my todo list
- # [01:00] <TabAtkins> Still, it trips me up *every time* I visit. ^_^
- # [01:01] <Hixie> i haven't blogged in forever, you can just not visit :-)
- # [01:01] <TabAtkins> I don't know that!
- # [01:01] <TabAtkins> also: blog more.
- # [01:01] <TabAtkins> note to self: blog more too.
- # [01:01] <Hixie> i fear that if i blogged it'd all just be me ranting
- # [01:01] <Hixie> e.g. about julian's latest CPs
- # [01:01] <TabAtkins> Ranting is interesting.
- # [01:02] <TabAtkins> And it gives people like cssquirrel something to do.
- # [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
- # [01:03] <TabAtkins> Hosted on the same server, right?
- # [01:03] <Hixie> it's the same web server, same dns servers, and same registrant.
- # [01:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-23-51.pool.e-mobile.ne.jp)
- # [01:06] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
- # [01:07] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Quit: Kthxbye!)
- # [01:08] * Quits: MikeSmith (~MikeSmith@EM111-188-27-98.pool.e-mobile.ne.jp) (Ping timeout: 276 seconds)
- # [01:08] * MikeSmith_ is now known as MikeSmith
- # [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.
- # [01:10] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Ping timeout: 265 seconds)
- # [01:11] <Dashiva> Fully transparent black is a rather amusing concept
- # [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.
- # [01:12] <Dashiva> The downside is that the IPU is no longer a paradox
- # [01:12] <othermaciej> it's a coordinate singularity
- # [01:12] <erlehmann> indeed
- # [01:13] <TabAtkins> Anyway, my mind's made up on the matter. We use premultiplied in CSS transitions and gradients, and that's that.
- # [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.
- # [01:13] <TabAtkins> Right.
- # [01:14] <TabAtkins> I don't even want to consider how you would apply that approach to a mesh gradient.
- # [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.
- # [01:14] <erlehmann> And I think sketching out that colorspace further gave us premultiplying. ;)
- # [01:15] <TabAtkins> Yeah, it does.
- # [01:15] <TabAtkins> In hsla, the premultiplied space is a hypercone.
- # [01:15] <TabAtkins> (It's a hyper-triangular prism or whatever in rgba space, but same deal.)
- # [01:16] * Quits: charlvn (~charlvn@nova.charlvn.com) (Quit: Leaving)
- # [01:18] <Hixie> erlehmann: wouldn't you go red -> transparent red -> transparent blue -> blue ?
- # [01:18] <bckenny> yes, premultiplied alpha has been the only sane way to do it for like 25 years now
- # [01:18] <bckenny> the only problem is precision, but graphics libraries shouldnt be filtering on 8 bit linear color anyway...
- # [01:18] <TabAtkins> Hixie: The point is that having to explicitly put in *two* transparent colors is silly.
- # [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)
- # [01:20] <Hixie> no disagreement from me there
- # [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.
- # [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?
- # [01:21] <Hixie> well we could certainly make the browsers magically expand "transparent" to two colours in a list of colours like that
- # [01:22] <erlehmann> DON'T. ;_;
- # [01:22] <TabAtkins> We could. Or we could just work in premultiplied space, where that comes for free.
- # [01:22] <Hixie> sounds good to me!
- # [01:22] <TabAtkins> (And the "auto-expanding" doesn't work for gradients with non-colinear color-stops, like mesh gradients.)
- # [01:23] <Hixie> (how does it just work in premultiplied space?)
- # [01:23] <TabAtkins> Hixie: I've already suggested it on the list. Moz and Webkit are in favor. ^_^
- # [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.
- # [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.
- # [01:24] <Philip`> (Even if you don't want it to pass through equal-hued variants :-p )
- # [01:25] <erlehmann> it's my brother's napkin-sketch circle, only in THREE DEE!
- # [01:25] <erlehmann> Philip`, think outside the cone!
- # [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.)
- # [01:25] <erlehmann> oh wait, it's 4D.
- # [01:25] <Hixie> so going from red to blue via transparent will still have you darkening the colour in the middle?
- # [01:26] <TabAtkins> Hixie: No, it looks exactly like it would if you did the two-transparent version.
- # [01:27] <Hixie> i'll take your word for it :-)
- # [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.
- # [01:27] <Hixie> well that sounds like a win
- # [01:27] * Joins: sicking (~chatzilla@nat/mozilla/x-chimoahfborkxsgb)
- # [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.
- # [01:27] <Hixie> no need, i have every confidence in your abilities :-)
- # [01:28] * Hixie goes back to trying to work out how navigation should work during load
- # [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.
- # [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.
- # [01:29] <TabAtkins> Nonono, 50% transparent dark gray is perfectly fine.
- # [01:29] <erlehmann> I mean in that whitey transition.
- # [01:30] <TabAtkins> Oh, okay.
- # [01:30] <erlehmann> white -> transparent
- # [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.
- # [01:30] <erlehmann> oh.
- # [01:30] <TabAtkins> Not in the way that saying that naively implies.
- # [01:30] <jamesr__> AryehGregor: yt?
- # [01:30] <AryehGregor> jamesr__, yes.
- # [01:30] <AryehGregor> (briefly)
- # [01:31] <TabAtkins> Yes, the 4-tuple representing a premultiplied color has no components higher than the alpha. But that's a notational convenience.
- # [01:31] <erlehmann> TabAtkins, I retract my statement and state the opposite. And yes, I relied on custom of notation.
- # [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.
- # [01:31] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Remote host closed the connection)
- # [01:32] <Hixie> so how do you represent rgb(0,0,127.5) with 50% transparency?
- # [01:32] <TabAtkins> (half-transparent half-full blue, like rgba(0,0,127,.5), is instead written as (0,0,63.5,.5).)
- # [01:32] <Hixie> ah
- # [01:32] <erlehmann> ba-dum. tssss.
- # [01:33] <Hixie> so how do you know what colour you're representing when alpha=0?
- # [01:33] <AryehGregor> You're representing "transparent".
- # [01:33] <TabAtkins> You're *not* representing a color - that's the point.
- # [01:33] <TabAtkins> transparent is hueless.
- # [01:33] <AryehGregor> The other channels are fairly useless in that case, after all.
- # [01:33] <TabAtkins> So, as an example of why this is good, say you're transitioning from blue to transparent.
- # [01:34] <TabAtkins> Start by converting to components - rgba(0,0,255,1) and rgba(0,0,0,0).
- # [01:34] <TabAtkins> Then convert to premultiplied tuples - (0,0,255,1) and (0,0,0,0).
- # [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.
- # [01:34] <TabAtkins> Then linearly interpolate.
- # [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).
- # [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
- # [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)?
- # [01:35] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [01:35] <AryehGregor> Hixie, yes, but in postmultiplied form that's (255, 255, 255, 0.5).
- # [01:36] <AryehGregor> You only use the premultiplied form for interpolation, not rendering.
- # [01:36] * Hixie hugs the html parser like a safety blanket
- # [01:36] <AryehGregor> Careful, it's spiky.
- # [01:36] <TabAtkins> Hixie: Yeah, it will. Now, convert that tuple back to rgba by dividing each component by the alpha.
- # [01:36] <TabAtkins> (You converted from rgba to premult by multiplying each component by the alpha, so dividing is the obvious inverse transform.)
- # [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.
- # [01:37] <AryehGregor> I guess the UA rounds to the nearest existing color. I wonder how that would look in practice, though.
- # [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.
- # [01:37] <bckenny> wait wait, no need to translate back to unpremultiplied
- # [01:38] <TabAtkins> AryehGregor: Actually, you often use the premultiplied for rendering as well, because it actually simplifies the compositing math.
- # [01:38] <erlehmann> bckenny, ?
- # [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
- # [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.
- # [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.
- # [01:38] <TabAtkins> Yes.
- # [01:38] <bckenny> compositing is color = background * (1-alpha) + foreground
- # [01:39] <erlehmann> keep premultiplied for compositing, win price!
- # [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
- # [01:40] <bckenny> ah, sorry, TabAtkins was saying the same thing simultaneously
- # [01:40] * Quits: paul_irish (~paul_iris@nat/google/x-rceefiusukojptde) (Remote host closed the connection)
- # [01:41] * Joins: paul_irish (~paul_iris@nat/google/x-bngsmbsuhrtcwame)
- # [01:42] * Joins: charlvn (~charlvn@nova.charlvn.com)
- # [01:43] * Quits: bckenny (~bckenny@nat/google/x-wfxxusznmiygupfo) (Remote host closed the connection)
- # [01:44] * Joins: bckenny (~bckenny@nat/google/x-wudbuzpmpfdijxsv)
- # [01:45] * Joins: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
- # [01:45] * Quits: paul_irish (~paul_iris@nat/google/x-bngsmbsuhrtcwame) (Remote host closed the connection)
- # [01:46] * Joins: paul_irish (~paul_iris@nat/google/x-hcefhyhatgdlarqy)
- # [01:46] * Quits: paul_irish (~paul_iris@nat/google/x-hcefhyhatgdlarqy) (Remote host closed the connection)
- # [01:46] * Joins: paul_irish (~paul_iris@nat/google/x-qinziuaeadpdwhdk)
- # [01:48] * Quits: JonathanNeal (~Jonathan_@rrcs-76-79-114-214.west.biz.rr.com) (Quit: Leaving)
- # [01:48] * Quits: paul_irish (~paul_iris@nat/google/x-qinziuaeadpdwhdk) (Remote host closed the connection)
- # [01:49] * Joins: paul_irish (~paul_iris@nat/google/x-aqhlcsoxffqvtyyt)
- # [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.
- # [01:50] <MikeSmith> commits feed at CIA.vc for the spec appears to be working now
- # [01:50] <MikeSmith> http://cia.vc/stats/project/html-spec/.rss
- # [01:51] * Quits: jeremyselier (~Jeremy@seg75-1-81-57-242-198.fbx.proxad.net) (Ping timeout: 245 seconds)
- # [01:51] <MikeSmith> I guess I'll need to tweak it to filter only on one of the files
- # [01:51] * Quits: paul_irish (~paul_iris@nat/google/x-aqhlcsoxffqvtyyt) (Remote host closed the connection)
- # [01:51] <MikeSmith> because the way it is now, it will send duplicates each time
- # [01:52] * Joins: paul_irish (~paul_iris@nat/google/x-obarjgcvcifyoiqs)
- # [01:55] * Quits: erlehmann (~erlehmann@89.204.137.105) (Quit: Die demokratieerhaltende Whistleblower-Organisation Krautchan freut sich immer über Spenden.)
- # [01:56] * Quits: paul_irish (~paul_iris@nat/google/x-obarjgcvcifyoiqs) (Remote host closed the connection)
- # [01:59] * Quits: aroben (~aroben@unaffiliated/aroben) (Ping timeout: 240 seconds)
- # [02:02] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Ping timeout: 265 seconds)
- # [02:03] <jamesr__> AryehGregor: sorry ran off. still there?
- # [02:04] <jamesr__> i'm seeing some really slow script on wikipedia.org and want to report it but dunno where
- # [02:08] <TabAtkins> Pretty sure he's gone by now, jamesr__ - Aryeh's on east coast time.
- # [02:09] <jamesr__> it's only 8pm :P
- # [02:09] <gsnedders> It's only 1am.
- # [02:09] <gsnedders> There again, I'm a student, so what do people expect? :P
- # [02:13] <nessy> it's midday, don't know what you're talking about!
- # [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])
- # [02:19] <Hixie> Philip`: yt?
- # [02:26] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
- # [02:26] * Joins: nattokirai (~nattokira@rtr.mozilla.or.jp)
- # [02:28] * Quits: webr3 (~nathan@host86-143-255-175.range86-143.btcentralplus.com) (Ping timeout: 245 seconds)
- # [02:33] * Joins: webr3 (~nathan@host86-138-168-176.range86-138.btcentralplus.com)
- # [02:50] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Quit: zzzzz)
- # [02:53] * Quits: dbaron (~dbaron@nat/mozilla/x-njsgkvfhhdxifagj) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [02:57] * Quits: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com) (Quit: nn)
- # [03:02] <MikeSmith> I have http://twitter.com/html5 working again
- # [03:02] <Hixie> cool
- # [03:02] * Joins: paul_irish (~paul_iris@c-76-21-40-62.hsd1.ca.comcast.net)
- # [03:03] <Hixie> were you using my code before?
- # [03:03] <Hixie> and if so, does that mean your new code is a drop-in replacement? :-0)
- # [03:03] <Hixie> s/0//
- # [03:04] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Quit: Now time for the weather. Tiffany?)
- # [03:04] * Joins: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
- # [03:07] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
- # [03:07] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Client Quit)
- # [03:09] * Joins: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e)
- # [03:34] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
- # [03:34] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
- # [03:38] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
- # [03:45] * Joins: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net)
- # [04:14] * Joins: aaaazzz (~xxa@p54ABB23A.dip.t-dialin.net)
- # [04:14] * Joins: oojacoboo (~jacob@96-32-175-233.dhcp.gwnt.ga.charter.com)
- # [04:14] <oojacoboo> anyone know if <figcaption> can be used block level with nested elements ?
- # [04:15] <oojacoboo> I am looking to use it in a case with a legend
- # [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
- # [04:19] * Quits: jamesr__ (~jamesr@nat/google/x-gtqbbzfqotlokyml) (Quit: jamesr__)
- # [04:22] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
- # [04:24] * Quits: bckenny (~bckenny@nat/google/x-wudbuzpmpfdijxsv) (Remote host closed the connection)
- # [04:26] * Quits: payman_m (~payman_m@h85-8-2-58.static.se.alltele.net) (Quit: payman_m)
- # [04:27] * Quits: sicking (~chatzilla@nat/mozilla/x-chimoahfborkxsgb) (Ping timeout: 265 seconds)
- # [04:31] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
- # [04:31] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [04:32] <MikeSmith> feeling an earthquake just now in Tokyo
- # [04:32] <MikeSmith> pretty decent size
- # [04:43] <aaaazzz> MikeSmith: "6.9 earthquake hits 502 miles South of TOKYO, Japan "
- # [04:43] <aaaazzz> MikeSmith: http://earthquake.usgs.gov/earthquakes/recenteqsww/Maps/region/Asia.php
- # [04:43] <oojacoboo> ha, wow
- # [04:44] <oojacoboo> I was living in Taipei a few months back and we'd get earthquakes all the time
- # [04:44] <oojacoboo> once every month or so
- # [04:44] <MikeSmith> aaaazzz: thanks
- # [04:45] <MikeSmith> that thing must have been pretty strong in Okinawa
- # [04:45] <aaaazzz> note the big red square. that's an earthquake in the last few minutes.
- # [04:45] <oojacoboo> 6.9 is decent, but not for Japan, the buildings there handle that with ease
- # [04:45] <oojacoboo> probably not much damage
- # [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
- # [04:46] <oojacoboo> it's like that most all places on faults
- # [04:46] * Joins: WHATWG (~apermanen@cpe-76-168-89-210.socal.res.rr.com)
- # [04:46] <oojacoboo> 1-2-3-4 scale quakes
- # [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
- # [04:53] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [04:56] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
- # [04:58] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Quit: cying)
- # [05:00] * Quits: dave_levin (~dave_levi@nat/google/x-vlyfzfcexqirtvjm) (Quit: dave_levin)
- # [05:13] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [05:16] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
- # [05:21] * Joins: f1lt3r (~f1lt3r@64.119.153.2)
- # [05:45] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
- # [05:56] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [05:58] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
- # [06:17] * Joins: dglazkov (~dglazkov@216.239.45.130)
- # [06:19] * Quits: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [06:22] * Quits: dglazkov (~dglazkov@216.239.45.130) (Client Quit)
- # [06:22] <JonathanNeal> Anyone here good with javascript and ranges?
- # [06:31] * Quits: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com) (Ping timeout: 255 seconds)
- # [06:33] * Quits: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 276 seconds)
- # [06:35] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [06:36] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
- # [06:46] * Quits: ormaaj (~quassel@gateway/tor-sasl/ormaaj) (Remote host closed the connection)
- # [06:47] * Joins: ormaaj (~quassel@gateway/tor-sasl/ormaaj)
- # [07:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-106-222.pool.e-mobile.ne.jp)
- # [07:08] * Quits: MikeSmith (~MikeSmith@EM114-48-23-51.pool.e-mobile.ne.jp) (Ping timeout: 255 seconds)
- # [07:08] * MikeSmith_ is now known as MikeSmith
- # [07:18] * Joins: childsrevolt (188f605e@gateway/web/freenode/ip.24.143.96.94)
- # [07:21] * Quits: sean` (~Sean@D97A9F8D.cm-3-3c.dynamic.ziggo.nl) (Quit: Leaving)
- # [07:28] * Joins: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [07:31] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
- # [07:32] * Quits: ojan (~ojan@nat/google/x-zywmmyogxwhbvrns) (Quit: ojan)
- # [07:36] * Joins: matjas (~matjas@ip-81-11-184-192.dsl.scarlet.be)
- # [07:41] * Quits: matjas (~matjas@ip-81-11-184-192.dsl.scarlet.be) (Client Quit)
- # [07:43] * Joins: maikmerten (~merten@ls5dhcp196.cs.uni-dortmund.de)
- # [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])
- # [07:46] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
- # [07:50] * Quits: charlvn (~charlvn@nova.charlvn.com) (Remote host closed the connection)
- # [07:50] * Quits: childsrevolt (188f605e@gateway/web/freenode/ip.24.143.96.94) (Quit: Page closed)
- # [07:53] * Joins: thiessenp_ (~thiessenp@ip4da8062e.direct-adsl.nl)
- # [07:54] * Quits: aaaazzz (~xxa@p54ABB23A.dip.t-dialin.net) (Ping timeout: 260 seconds)
- # [07:54] * Quits: thiessenp (~thiessenp@ip4da8062e.direct-adsl.nl) (Ping timeout: 250 seconds)
- # [07:54] * thiessenp_ is now known as thiessenp
- # [08:01] * Quits: thiessenp (~thiessenp@ip4da8062e.direct-adsl.nl) (Quit: off to do what I do)
- # [08:05] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
- # [08:07] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
- # [08:19] * Joins: rimantas (~rimliu@lan-84-240-20-219.vln.skynet.lt)
- # [08:24] * Joins: FireFly (~firefly@unaffiliated/firefly)
- # [08:26] * Joins: henrikbjorn (~Henrik@dkcphfw01.infopaq.dk)
- # [08:40] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 260 seconds)
- # [08:44] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [08:45] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
- # [08:47] * Quits: nessy (~Adium@124-169-135-161.dyn.iinet.net.au) (Quit: Leaving.)
- # [08:50] * Joins: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net)
- # [08:56] * Quits: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no) (Ping timeout: 272 seconds)
- # [09:01] * Joins: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no)
- # [09:02] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
- # [09:05] * Quits: Anti-X (~duckmysic@c2C76BF51.dhcp.bluecom.no) (Ping timeout: 240 seconds)
- # [09:12] * Quits: hamaji (~hamaji@220.109.219.244) (Ping timeout: 260 seconds)
- # [09:13] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [09:16] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
- # [09:20] * Joins: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com)
- # [09:24] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
- # [09:25] * Quits: gratz|home (~gratz@cpc7-brig16-2-0-cust362.3-3.cable.virginmedia.com) (Remote host closed the connection)
- # [09:25] * Joins: mhausenblas_ (~mhausenbl@wg1-nat.fwgal01.deri.ie)
- # [09:25] * Quits: estes (~aestes@76-220-34-58.lightspeed.sntcca.sbcglobal.net) (Quit: estes)
- # [09:29] <MikeSmith> http://p2pdns.baywords.com/2010/11/30/hello-world/
- # [09:29] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 240 seconds)
- # [09:29] * mhausenblas_ is now known as mhausenblas
- # [09:39] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
- # [09:40] * Quits: reni (~reni@sedkit.inf.u-szeged.hu) (Remote host closed the connection)
- # [09:45] * Quits: nattokirai (~nattokira@rtr.mozilla.or.jp) (Quit: nattokirai)
- # [09:50] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 255 seconds)
- # [09:52] * Joins: matjas (~matjas@188.188.102.237)
- # [09:52] <Dashiva> Will they be leveraging the web of trust?
- # [09:56] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
- # [10:04] * Joins: ROBOd (~robod@92.86.250.207)
- # [10:22] * Quits: bzed (~bzed@devel.recluse.de) (Quit: leaving)
- # [10:22] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
- # [10:23] * Joins: bzed (~bzed@devel.recluse.de)
- # [10:26] <jgraham> Aren't we onto the Web 2.0 of Trust now? The one where you trust facebook for everything?
- # [10:28] * Joins: smaug____ (~chatzilla@ZYYKMMDCLII.gprs.sl-laajakaista.fi)
- # [10:29] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [10:33] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Disconnected by services)
- # [10:33] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [10:34] * Joins: Necrathex (~nectop@212-123-163-12.ip.telfort.nl)
- # [10:35] * abarth is now known as abarth|zZz
- # [10:37] * Joins: Phae (~Phae@chimera.macmillan.com)
- # [10:45] * Quits: romeo_ (~romeo__@x1-6-00-10-a7-28-f3-47.k602.webspeed.dk) (Quit: Leaving)
- # [10:46] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Disconnected by services)
- # [10:46] * Joins: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com)
- # [10:52] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: This computer has gone to sleep)
- # [10:57] * Joins: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net)
- # [11:05] * Quits: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e) (Quit: Leaving.)
- # [11:07] * Joins: erlehmann (~erlehmann@89.204.137.105)
- # [11:08] * Joins: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
- # [11:11] * Joins: sean` (~Sean@h183194.upc-h.chello.nl)
- # [11:12] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
- # [11:12] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Client Quit)
- # [11:12] <Workshiva> jgraham: I think that requires Semantic Web 2.0 to work
- # [11:12] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
- # [11:12] * Quits: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
- # [11:14] * Quits: Necrathex (~nectop@212-123-163-12.ip.telfort.nl) (Read error: Connection timed out)
- # [11:15] * Joins: Necrathex (~nectop@212-123-163-12.ip.telfort.nl)
- # [11:15] <jgraham> hsivonen: BTW there is now an "official" call for comments about testharness.js on public-html-testsuite
- # [11:20] <hsivonen> jgraham: thanks
- # [11:20] * Joins: benschwarz (~ben@59.167.185.148)
- # [11:25] <hsivonen> my computer use experience became so much better after I patched libgtk-vnc. I guess I should attempt patching libvte again
- # [11:26] <hsivonen> maybe I should try patching xserver-xorg-input-wacom, too
- # [11:30] * Joins: mpt (~mpt@canonical/mpt)
- # [11:35] <Philip`> Hixie: Pong
- # [11:42] * Quits: matjas (~matjas@188.188.102.237) (Remote host closed the connection)
- # [11:46] * Joins: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
- # [11:48] * Quits: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
- # [11:49] * Joins: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net)
- # [11:51] * Quits: JonathanNeal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
- # [11:53] * Quits: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [12:01] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
- # [12:02] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 240 seconds)
- # [12:06] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
- # [12:07] <MikeSmith> hsivonen: so we've gotten multiple reports about validator error messages for src-less script elements being confusing/misleading
- # [12:08] <MikeSmith> specifically, for the case where you have a script element with an inline script
- # [12:08] <MikeSmith> that is, non-empty
- # [12:08] <MikeSmith> but you have, e.g., a charset attribute on it
- # [12:20] * Quits: sean` (~Sean@h183194.upc-h.chello.nl) (Quit: Leaving)
- # [12:25] * Joins: annevk (~annevk@pat-tdc.opera.com)
- # [12:28] * Joins: Anti-X (~duckmysic@c9B77BF51.dhcp.bluecom.no)
- # [12:28] <annevk> strings over enums
- # [12:28] <annevk> it does make some sense
- # [12:29] * Quits: gavin__ (~gavin@CPE001346f5db49-CM0018c0db9a8a.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [12:29] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [12:43] <hsivonen> MikeSmith: well, I suppose hacking Jing would be too hard
- # [12:43] <hsivonen> MikeSmith: so I guess this needs to move to assertions.sch/Assertions.java :-(
- # [12:43] <MikeSmith> yeah
- # [12:43] <MikeSmith> hsivonen: I think that's the easiest thing
- # [12:43] <MikeSmith> I'm working on it now
- # [12:44] * Quits: smaug____ (~chatzilla@ZYYKMMDCLII.gprs.sl-laajakaista.fi) (Ping timeout: 276 seconds)
- # [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
- # [12:52] <MikeSmith> or async or charset
- # [12:56] <hsivonen> MikeSmith: looks good
- # [12:56] * MikeSmith steps away for a bit
- # [12:56] <MikeSmith> ah cool
- # [12:56] <MikeSmith> I'll send you a patch to review
- # [12:56] <hsivonen> ok
- # [12:56] <MikeSmith> thanks
- # [12:56] * hsivonen wonders how to do printf debugging with X input drivers
- # [12:57] <hsivonen> maybe there's a function for dumping stuff in the X server log or something
- # [13:01] * Quits: erlehmann (~erlehmann@89.204.137.105) (Ping timeout: 245 seconds)
- # [13:02] * Joins: smaug____ (~chatzilla@85.78.4.35)
- # [13:03] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [13:08] * Quits: MikeSmith (~MikeSmith@EM114-48-106-222.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
- # [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)
- # [13:13] <annevk> "non-xslt top-level element with null namespace uri"
- # [13:13] <annevk> good times
- # [13:13] * Joins: MikeSmith (~MikeSmith@EM114-48-20-178.pool.e-mobile.ne.jp)
- # [13:14] <annevk> "That is not possible. Developers would fix the mistake before it hits users."
- # [13:14] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Ping timeout: 272 seconds)
- # [13:14] * Joins: erlehmann (~erlehmann@89.204.153.96)
- # [13:17] * Quits: homata_ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [13:18] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
- # [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"
- # [13:19] * Joins: pauld (~chatzilla@194.102.13.2)
- # [13:19] * Quits: erlehmann (~erlehmann@89.204.153.96) (Quit: Die demokratieerhaltende Whistleblower-Organisation Krautchan freut sich immer über Spenden.)
- # [13:20] <annevk> "Also, the author of this site is a bozo."
- # [13:21] * Joins: Xano_ (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
- # [13:24] * Xano_ is now known as Xano
- # [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
- # [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."
- # [13:44] <annevk> ?!
- # [13:47] <jgraham> You have to pay 1/3 in each currency?
- # [13:48] <annevk> no, depends on which W3C host you're associated with
- # [13:49] <annevk> I just don't see how the above is advice
- # [13:50] * Joins: cyberix (twruottu@melkki.cs.helsinki.fi)
- # [13:51] <hsivonen> annevk: is trimming whitespace before comparing encoding names an HTML thing or a Web Platform thing?
- # [13:51] <hsivonen> that is, should I fix it in the HTML parser or in Gecko's charset alias service?
- # [13:51] <annevk> that is a good question
- # [13:52] <annevk> and I don't really know; guess it depends on what happens in XML
- # [13:52] <annevk> or you can maybe test it with charset=" ..." in HTTP, but Gecko had issues with quotes there...
- # [13:53] <hsivonen> what about @charset in CSS?
- # [13:54] <annevk> yeah
- # [13:54] <annevk> though I guess it ought to be tested in IE
- # [13:54] <annevk> and I don't have Windows yet so I cannot help
- # [13:55] * Joins: aroben (~aroben@unaffiliated/aroben)
- # [13:56] <hsivonen> ok.
- # [13:56] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 245 seconds)
- # [13:56] * Quits: kinetik (~kinetik@121.98.132.55) (Ping timeout: 255 seconds)
- # [13:58] <jgraham> annevk: The case shifting for getAttribute et. al. should happen for any node in a HTML document, right?
- # [13:59] <annevk> yes
- # [13:59] <hsivonen> no, no
- # [13:59] <annevk> oh wait
- # [13:59] <jgraham> So how does one deal with foreign content where the name is case shifted
- # [13:59] <hsivonen> only if the element is in the HTML namespace
- # [13:59] <annevk> rtfs instead
- # [13:59] <annevk> http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
- # [13:59] <jgraham> Ah, somehow I missed the first clause
- # [14:00] <jgraham> Sorry for being sumb
- # [14:00] <jgraham> *dumb
- # [14:01] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [14:02] * Joins: kinetik (~kinetik@121.98.132.55)
- # [14:14] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 276 seconds)
- # [14:24] * Joins: reni (~reni@sedkit.inf.u-szeged.hu)
- # [14:24] * Quits: annevk (~annevk@pat-tdc.opera.com) (Remote host closed the connection)
- # [14:24] * Joins: annevk (~annevk@pat-tdc.opera.com)
- # [14:31] * Joins: plainhao (~plainhao@208.75.85.237)
- # [14:34] * Quits: payman (~payman@pat.se.opera.com) (Quit: Leaving)
- # [14:36] * Joins: Amorphous (jan@unaffiliated/amorphous)
- # [14:38] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Quit: kennyluck)
- # [14:38] * Joins: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7)
- # [14:38] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Excess Flood)
- # [14:39] * Joins: miketaylr (~miketaylr@24.42.95.108)
- # [14:39] * Joins: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7)
- # [14:45] * Joins: charlvn (~charlvn@nova.charlvn.com)
- # [14:52] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
- # [15:04] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [15:05] * Joins: payman (~payman@pat.se.opera.com)
- # [15:05] * Quits: kennyluck (~kennyluck@2001:200:1c0:3602:225:ff:fe4d:f8c7) (Quit: kennyluck)
- # [15:06] * Joins: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [15:11] <hsivonen> does anyone happen to have CSS @charset tests with spaces inside the quoted string?
- # [15:11] * Joins: FireFly (~firefly@unaffiliated/firefly)
- # [15:11] <hsivonen> (I could make some, but I think I've configured my servers to send a HTTP-level charset for CSS...)
- # [15:14] <annevk> you could check if Content-Type: text/html;charset="utf-8" works in IE and then play with that
- # [15:17] <hsivonen> I think I'll make a zip file of my test and run it locally on Windows
- # [15:17] * Joins: BlurstOfTimes (~blurstoft@168.203.117.107)
- # [15:18] * Joins: ChrisLTD (~iMac@ur185.ur.unc.edu)
- # [15:19] <hsivonen> Gecko rejects CSS with bogus @charset
- # [15:19] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Read error: Operation timed out)
- # [15:19] <hsivonen> Chrome uses the default charset
- # [15:20] * Joins: yod (~thereaux@fw.vdl2.ca)
- # [15:21] * Joins: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
- # [15:21] <hsivonen> annevk: IE9 doesn't trim spaces in CSS @charset
- # [15:22] <hsivonen> and rejects the sheet
- # [15:22] <hsivonen> annevk: I guess that makes the behavior of Opera 11 beta a bug
- # [15:22] <hsivonen> (Opera 11 beta trims space)
- # [15:23] * Quits: mamund (~mamund@frost.nullshells.net) (Read error: Connection reset by peer)
- # [15:27] <annevk> hmm
- # [15:27] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 265 seconds)
- # [15:27] <annevk> I guess only case-insensitive matching is a platform thing then
- # [15:27] <annevk> does Opera 11 beta no longer do UTS22?
- # [15:28] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [15:28] <annevk> in other news
- # [15:28] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Ping timeout: 250 seconds)
- # [15:28] <annevk> if you define an attribute for the web platform
- # [15:28] <annevk> and its setter sometimes throws and only accepts certain values
- # [15:29] <annevk> but eventually the attribute "becomes" that value
- # [15:29] * Joins: mamund (mamund@frost.nullshells.net)
- # [15:29] <annevk> it would be nice if that didn't require a separate variable
- # [15:29] <annevk> e.g. http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-withcredentials-attribute has a separate "credentials flag"
- # [15:30] * Quits: henrikbjorn (~Henrik@dkcphfw01.infopaq.dk) (Quit: henrikbjorn)
- # [15:30] <annevk> which is really just reflecting the attribute
- # [15:30] <annevk> could I say for step 4 "set the withCredentials attribute to the given value"
- # [15:31] <annevk> if you read that literally I guess you would get recursion...
- # [15:31] <annevk> bah
- # [15:31] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
- # [15:33] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Quit: Now time for the weather. Tiffany?)
- # [15:33] <annevk> set the withCredentials attribute value to the given value makes it work, I think
- # [15:33] <annevk> Hixie did something like that in the <canvas> API
- # [15:34] * Joins: davidwalsh (~davidwals@75-135-74-55.dhcp.mdsn.wi.charter.com)
- # [15:35] * Quits: yod (~thereaux@fw.vdl2.ca) (Ping timeout: 272 seconds)
- # [15:41] * Joins: yod (~thereaux@fw.vdl2.ca)
- # [15:43] <annevk> heycam, maybe Web IDL should have support for "string enums"
- # [15:43] <annevk> heycam, i.e. attributes that accept a limited amount of string values
- # [15:44] <annevk> heycam, it's an extensible pattern that is used quite a lot
- # [15:51] * Quits: smaug____ (~chatzilla@85.78.4.35) (Ping timeout: 255 seconds)
- # [15:54] * Joins: kennyluck (~kennyluck@EM114-48-245-33.pool.e-mobile.ne.jp)
- # [16:03] * Joins: smaug____ (~chatzilla@GYYYKMMMDXXV.gprs.sl-laajakaista.fi)
- # [16:05] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Remote host closed the connection)
- # [16:05] <hsivonen> is hixie.ch down?
- # [16:05] <hsivonen> ah just really slow
- # [16:16] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
- # [16:31] * Joins: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net)
- # [16:43] * Quits: maikmerten (~merten@ls5dhcp196.cs.uni-dortmund.de) (Read error: Operation timed out)
- # [16:50] * Quits: yod (~thereaux@fw.vdl2.ca) (Read error: Connection reset by peer)
- # [16:50] <annevk> heycam, I emailed public-script-coord with somewhat more context
- # [16:54] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Ping timeout: 255 seconds)
- # [16:55] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
- # [16:58] * Joins: yod (~thereaux@fw.vdl2.ca)
- # [16:58] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
- # [16:59] * Joins: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com)
- # [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)."
- # [17:00] <annevk> oh god
- # [17:00] <annevk> this is the first time I have seen a RESOLVED from the TAG
- # [17:00] <annevk> does this mean they don't do much?
- # [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
- # [17:03] * Joins: micheil_mbp (~micheil@124-171-40-30.dyn.iinet.net.au)
- # [17:03] * Quits: micheil (~micheil@124-171-40-30.dyn.iinet.net.au) (Read error: Connection reset by peer)
- # [17:03] <webr3> hard to fix deployed mistakes, so can only offer best practise advice in those circumstances
- # [17:03] * micheil_mbp is now known as micheil
- # [17:03] * webr3 imo
- # [17:04] * Quits: micheil (~micheil@124-171-40-30.dyn.iinet.net.au) (Read error: Connection reset by peer)
- # [17:04] * Joins: micheil (~micheil@124-171-40-30.dyn.iinet.net.au)
- # [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)
- # [17:05] <annevk> the problem is that fragment identifiers are removed from the request
- # [17:05] <annevk> imo
- # [17:05] <annevk> and how they work with Location will become interoperable over time, pretty sure of that
- # [17:06] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
- # [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
- # [17:07] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Quit: Disconnected...)
- # [17:07] <webr3> if you make them webwide, then they are pointless and may as well just be dropped in favour of querystring only
- # [17:07] <webr3> webwide as in servers and protocols have knowledge
- # [17:07] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Read error: Connection reset by peer)
- # [17:07] * Joins: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie)
- # [17:07] <annevk> querystrings don't have the same features
- # [17:08] <annevk> but I guess if you still believe in content negotiation and such this all works differently
- # [17:10] <webr3> what features are missing from querystring but in fragments? (other than the clientside per mediatype nature of them)
- # [17:10] <annevk> in particular, you want to know the fragment identifier on the server if you moved from largedocument#foo to just foo
- # [17:10] <annevk> so links remain working
- # [17:13] * Quits: othree (~othree@admin39.ct.ntust.edu.tw) (Ping timeout: 255 seconds)
- # [17:13] <webr3> aye that's a problem for sure
- # [17:13] * webr3 that I've avoided thus far by not makign hugedocument#foo in the first place :p
- # [17:13] * Quits: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [17:14] <annevk> no blog with #comments?
- # [17:15] <webr3> #recentcomments and /all-comments
- # [17:17] * Joins: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
- # [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
- # [17:17] <webr3> and/or client considerations
- # [17:19] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [17:19] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Client Quit)
- # [17:19] * Quits: zcorpan (~zcorpan@c-2e98e355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [17:21] * Joins: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [17:24] * Quits: miketaylr (~miketaylr@24.42.95.108) (Quit: miketaylr)
- # [17:27] * Joins: miketaylr (~miketaylr@24.42.95.108)
- # [17:30] * aroben is now known as aroben|afk
- # [17:33] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Ping timeout: 255 seconds)
- # [17:36] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:36] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:38] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:38] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:43] * Quits: WHATWG (~apermanen@cpe-76-168-89-210.socal.res.rr.com) (Quit: Leaving.)
- # [17:43] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:43] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:44] * Joins: jwalden (~waldo@c-68-40-243-245.hsd1.mi.comcast.net)
- # [17:46] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:46] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:49] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
- # [17:52] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
- # [17:53] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:54] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:54] * aroben|afk is now known as aroben
- # [17:56] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:56] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [17:58] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [17:58] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [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
- # [18:00] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
- # [18:00] <Philip`> For synchronous tests, I think I can just do "test(function() { var canvas = ...; subsequent code });" and that's fine
- # [18:00] <Philip`> but for async tests I don't see an easy way to do that
- # [18:00] <jgraham> Philip`: at the moment the harness assumes that all test objects have been created before onload
- # [18:01] <jgraham> so you would have to do
- # [18:01] <jgraham> var t = async_test()
- # [18:01] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [18:01] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [18:01] <jgraham> addEventListener("load", function() {t.step(function() {/*do the setup here*/})}, false)
- # [18:01] <jgraham> or so
- # [18:02] <jgraham> Unless I am missing your point
- # [18:02] <jgraham> If you have a better way, I am open to suggestions
- # [18:02] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: This computer has gone to sleep)
- # [18:03] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [18:03] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [18:03] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [18:04] * Quits: rimantas (~rimliu@lan-84-240-20-219.vln.skynet.lt) (Quit: Leaving)
- # [18:05] * Quits: Jon_Neal (~Jonathan_@99-59-125-34.lightspeed.irvnca.sbcglobal.net) (Read error: Connection reset by peer)
- # [18:06] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [18:06] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [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
- # [18:08] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [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(); }); });"
- # [18:08] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [18:09] <Philip`> Oh, actually, synchronous test doesn't wait for onload either
- # [18:09] <Philip`> I think
- # [18:10] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [18:11] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Excess Flood)
- # [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)
- # [18:11] * Joins: peol (~andree@unaffiliated/peol)
- # [18:13] * Joins: othermaciej (~mjs@67.218.104.144)
- # [18:13] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [18:13] <jgraham> Yeah, sync tests really are sync, they just run straight away
- # [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"
- # [18:16] <jgraham> s/onload/load/g
- # [18:16] <jgraham> and remove some ()
- # [18:17] * Joins: WHATWG (~apermanen@67-134-147-135.dia.static.qwest.net)
- # [18:20] <jgraham> (does that sound like it would be useful?)
- # [18:21] <Philip`> Depends on whether running after onload is far more common than the alternative, I guess
- # [18:22] <Philip`> Hmm, when I said "img.onload = t.step(function() { use canvas, img; t.done(); });" I think that was wrong
- # [18:22] <Philip`> and it needs "img.onload = function() { t.step(function() { use canvas, img; t.done(); }); };"
- # [18:22] * Quits: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com) (Quit: nn)
- # [18:23] * Quits: pauld (~chatzilla@194.102.13.2) (Remote host closed the connection)
- # [18:23] <jgraham> Well I guess there might be a large class of tests for which some resource is needed after onload
- # [18:23] <Philip`> Could t.step return a function that can be called later to execute the test step, rather than executing it immediately?
- # [18:23] <jgraham> It could
- # [18:23] <Philip`> so that onload = t.step(function() ...) would do the right thing
- # [18:23] <jgraham> Or there could be a different method for that
- # [18:24] <jgraham> t.step_func or something
- # [18:24] <Philip`> In what cases is the current t.step useful?
- # [18:24] <jgraham> I agree it seems like an appealing design
- # [18:26] * Philip` can't think of any cases where he'd want t.step to execute the step immediately
- # [18:27] <jgraham> I guess it is always trivial to get the other behaviour, just by doing t.step(function() {})()
- # [18:28] * Joins: expilicious (~zAyghip8@cpc2-ely02-0-0-cust338.5-1.cable.virginmedia.com)
- # [18:28] <jgraham> So, yes, that seems like an improvement
- # [18:28] <jgraham> I guess I should email public-html-testsuite
- # [18:29] <jgraham> Since it is a breaking change
- # [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
- # [18:31] * Quits: paul_irish (~paul_iris@c-76-21-40-62.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [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
- # [18:35] <jgraham> Indeed
- # [18:35] * Joins: fielding (~chatzilla@99-21-208-82.lightspeed.irvnca.sbcglobal.net)
- # [18:36] * Parts: fielding (~chatzilla@99-21-208-82.lightspeed.irvnca.sbcglobal.net)
- # [18:37] * Quits: oojacoboo (~jacob@96-32-175-233.dhcp.gwnt.ga.charter.com) (Quit: oojacoboo)
- # [18:38] * Joins: ojan (~ojan@nat/google/x-dqfuvpydfedmxpfs)
- # [18:42] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [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
- # [18:42] * Joins: paul_irish (~paul_iris@66.109.105.215)
- # [18:44] * Joins: Xano_ (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
- # [18:44] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Read error: Connection reset by peer)
- # [18:44] * Xano_ is now known as Xano
- # [18:45] * Joins: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6)
- # [18:51] * Joins: mdelaney (~mdelaney@c-24-91-192-217.hsd1.ma.comcast.net)
- # [18:52] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 255 seconds)
- # [18:53] * Joins: maikmerten (~maikmerte@port-92-201-38-82.dynamic.qsc.de)
- # [18:54] * Joins: cying (~cying@173-228-29-224.dsl.static.sonic.net)
- # [18:56] * Joins: JonathanNeal (~Jonathan_@76.79.114.214)
- # [18:56] <JonathanNeal> Anyone here good with createRange, selections, etc?
- # [19:01] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Quit: cying)
- # [19:05] * Joins: xtothey (~ryanblair@96.246.169.79)
- # [19:05] * Joins: MikeSmith_ (~MikeSmith@EM114-48-173-75.pool.e-mobile.ne.jp)
- # [19:07] * Joins: dave_levin (~dave_levi@nat/google/x-wcqvzwdqezgsfzsw)
- # [19:08] * Quits: MikeSmith (~MikeSmith@EM114-48-20-178.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
- # [19:08] * MikeSmith_ is now known as MikeSmith
- # [19:09] * Quits: othermaciej (~mjs@67.218.104.144) (Quit: othermaciej)
- # [19:10] * Quits: Phae (~Phae@chimera.macmillan.com) (Quit: Leaving.)
- # [19:10] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
- # [19:12] * Quits: annevk (~annevk@pat-tdc.opera.com) (Quit: annevk)
- # [19:13] * Joins: cying (~cying@173-13-176-101-sfba.hfc.comcastbusiness.net)
- # [19:13] * Quits: abarth|zZz (~abarth@c-67-169-68-88.hsd1.ca.comcast.net) (Quit: abarth|zZz)
- # [19:14] <TabAtkins> Ranges and selections confuse me.
- # [19:15] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [19:15] * Quits: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net) (Ping timeout: 240 seconds)
- # [19:16] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [19:18] * Joins: espadrine (~espadrine@acces1465.res.insa-lyon.fr)
- # [19:18] * Joins: jamesr_ (~jamesr@nat/google/x-disvkxydkjekxsbe)
- # [19:19] * Joins: Phae (~Phae@chimera.macmillan.com)
- # [19:20] <JonathanNeal> TabAtkins, me too.
- # [19:20] <JonathanNeal> Yesterday I decided I wanted to write a wysiwyg.
- # [19:20] <TabAtkins> Now you have many problems.
- # [19:24] * Joins: othermaciej (~mjs@17.246.18.254)
- # [19:26] <Workshiva> Now you have problem{2,}
- # [19:26] * Quits: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com) (Ping timeout: 250 seconds)
- # [19:29] * Quits: paul_irish (~paul_iris@66.109.105.215) (Remote host closed the connection)
- # [19:30] <JonathanNeal> I like the word "issues"
- # [19:31] * Workshiva ponders the value of changing <b> into <span> with font-weight: bold;
- # [19:32] <TabAtkins> Workshiva: From where?
- # [19:33] <Workshiva> In this page I'm working on
- # [19:33] * Joins: paul_irish (~paul_iris@nat/google/x-tckuxnmqoeyeypij)
- # [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
- # [19:35] <Workshiva> Some people, when presented with this problem think "I know, I'll use <b>". Now they have change comments.
- # [19:38] * Joins: fishd (~fishd@nat/google/x-mlgrmgouaxgvipba)
- # [19:41] * Joins: erlehmann (~erlehmann@89.204.137.73)
- # [19:42] * beowulf doesn't understand Workshiva's problem
- # [19:43] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
- # [19:45] * Joins: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz)
- # [19:47] * Joins: dbaron (~dbaron@nat/mozilla/x-gqhbcmglzvvdyksc)
- # [19:48] * Joins: bckenny (~bckenny@nat/google/x-aqhfcqqdlojjydld)
- # [19:52] * Joins: maikmerten_ (~maikmerte@port-92-201-61-9.dynamic.qsc.de)
- # [19:53] * Quits: maikmerten (~maikmerte@port-92-201-38-82.dynamic.qsc.de) (Ping timeout: 245 seconds)
- # [19:53] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
- # [19:53] * Quits: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com) (Ping timeout: 250 seconds)
- # [19:56] * Joins: openstandards (~openstand@home.standardizedways.co.uk)
- # [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?
- # [20:02] * Quits: cying (~cying@173-13-176-101-sfba.hfc.comcastbusiness.net) (Read error: Connection reset by peer)
- # [20:02] * Joins: cying (~cying@173-228-29-224.dsl.static.sonic.net)
- # [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. ^_^
- # [20:10] <TabAtkins> I'll push it along, and also ask for a public way to report it and get back to you.
- # [20:10] <hsivonen> TabAtkins: thanks
- # [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
- # [20:11] <othermaciej> jgraham: look at the test I cited
- # [20:12] * Joins: romeo_ (~romeo__@x1-6-00-10-a7-28-f3-47.k459.webspeed.dk)
- # [20:12] <othermaciej> jgraham: is there a way to do it "right", but still report each assertion independently in the output?
- # [20:12] <jgraham> You're not supposed to create multiple independent tests where the result of one depends on dom manipulation in another
- # [20:12] <othermaciej> I know
- # [20:12] <othermaciej> that's why I assume I did it "wrong"
- # [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
- # [20:13] <jgraham> If they are logically independent tests they should have seperate test() functions
- # [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
- # [20:14] <othermaciej> what if they are dependent, but I want to report each result independently?
- # [20:14] <jgraham> "don't do that"
- # [20:14] * jgraham -> food
- # [20:14] <jgraham> biab
- # [20:14] <othermaciej> are you saying my use case is invalid?
- # [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
- # [20:15] <JonathanNeal> Heck yes, finally did it.
- # [20:15] <othermaciej> and even for fully independent tests, having to wrap it in test() { function() { assert_equals(... seems like needless verbiage
- # [20:16] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
- # [20:20] * Joins: tndH (~Rob@cpc6-seac20-2-0-cust102.7-2.cable.virginmedia.com)
- # [20:20] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
- # [20:21] * Joins: invariable (~variable@unaffiliated/variable)
- # [20:33] * Parts: invariable (~variable@unaffiliated/variable) ("Trojan horse ran out of hay")
- # [20:38] * Quits: peol (~andree@unaffiliated/peol) (Remote host closed the connection)
- # [20:43] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Ping timeout: 245 seconds)
- # [20:45] * Quits: yod (~thereaux@fw.vdl2.ca) (Read error: Connection reset by peer)
- # [20:45] * Joins: yod (~thereaux@fw.vdl2.ca)
- # [20:48] <jgraham> othermaciej: Given the simplicity of your DOM manipulations, your test is probably fine
- # [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
- # [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");
- # [20:51] <jgraham> othermaciej: Possibly, but that seems to be optimising for your specific case
- # [20:51] <othermaciej> well, I expect any script test with many assertions would benefit
- # [20:51] <othermaciej> almost any non-trivial script test is likely to have a dozen or so assertions which are worth reporting independently
- # [20:51] <jgraham> It would have the side effect of moving all the calls to e.g. setAttribute out of the try/catch
- # [20:51] <othermaciej> the other possibility is to report each assertion, not just each test
- # [20:52] <othermaciej> that would have also satisfied my goals and would be syntactically nicer
- # [20:52] <jgraham> othermaciej: Not necessarily e.g. Opera house style is one test/file
- # [20:52] <othermaciej> doing this set of id tests as one test per file would be a poor way to do it
- # [20:53] <othermaciej> it would be even more wastefully verbose
- # [20:53] <jgraham> Reporting each assertion seems very bad because, by design, the number of assertions can vary
- # [20:53] <othermaciej> WebKit style is to put related tests for one feature in one file
- # [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
- # [20:54] <othermaciej> what's the reason not to report each assertion?
- # [20:54] * Joins: sicking (~chatzilla@nat/mozilla/x-jqlvpvnbtldnjpqj)
- # [20:54] <othermaciej> I do not understand the benfit of running 100 assertions and reporting only one vague pass/fail result
- # [20:54] <jgraham> Because one assertion might not be meaningful on its own
- # [20:54] <jgraham> In this case it is
- # [20:54] <othermaciej> yes, I could invent something myself, but I would like the test framework to be good for this kind of test
- # [20:54] <othermaciej> I believe it is not
- # [20:54] <jgraham> But in a more complex case one assertion !== one pass
- # [20:55] <othermaciej> you asked for feedback
- # [20:55] <jgraham> othermaciej: Yes, I know :)
- # [20:55] <othermaciej> can you give me an example of an assertion that would not be worth reporting?
- # [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
- # [20:56] <jgraham> e.g. first you check the number of child nodes for a given element
- # [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
- # [20:57] <othermaciej> why would it be bad to report which of those steps failed?
- # [20:57] <jgraham> then you check they have the expected tag names
- # [20:57] <jgraham> It does report which of those steps failed
- # [20:57] <othermaciej> or are you saying that in some cases it might not make sense to even run the later assertions?
- # [20:57] <jgraham> It doesn't even run them
- # [20:57] <othermaciej> I can see how that is a possibility, but I suspect it is the rare case, not the common case
- # [20:57] * Quits: mdelaney (~mdelaney@c-24-91-192-217.hsd1.ma.comcast.net) (Quit: mdelaney)
- # [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
- # [20:58] <jgraham> and indeed if you do try you are likely to run into more problems
- # [20:59] <jgraham> (assuming you expected it to have > 0 for the test to pass)
- # [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
- # [20:59] <othermaciej> so I am skeptical that it is the common case
- # [20:59] <othermaciej> nontheless, if all steps of a multi-step test pass, it seems useful to report that they all passed
- # [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
- # [21:00] <jgraham> Well that is possible of course
- # [21:00] <jgraham> But it doesn't change the fact that, for your case, multiple test()s are the intended approach
- # [21:00] * Quits: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net) (Remote host closed the connection)
- # [21:01] <othermaciej> I agree that it is intended
- # [21:01] <othermaciej> I find it overly syntactically inconvenient
- # [21:01] <othermaciej> I think this type of test is not uncommon
- # [21:02] <othermaciej> while writing it, I saw sicking and weinig writing similar multi-assertion tests where it was worthwhile reporting each
- # [21:02] <othermaciej> (it was during TPAC)
- # [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
- # [21:03] <jgraham> So, I am open to suggestions for API changes that would improve the situation
- # [21:03] <othermaciej> I suggested two possibilities
- # [21:03] <othermaciej> if you want, I can make them more concrete and detailed
- # [21:04] <othermaciej> (will post details on the list in that case)
- # [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
- # [21:05] <jgraham> and one assertion === one thing required for a test to pass
- # [21:06] <jgraham> Adding a more convenient way to run multiple sync tests is possible
- # [21:06] * Joins: boaz_ (~boaz@64.119.153.2)
- # [21:06] <jgraham> Although, in all honesty, I think async tests are more common
- # [21:07] <othermaciej> that may be so; I chose to make a sync test because it was easier
- # [21:07] <othermaciej> but HTML5 has a lot of DOM interfaces that can be tested sync
- # [21:07] <othermaciej> I expect there could be thousands of such tests
- # [21:08] <jgraham> I wouldn't expect they all can (or should) be tested with assert_equals though
- # [21:08] <jgraham> e.g. you might well want to use assert_readonly
- # [21:08] <othermaciej> no, but I expect they can all be tested with the assert_* functions provided
- # [21:08] * Joins: estes (~aestes@17.246.17.47)
- # [21:08] <jgraham> So optimising for the specific case of assert_equals seems wrong
- # [21:09] <othermaciej> I think another way to state my issue is this: test() combines multiple purposes
- # [21:09] <othermaciej> - It is the exception-catching block that prevents the test framework itself from failing to report a result
- # [21:10] <othermaciej> - It is the unit of result reporting
- # [21:10] <Dashiva> "XHTML 1.0 - the first baby step toward a well-formed, valid web."
- # [21:10] <Dashiva> I guess there is some truth in this, since people will never write valid HTML if we don't force them :)
- # [21:10] <othermaciej> - It is the unit of stop-fail combination of assertions (such that if one fails you do not run the rest)
- # [21:11] <Hixie> Dashiva: XHTML proponents say that it's ok to send XHTML as text/html, so how is it different?
- # [21:11] * Quits: bckenny (~bckenny@nat/google/x-aqhfcqqdlojjydld) (Remote host closed the connection)
- # [21:11] <Hixie> it's more like "XHTML - another step towards ensuring that all pages are invalid"
- # [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
- # [21:12] <othermaciej> I'll make some concrete proposals with worked examples
- # [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
- # [21:13] <Dashiva> Hixie: It introduced an optional failure point by sending as application/xhtml+xml
- # [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
- # [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
- # [21:14] <Hixie> Dashiva: text/html had an optional failure point too, called validation :-)
- # [21:14] <othermaciej> I'll post something more precise to the list later today or tomorrow
- # [21:14] <jgraham> I really really dislike the idea of reporting each assertion seperatly
- # [21:14] <othermaciej> then you can tell me what details of my proposal suck
- # [21:15] <sicking> jgraham: why? We do that in mochitest which we use for firefox testing. It makes writing tests quite nice
- # [21:15] <othermaciej> I really dislike reporting just one result for many assertions
- # [21:15] <othermaciej> it makes the test much less useful for a partially-conforming implementation
- # [21:15] <othermaciej> and it makes it harder to see what the test tested, even if it passes
- # [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
- # [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
- # [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
- # [21:17] <othermaciej> I kind of like printing the passing assertions as well, but I can see an argument either way
- # [21:17] <Hixie> ah well, this is all water under the bridge anyway
- # [21:17] <jgraham> othermaciej: It should also be noted that test(f) is a shorthand for async_test().step(f)
- # [21:17] <jgraham> So the fact that test() does multiple things is just a convenience
- # [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
- # [21:18] <sicking> note that i think that showing/hiding should be an action the tester-person takes, not that the test itself takes
- # [21:19] <othermaciej> sicking: it should be easy to make a setup that can show only failures in the UI
- # [21:19] <sicking> othermaciej: true
- # [21:19] <othermaciej> also useful would be a failure count at the top, maybe
- # [21:19] <othermaciej> all you really need is a distinct class on the result rows that failed
- # [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
- # [21:20] <jgraham> I often see tests that have var apssed = passed1 && passed2 && passed3 and so on
- # [21:20] <jgraham> Which is bad
- # [21:20] <othermaciej> I don't ever see that in WebKit script tests
- # [21:20] <othermaciej> where we report each assertion
- # [21:20] <jgraham> I don't mind printing the results of asserts in the output
- # [21:21] <sicking> jgraham: i'm not sure i understand the purpose of the test/assertion distinction
- # [21:21] <jgraham> sicking: Did you see my earlier example?
- # [21:21] <sicking> jgraham: no
- # [21:21] <jgraham> Where you do something (e.g. set innerHTML) and want to check that you get the DOM you expect
- # [21:21] <othermaciej> it's useful in the case where you want to make running an assertion conditional on a previous one passing
- # [21:22] <jgraham> So you check a number of things about the resulting DOM
- # [21:22] <othermaciej> which I think is the rare case, not the common case
- # [21:22] <jgraham> Like the number of nodes, their names, their values, etc.
- # [21:22] <sicking> right, i'm not sure i've ever needed to do that
- # [21:22] * Quits: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com) (Ping timeout: 245 seconds)
- # [21:22] <othermaciej> I don't think I have either, and I have written a lot of assertion-based tests for WebKit
- # [21:22] <sicking> (answering maciej)
- # [21:22] <jgraham> I see that sort of thing all the time
- # [21:23] <jgraham> Philip` had another example from his canvas tests
- # [21:23] <sicking> can you point to it?
- # [21:23] <sicking> as in, got link?
- # [21:23] <othermaciej> I would be highly surprised if it is the majority case
- # [21:24] <sicking> indeed
- # [21:24] <jgraham> http://philip.html5.org/tests/canvas/suite/tests/2d.state.saverestore.stackdepth.html
- # [21:25] * Quits: charlvn (~charlvn@nova.charlvn.com) (Quit: Leaving)
- # [21:25] <sicking> why do you need the assert/test distinction there?
- # [21:25] <jgraham> It was at least a rather common case last time I used a harness with a similar design (testing pure ECMAScript)
- # [21:25] * sicking isn't sure he's understanding the argument
- # [21:26] <jgraham> Because you don't want 512 individual assertions
- # [21:26] <sicking> why not?
- # [21:26] <jgraham> That test should contribute 1 to the overall results
- # [21:26] <sicking> why?
- # [21:27] <sicking> the number of pass/fails are meaningless. It's fails != 0 that matters
- # [21:27] <jgraham> Because it tests a single point from the spec
- # [21:27] <othermaciej> I think it would be useful if that test reported exactly which cases passed or failed
- # [21:27] <sicking> first of all that's not really true
- # [21:28] <sicking> that testcase tests at least 3 different APIs on canvas
- # [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
- # [21:28] <jgraham> The number of fails matters in a spec conformance testsuite
- # [21:28] <sicking> how?
- # [21:28] <sicking> either a browser passes or it fails
- # [21:29] <othermaciej> it matters if people start marketing their x% pass rate and comparing to someone else's y%
- # [21:29] * Joins: gratz|home (~gratz@cpc7-brig16-2-0-cust362.3-3.cable.virginmedia.com)
- # [21:29] <jgraham> Not the way it is presented at the moment
- # [21:29] <othermaciej> but I don't think tests should optimize for that
- # [21:29] <jgraham> I don't think I am optimising for that
- # [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
- # [21:30] <jgraham> FWIW qunit uses a similar design
- # [21:30] <sicking> i have never cared about how many tests i fail. Only if i the fail count is 0 or not
- # [21:30] <jgraham> As does dojo object harness
- # [21:31] <jgraham> So there is at least precedent for the one test / multiple assertions in successful existing harnesses
- # [21:31] <othermaciej> There is also precedent for the other way
- # [21:32] <othermaciej> I don't think precedent is a slam dunk
- # [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
- # [21:32] <jgraham> Sure. But my point is that I am not proposing something unreasonable
- # [21:32] <othermaciej> IMO we want to make it easy to write tests that are useful to implementors
- # [21:32] <sicking> you're not. I just think there are better solutions
- # [21:32] <sicking> yup
- # [21:33] <othermaciej> reporting failing assertions individually, and reporting multiple failures at once, is generally better for implementors
- # [21:33] <othermaciej> for two reasons:
- # [21:33] <othermaciej> (1) you can fix more bugs at once pass without having to tackle failing asserts one at a time
- # [21:33] * Quits: plainhao (~plainhao@208.75.85.237) (Quit: plainhao)
- # [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
- # [21:34] <othermaciej> (and bonus reason (3), sometimes the first failure is hard to fix but later failures are easy to fix)
- # [21:34] <jgraham> If things are independent in the way you suggest they are seperate test()s, not seperate asserts
- # [21:34] <othermaciej> therefore, in my opinion the harness should optimize for that case
- # [21:34] <othermaciej> by making it the obvious and easy path to create tests that work that way
- # [21:34] * Joins: oojacoboo (~jacob@96-38-235-118.static.gwnt.ga.charter.com)
- # [21:35] <jgraham> If the syntax of test()s is too difficult let's wok on that
- # [21:35] <jgraham> *work
- # [21:35] <sicking> jgraham: i still don't understand the need for the test/assert distinction
- # [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"
- # [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
- # [21:36] <sicking> (or the other way obviously)
- # [21:36] <jgraham> If you can write it as three test()s then it shouldn't be one test
- # [21:37] <sicking> you can write *any* test as a single test()
- # [21:37] <jgraham> Right
- # [21:37] <jgraham> That's what I said
- # [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)
- # [21:37] <sicking> i also argue that there is no such thing as testing a single feature
- # [21:37] <jgraham> That is exactly what I want to avoid
- # [21:38] <othermaciej> in HTML5 test suite syntax, I have to do this:
- # [21:38] <othermaciej> test(function() {
- # [21:38] <othermaciej> assert_equals(document.getElementById("abcd"), document.getElementsByTagName("i")[0]);
- # [21:38] <othermaciej> }, "User agents must associate the element with an id value for purposes of getElementById.");
- # [21:38] <sicking> it is *very* common for our regression tests to catch regressions in features they don't think they are testing
- # [21:38] <jgraham> The "set a boolean to false and make all assertions just assert_true")
- # [21:38] <othermaciej> but it could be this:
- # [21:38] <jgraham> sicking: Yes, I am well aware of this fact
- # [21:38] <jgraham> But I don't see how it is related
- # [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.");
- # [21:39] <jgraham> Except that you are encouraged to put all code inside *some* test()
- # [21:39] <sicking> i thought the argument of having test/assert distinction was so that you can test separate features in separate test()s
- # [21:39] <othermaciej> (or skip the message if the expressions are informative enough)
- # [21:39] <jgraham> othermaciej: I hate the "code as a string" pattern
- # [21:40] <jgraham> Also in the webkit tests :)
- # [21:40] <othermaciej> or alternately, if I could wrap all my asserts in a single test(), I could drop the single-qoutes from that
- # [21:40] <othermaciej> (with test() being there mainly to centralize the exception-catching)
- # [21:41] <sicking> i'm not sure what the test() pattern is really buying us. Why can't we just use assertions direction
- # [21:41] <othermaciej> I don't see the benefit of requiring the more verbose version to get detailed result reporting
- # [21:41] <sicking> err
- # [21:41] <sicking> directly
- # [21:41] <sicking> and make the test harness hook into onerror to catch exceptions
- # [21:41] <othermaciej> it seems like that discourages creating tests with detailed result reporting
- # [21:41] <jgraham> sicking: Because then you can only have one test per file or have to manually deal with unexpected exceptions
- # [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
- # [21:41] <othermaciej> onerror is not yet supported enough to do that
- # [21:42] * Quits: erlehmann (~erlehmann@89.204.137.73) (Ping timeout: 260 seconds)
- # [21:42] <jgraham> Anyway I will haveto bow out of this conversation for a bit
- # [21:42] <sicking> othermaciej: but it will be soon enough (say a year or two) i'm assuming
- # [21:42] <othermaciej> anyway, I have to run to grab lunch
- # [21:42] <sicking> heh
- # [21:42] * Joins: erlehmann (~erlehmann@89.204.137.71)
- # [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)
- # [21:51] * Quits: maikmerten_ (~maikmerte@port-92-201-61-9.dynamic.qsc.de) (Remote host closed the connection)
- # [21:55] <hober> sicking: OK, I'll write the ISSUE-27 CP
- # [21:56] * Quits: kennyluck (~kennyluck@EM114-48-245-33.pool.e-mobile.ne.jp) (Ping timeout: 250 seconds)
- # [21:56] <hober> sicking: when's it due?
- # [21:56] <sicking> hober: yay!! thanks!
- # [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
- # [21:56] <hober> ahh, ok
- # [21:57] <hober> good times :)
- # [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?
- # [21:58] * Joins: payman_m (~payman_m@h85-8-2-58.static.se.alltele.net)
- # [21:59] <othermaciej> hober: if you volunteer on the list and give a specific reasonable deadline, I expect the chairs would accept that
- # [21:59] <othermaciej> (like 1-2 weeks from today max)
- # [21:59] <hober> ok
- # [21:59] <hober> sounds good
- # [21:59] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
- # [21:59] * Joins: matjas (~matjas@91.182.119.107)
- # [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
- # [22:02] <hober> sent
- # [22:03] * Quits: othermaciej (~mjs@17.246.18.254) (Quit: othermaciej)
- # [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.
- # [22:05] * Joins: matjas_ (~matjas@91.182.119.107)
- # [22:05] * Joins: othermaciej (~mjs@17.246.18.254)
- # [22:08] * Quits: matjas (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
- # [22:09] * Joins: kennyluck (~kennyluck@EM114-48-158-91.pool.e-mobile.ne.jp)
- # [22:10] * Joins: matjas (~matjas@91.182.119.107)
- # [22:10] * Quits: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no) (Quit: Leaving)
- # [22:11] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
- # [22:12] * Joins: matjas__ (~matjas@91.182.119.107)
- # [22:12] * Quits: matjas_ (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
- # [22:15] * Quits: matjas (~matjas@91.182.119.107) (Ping timeout: 245 seconds)
- # [22:17] * Quits: boaz_ (~boaz@64.119.153.2) (Quit: boaz_)
- # [22:17] * Joins: Aleoss (AleossIRC@71-17-20-5.regn.hsdb.sasknet.sk.ca)
- # [22:27] * Joins: cardona507 (~cardona50@cpe-98-150-147-252.hawaii.res.rr.com)
- # [22:28] * Quits: ChrisLTD (~iMac@ur185.ur.unc.edu) (Quit: ChrisLTD)
- # [22:28] * Quits: smaug____ (~chatzilla@GYYYKMMMDXXV.gprs.sl-laajakaista.fi) (Ping timeout: 240 seconds)
- # [22:36] * Joins: bckenny (~bckenny@nat/google/x-syfmbocztycbjjsv)
- # [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
- # [22:36] * Quits: miketaylr (~miketaylr@24.42.95.108) (Quit: miketaylr)
- # [22:37] <jgraham> I don't think questioning invalid tests is the main problem
- # [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
- # [22:37] * Quits: cyphase (~cyphase@adsl-76-254-65-170.dsl.pltn13.sbcglobal.net) (Ping timeout: 265 seconds)
- # [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
- # [22:38] <jgraham> Because those APIs need detailed tests of their own
- # [22:39] <jgraham> (indeed it is probably a good thing)
- # [22:39] <jgraham> Certainly what Philip` has done with the <canvas> tests is extremely useful
- # [22:44] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
- # [22:44] * Quits: ROBOd (~robod@92.86.250.207) (Quit: .)
- # [22:45] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 240 seconds)
- # [22:48] * Quits: yod (~thereaux@fw.vdl2.ca) (Quit: Leaving.)
- # [22:48] * Joins: cyphase (~cyphase@adsl-99-62-186-134.dsl.pltn13.sbcglobal.net)
- # [22:50] * Joins: gavin_ (~gavin@firefox/developer/gavin)
- # [22:51] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
- # [22:52] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Client Quit)
- # [22:54] * Quits: matjas__ (~matjas@91.182.119.107) (Quit: Computer has gone to sleep.)
- # [22:57] * Joins: Yudai (~Yudai@pa3ce44.kngwnt01.ap.so-net.ne.jp)
- # [22:59] * Quits: othermaciej (~mjs@17.246.18.254) (Quit: othermaciej)
- # [23:08] * Joins: othermaciej (~mjs@17.246.18.254)
- # [23:11] * Quits: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan) (Ping timeout: 265 seconds)
- # [23:13] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:17] * Joins: kbrosnan (~kbrosnan@ip24-250-54-36.ri.ri.cox.net)
- # [23:17] * Quits: kbrosnan (~kbrosnan@ip24-250-54-36.ri.ri.cox.net) (Changing host)
- # [23:17] * Joins: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan)
- # [23:18] * Quits: JonathanNeal (~Jonathan_@76.79.114.214) (Ping timeout: 255 seconds)
- # [23:18] * Quits: aroben (~aroben@unaffiliated/aroben) (Read error: Connection reset by peer)
- # [23:18] * Joins: smaug____ (~chatzilla@GYYMKDCXXXI.gprs.sl-laajakaista.fi)
- # [23:22] * Joins: jeremyselier (~Jeremy@2a01:e35:139f:2c60:fa1e:dfff:feec:469)
- # [23:29] * Quits: BlurstOfTimes (~blurstoft@168.203.117.107) (Remote host closed the connection)
- # [23:31] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [23:35] <Hixie> jgraham: the vast majority of tests will be testing combinations of features
- # [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
- # [23:36] <Hixie> jgraham: consider any test for 'unload'
- # [23:40] * Quits: smaug____ (~chatzilla@GYYMKDCXXXI.gprs.sl-laajakaista.fi) (Ping timeout: 272 seconds)
- # [23:44] * Quits: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19) (Quit: Page closed)
- # [23:45] * Joins: dglazkov (d8ef2d13@gateway/web/freenode/ip.216.239.45.19)
- # [23:46] * Quits: erlehmann (~erlehmann@89.204.137.71) (Remote host closed the connection)
- # [23:47] * Joins: erlehmann (~erlehmann@89.204.137.71)
- # [23:49] * Quits: erlehmann (~erlehmann@89.204.137.71) (Client Quit)
- # [23:49] * Joins: erlehmann (~erlehmann@89.204.137.71)
- # [23:52] * Joins: annevk (~annevk@33.115.34.95.customer.cdi.no)
- # [23:54] <jgraham> Hixie: I don't think that changes my point
- # [23:55] * Quits: gavin (~gavin@firefox/developer/gavin) (Remote host closed the connection)
- # [23:55] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [23:55] * Joins: gavin (~gavin@people.mozilla.com)
- # [23:55] * Quits: gavin (~gavin@people.mozilla.com) (Changing host)
- # [23:55] * Joins: gavin (~gavin@firefox/developer/gavin)
- # Session Close: Wed Dec 01 00:00:00 2010
The end :)