On Mon, Nov 4, 2013 at 10:36 AM, Dirk Schulze <dschulze@adobe.com> wrote:
>
> On Nov 3, 2013, at 3:22 PM, Glenn Maynard <glenn@zewt.org> wrote:
>
> > On Sat, Nov 2, 2013 at 9:03 PM, Rik Cabanier <cabanier@gmail.com> wrote:
> >
> >>> Does this mean that ctx.currentPath != ctx.currentPath?
> >>
> >> Yes
> >>
> >>> That's bad!
> >>
> >> Why would it be bad (apart from being different)?
> >>
> >
> > It's strange to say "foo.bar.baz = 1" (ctx.currentPath.baz = 1), and for
> > foo.bar.baz to not be 1 the next time you look. It's also confusing if
> you
> > use it as a Map key.
>
> I think the problem that the UA would be focused with is the following:
>
> var path = ctx1.currentPath;
> ctx2.currentPath = path;
>
> or simply
>
> ctx2.currentPath = ctx1.currentPath
>
> Both contexts could manipulate the same path and both can have different
> CTMs which also change independent of each other. Mixing that up could
> cause a huge mess.
>
> That is one of the reasons why WebKit creates copies.
>
Yes, but the code should have been:
ctx2.SetCurrentPath(ctx1.getCurrentPath());
which arguably doesn't look as elegant.