[whatwg] [Canvas] Behavior on non-invertable CTM

Rik Cabanier cabanier at gmail.com
Mon Mar 17 14:18:27 PDT 2014

On Mon, Mar 17, 2014 at 1:47 PM, Justin Novosad <junov at google.com> wrote:

>>> I have a fix in flight that fixes that problem in Blink by storing the
>>> current path in transformed coordinates instead. I've had the fix on the
>>> back burner pending the outcome of this thread.
>> That seems like an expensive solution because this causes the coordinates
>> to be transformed twice.
>> Why not store the matrix that was applied to the path coordinates and use
>> that to undo the transformation?
Dirk and I looked over the WebKit code and it's actually already doing this.

> If we decide that the right thing is to do nothing when when the CTM is
> non-invertible, then sure, we can just do that. The idea of storing the
> current path in transformed coordinates was to also support drawing with a
> non-invertible CTM, like Firefox does, which is what Ian stated was the
> correct behavior earlier in this thread.

yeah, but then FF bails at draw time anyway.
IMO no author relies on behavior when there's a non-invertible matrix so we
should just implement the simplest and most efficient solution.

> See why I kept the fix on the backburner? :-)

:-P yes

More information about the whatwg mailing list