On Thu, Mar 20, 2014 at 7:01 AM, Justin Novosad <ju...@google.com> wrote:
> > > > On Wed, Mar 19, 2014 at 5:47 PM, Rik Cabanier <caban...@gmail.com> wrote: > >> >> On Wed, Mar 19, 2014 at 2:22 PM, Justin Novosad <ju...@google.com> wrote: >> >>> >>> I agree it should be optional, but just to play devil's advocate : you >>> can >>> create an identity SVGMatrix with a simpler bit of code. Just do this >>> right >>> after creating a canvas rendering context: var identity = >>> context.currentTransform; >>> >> >> Hi Justin, >> >> did Blink already expose this property? >> > > It is implemented, but not exposed (hidden behind the experimental canvas > features flag) > > >> As currently specified, this must return a live SVGMatrix object, meaning >> that as you change the CTM on the 2d context, your reference to the >> SVGMatrix should change as well. [1] >> > > D'oh! I totally missed that when I reviewed the implementation. In fact, > the implementer even went to great length to ensure the opposite behavior > (making a copy). > https://codereview.chromium.org/24233004 > I'll make sure that gets fixed. > By "fixed", do you mean you will return a reference or change the name of the API? :-) > It's unlikely that you actually want this... >> This API should be renamed to get/setCurrentTransform() and return a copy. >> > > Yes, making a copy felt like the most desirable behavior, so I did not > think twice about the fact that the implementation performs a copy. > Anyways, thanks for catching this. >