Options:
- # Session Start: Fri Dec 14 00:00:00 2007
- # Session Ident: #html-wg
- # [00:06] * Quits: matt (matt@128.30.52.30) (Quit: matt)
- # [00:17] * Joins: mjs (mjs@17.255.104.230)
- # [00:58] * Quits: adele (adele@128.107.24.129) (Quit: adele)
- # [01:02] * Quits: mjs (mjs@17.255.104.230) (Quit: mjs)
- # [01:04] * Quits: tH (Rob@77.86.6.102) (Quit: ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508])
- # [01:11] * Quits: timbl (timbl@209.6.134.246) (Quit: timbl)
- # [01:21] * Joins: jgraham_ (james@81.86.217.3)
- # [01:24] * Joins: matt (matt@128.30.52.30)
- # [01:32] * Joins: mjs (mjs@17.255.104.230)
- # [01:40] * Quits: Sander (svl@86.87.68.167) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [01:42] * Quits: jgraham_ (james@81.86.217.3) (Quit: This computer has gone to sleep)
- # [02:07] * Joins: adele (adele@17.203.14.205)
- # [04:17] * Disconnected
- # [09:04] * Attempting to rejoin channel #html-wg
- # [09:04] * Rejoined channel #html-wg
- # [09:04] * Topic is 'HTML WG http://www.w3.org/html/wg/tracker/agenda (logs: http://krijnhoetmer.nl/irc-logs/ ) '
- # [09:04] * Set by DanC_lap on Thu Dec 13 18:32:44
- # [10:17] <krijnh> Ping
- # [10:17] * Disconnected
- # [10:17] * Attempting to rejoin channel #html-wg
- # [10:17] * Rejoined channel #html-wg
- # [10:17] * Topic is 'HTML WG http://www.w3.org/html/wg/tracker/agenda (logs: http://krijnhoetmer.nl/irc-logs/ ) '
- # [10:17] * Set by DanC_lap on Thu Dec 13 18:32:44
- # [12:08] <krijnh> Puff
- # [12:08] * Disconnected
- # [12:08] * Attempting to rejoin channel #html-wg
- # [12:08] * Rejoined channel #html-wg
- # [12:08] * Topic is 'HTML WG http://www.w3.org/html/wg/tracker/agenda (logs: http://krijnhoetmer.nl/irc-logs/ ) '
- # [12:08] * Set by DanC_lap on Thu Dec 13 18:32:44
- # [12:25] * Quits: Julian (chatzilla@217.91.35.233) (Ping timeout)
- # [12:26] * Quits: drry (drry@222.225.140.32) (Ping timeout)
- # [12:27] * Joins: drry (drry@222.225.140.32)
- # [12:29] * Quits: MikeSmith (MikeSmith@mcclure.w3.org) (Ping timeout)
- # [12:30] * Quits: drry (drry@222.225.140.32) (Ping timeout)
- # [12:35] * Joins: drry (drry@222.225.140.32)
- # [12:36] * Joins: MikeSmith (MikeSmith@mcclure.w3.org)
- # [12:54] * Joins: anne (annevk@88.131.66.110)
- # [12:58] * Joins: timbl (timbl@209.6.134.246)
- # [12:58] * Joins: Julian_Reschke (chatzilla@217.91.35.233)
- # [12:58] * Julian_Reschke is now known as Julian
- # [13:06] * Quits: Lachy (Lachlan@88.131.66.110) (Quit: This computer has gone to sleep)
- # [13:40] * Joins: Sander (svl@86.87.68.167)
- # [13:46] * Quits: jmb (jmb@152.78.68.189) (Ping timeout)
- # [13:50] * Joins: jmb (jmb@152.78.68.189)
- # [13:52] * Quits: jgraham_ (james@81.86.217.3) (Quit: This computer has gone to sleep)
- # [13:54] * Philip will hold off on "canvas shadows should not be optional" until there's more than one implementation of them
- # [13:54] * Joins: timbl_ (timbl@209.6.134.246)
- # [13:56] * Quits: timbl (timbl@209.6.134.246) (Ping timeout)
- # [13:58] <mjs> is there really only one?
- # [13:59] <Philip> There's a patch which adds shadows to Mozilla (which I wrote), but that was after the FF3 feature freeze so it wasn't included
- # [13:59] <Philip> and I'm not aware of any other shadow implementations
- # [14:01] <Philip> (...other than WebKit)
- # [14:01] <mjs> see, I was about to make a test case to make sure I wasn't insane
- # [14:02] <Philip> See http://philip.html5.org/tests/canvas/suite/tests/index.2d.shadow.html if you want test cases :-)
- # [14:03] <Philip> (Hmm, Opera (which doesn't do shadows at all) still scores 25% on there...)
- # [14:05] <hsivonen> stepping through the XML parser in debugger I always wonder whether I should have rolled my own or used Xerces as the basis instead of Ælfred...
- # [14:05] <mjs> no, I was just pretty sure that the Safari implemenation of canvas did shadows (and that this was the reason it was in the spec) so I was briefly confused when you said an experimental Mozilla patch was the only implementation
- # [14:06] <Philip> mjs: Ah, sorry, the Safari one is burned into my mind sufficiently that I didn't think to mention it explicitly :-)
- # [14:06] <hsivonen> huh? shadows before dashed stroking???
- # [14:07] <Philip> hsivonen: Web 2.0 needs shadows, not dashes!
- # [14:07] <hsivonen> Philip: you are right, of course. dashes are *so* 1988
- # [14:07] <Philip> roundedRect(x, y, w, h, cornerRadius) would be nice too
- # [14:08] <mjs> (Safari does pass only 68% of those shadow tests)
- # [14:09] <mjs> (a lot of the failures seem to be for lame reasons though)
- # [14:09] <anne> not a reason not to fix them!
- # [14:09] <mjs> 'Failed assertion ctx.shadowColor === 'rgba(0, 255, 0, 0.0)' (got RGBA(0,255, 0,0)[string], expected rgba(0, 255, 0, 0.0)[string])'
- # [14:09] <anne> we should make <canvas> interop a bit better so we can focus on introducing more holes in new features such as dashes, rounded corners, text, etc.
- # [14:09] <mjs> dunno if I'd lose a lot of sleep over that one
- # [14:10] <mjs> yeah, the fact that there's good canvas test suites is a plus
- # [14:10] <Philip> mjs: http://bugs.webkit.org/show_bug.cgi?id=15266 is the most significant bug
- # [14:10] <Philip> http://bugs.webkit.org/show_bug.cgi?id=15265 is the only other one I bothered reporting
- # [14:11] <Philip> You could argue about what "bug" means when the spec doesn't actually specify the behaviour at all, but I'll stick with my definition for now since I think it makes sense :-)
- # [14:12] <Philip> (where "my definition" is http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-June/011799.html )
- # [14:12] <mjs> if I wanted to fix canvas compliance bugs I probably wouldn't start with the shadow stuff
- # [14:12] <hsivonen> anne: did you write internal subset support on top of html5lib?
- # [14:13] <hsivonen> DTDs are the main reason not to make a copy of the Validator.nu HTML parser and turn in into an XML parser
- # [14:13] <anne> the XML5 parser is based on the same code structre as html5lib but that's it
- # [14:13] <Philip> mjs: That sounds sensible, since there's nobody to interoperate with yet
- # [14:16] <mjs> I can't tell what is going on in your shadow gradient examples here: http://philip.html5.org/demos/canvas/shadows/various.html
- # [14:16] <mjs> (the rest look reasonably ok to me)
- # [14:18] <Philip> mjs: If you look in e.g. Firefox, you can see what the unshadowed gradient looks like
- # [14:18] <Philip> i.e. a square, with some transparent bits around the lower right
- # [14:19] <Philip> so the shadow should be the same shape and the same pattern of transparentness, but offset down/right
- # [14:19] <Philip> but if I remember correctly, it gets clipped to the source rectangle or something instead of being offset properly
- # [14:20] <mjs> my FF3 beta fails to render the gradients at all
- # [14:20] <mjs> (launching FF2)
- # [14:21] <Philip> mjs: How old beta? Might be https://bugzilla.mozilla.org/show_bug.cgi?id=402527
- # [14:21] <Philip> (assuming you're using a Mac)
- # [14:21] <mjs> so we are drawing a solid shadow under the whole gradient filled area I guess?
- # [14:22] <mjs> that won't be fun to fix, it is probably a CoreGraphics bug so we might have to hand-code shadow drawing for gradients
- # [14:22] <Philip> I can't remember exactly what Safari was doing, and it looks like I don't have screenshots of it
- # [14:22] <hsivonen> eww... Ælfred has even pointless recursion where a loop would make sense...
- # [14:23] <Philip> Are bugs ever fun to fix? :-)
- # [14:23] <mjs> I prefer fixing bugs that are in code where I actually work on
- # [14:25] <Philip> Incidentally, it seems quite trivial to DOS the browser by rendering something with a really high shadowBlur
- # [14:26] * hsivonen is trying to fix bugs in code I'm at least the fourth maintainer of...
- # [14:26] <Philip> (I clamped shadowBlur to 2000 (i.e. ~190 pixel radius) for Mozilla)
- # [14:27] <mjs> I think we set a limit too, at least for text-shadow
- # [14:29] * Quits: Julian (chatzilla@217.91.35.233) (Ping timeout)
- # [14:30] * Philip tries to find a runnable version of Safari somewhere
- # [14:48] <Philip> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A%3Cbody%20onload%3Dwith(document.getElementById('c').getContext('2d'))%7BshadowColor%3D'yellow'%3BshadowBlur%3D10000%3BfillStyle%3D'blue'%3BfillRect(100%2C50%2C100%2C50)%7D%3E%0D%0A%3Ccanvas%20id%3Dc%3E%3C%2Fcanvas%3E
- # [14:48] <Philip> mjs: That uses a few hundred megabytes of memory and freezes for longer than I can be bothered waiting (i.e. at least a minute)
- # [14:50] * Philip has no idea why that's so inefficient - it should be O(shadowBlur) memory and O(sqrt(shadowBlur)) time, I think
- # [14:51] * Philip guesses that's CoreGraphics's fault
- # [14:51] <mjs> so yeah, I'm not gonna click that link :-)
- # [14:51] <mjs> but thanks
- # [14:51] <mjs> we should probably limit the blur
- # [15:01] * Quits: Sander (svl@86.87.68.167) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [15:01] * Joins: smedero (smedero@158.130.16.191)
- # [15:05] * Joins: Julian_Reschke (chatzilla@217.91.35.233)
- # [15:05] * Julian_Reschke is now known as Julian
- # [15:37] * Joins: matt (matt@128.30.52.30)
- # [16:00] <Philip> http://glimr.rubyforge.org/cake/canvas.html
- # [16:21] * Joins: Lachy (Lachlan@88.131.66.110)
- # [16:37] * Joins: billmason (billmason@69.30.57.156)
- # [17:01] * Joins: gsnedders (gsnedders@86.135.224.200)
- # [17:09] * Quits: Lachy (Lachlan@88.131.66.110) (Ping timeout)
- # [17:17] * Quits: anne (annevk@88.131.66.110) (Ping timeout)
- # [17:23] * Joins: timbl__ (timbl@209.6.134.246)
- # [17:23] * Quits: timbl_ (timbl@209.6.134.246) (Connection reset by peer)
- # [17:23] * Joins: Sander (svl@86.87.68.167)
- # [17:24] * Quits: Julian (chatzilla@217.91.35.233) (Ping timeout)
- # [17:30] * Joins: jgraham_ (james@81.86.217.3)
- # [18:00] * Joins: adele (adele@67.170.232.64)
- # [18:07] * Quits: gsnedders (gsnedders@86.135.224.200) (Quit: gsnedders)
- # [18:17] * Quits: adele (adele@67.170.232.64) (Client exited)
- # [18:18] * Joins: adele (adele@67.170.232.64)
- # [18:23] * Joins: timbl_ (timbl@209.6.134.246)
- # [18:23] * Quits: timbl__ (timbl@209.6.134.246) (Connection reset by peer)
- # [18:27] * Joins: tH (Rob@77.86.6.102)
- # [18:29] * Quits: smedero (smedero@158.130.16.191) (Quit: smedero)
- # [18:52] * Quits: adele (adele@67.170.232.64) (Quit: adele)
- # [18:56] * Joins: gsnedders (gsnedders@86.135.224.200)
- # [19:19] * Joins: aroben (aroben@17.203.12.236)
- # [19:31] * Parts: hendry (hendry@89.16.172.32)
- # [19:32] * Quits: matt (matt@128.30.52.30) (Quit: matt)
- # [19:38] * Joins: ChrisWilson (cwilso@131.107.0.71)
- # [19:42] * Quits: jgraham_ (james@81.86.217.3) (Quit: Leaving)
- # [19:51] * Joins: tH_ (Rob@87.102.85.165)
- # [19:51] * Quits: tH (Rob@77.86.6.102) (Ping timeout)
- # [19:52] * tH_ is now known as tH
- # [19:55] * Joins: Yudai (Yudai@59.146.9.126)
- # [19:55] * Joins: jgraham_ (james@81.86.217.3)
- # [19:56] * Quits: Yudai (Yudai@59.146.9.126) (Quit: SIGTERM received; exit)
- # [19:56] * Joins: Yudai (Yudai@59.146.9.126)
- # [20:08] * Joins: adele (adele@17.255.110.63)
- # [20:40] * Joins: matt (matt@128.30.52.30)
- # [20:41] * Quits: adele (adele@17.255.110.63) (Quit: adele)
- # [20:45] * Joins: dbaron (dbaron@63.245.220.241)
- # [20:47] * Quits: aroben (aroben@17.203.12.236) (Ping timeout)
- # [21:00] * Quits: dbaron (dbaron@63.245.220.241) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [22:23] * Quits: ROBOd (robod@89.122.216.38) (Quit: http://www.robodesign.ro )
- # [22:26] * Joins: adele (adele@17.255.110.63)
- # [22:26] * Joins: aroben (aroben@17.255.99.186)
- # [22:37] * Joins: aroben_ (aroben@17.203.12.236)
- # [22:39] * Quits: aroben (aroben@17.255.99.186) (Ping timeout)
- # [22:54] * Joins: timbl__ (timbl@209.6.134.246)
- # [22:54] * Quits: timbl_ (timbl@209.6.134.246) (Connection reset by peer)
- # [22:57] * Parts: adele (adele@17.255.110.63)
- # [23:26] * Joins: dbaron (dbaron@63.245.220.241)
- # [23:35] * Joins: adele (adele@17.255.110.63)
- # [23:37] * Quits: ChrisWilson (cwilso@131.107.0.71) (Ping timeout)
- # Session Close: Sat Dec 15 00:00:00 2007
The end :)