- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 16 May 2007 01:36:38 +0000 (UTC)
On Sat, 20 May 2006, Anne van Kesteren wrote: > > I think http://whatwg.org/specs/web-apps/current-work/#strokerect must > have no effect when it has a zero height or width (or both). Currently > Safari, Firefox and Opera act that way when they are both zero and > Safari acts that way for all cases. Firefox and Opera draw a small line > when either is larger than zero but that can easily be changed. It also > makes the method more consistent with the other two. > > For those "If either height or width are zero, this method has no > effect." should probably be changed to "If either height or width are > zero, this method must have no effect." Fixed, but not that way. Let me know if it's ok. On Mon, 26 Mar 2007, Philip Taylor wrote: > > What should happen when Infinity or -Infinity or NaN are passed as float > arguments? I assume there shouldn't be a type exception since they're > perfectly valid floats (under the usual models of floating point > arithmetic), though I don't know where/if that's defined. In some cases > there is a logical behaviour (e.g. when translating a finite-sized > object by infinity, or scaling an object like rect(-10,-10,20,20) by > infinity then clipping it to the viewable area), but in most cases there > isn't (e.g. rotating by infinity, or doing anything with NaN, when the > output depends on those values). > > My experience with some 3d canvas code is that infinities come up in > naturally harmless places, e.g. having a function that scales by x then > translates by 1/x and wanting it to work when x=0 (which ought to draw > nothing, since anything it draws is zero pixels wide), and it's a bit > annoying to track down and fix those issues, so I'd probably like it if > they were harmless in canvas methods. Opera appears to silently not draw > anything if the transformation matrix is not finite, but Firefox throws > exceptions when passing in non-finite arguments. Specifically for transform(), setTransform(), scale(), and translate(), I've made Infinity cause the canvas to stop drawing instead of raising an exception. Everything else, exceptions. On Wed, 4 Apr 2007, Philip Taylor wrote: > > What if offset is NaN? That is neither less than 0 nor greater than 1. Fixed. On Sat, 12 May 2007, Darin Adler wrote: > > > > Changed to unsigned. > > If it's unsigned, it's ambiguous what behavior should be when an attempt > is made to set the value to a signed value via JavaScript. Should an > INDEX_SIZE_ERR exception be raised? Should the value be ignored? > > I think I ran into this problem with HTMLOptionsCollection length > property. Fixed by adding a general rule to the conformance section. On Sat, 5 May 2007, Darin Adler wrote: > > A while back I did some work on WebKit's canvas implementation and I > noticed a few things in the canvas section of Web Apps that I'd like to > see specified so they don't end up different between implementations: > > a) NAN arguments > > For the graphics context functions that take floating point values, I > think the specification should say what the expected behavior is for: > > 1) NANs > 2) non-floating point values > 3) missing parameters > b) excess arguments 1, 3, and b now raise exceptions except if otherwise specified. I haven't yet defined 2. I'm not sure what it should say. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 15 May 2007 18:36:38 UTC