- From: Shane Stephens <shans@google.com>
- Date: Tue, 18 Nov 2014 20:39:22 +0000
- To: "Tab Atkins Jr." <jackalmage@gmail.com>, Jonathan Moore <moore@eds.org>
- Cc: "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CAGTfzwTYg1A4HDrpjnvqcK2vG+ShsGPCszh_LOt+HVvqjf3LNw@mail.gmail.com>
This isn't a timing issue, it's a consequence of cancel() having
asynchronous effect. Inserting a new element hasn't actually updated the
animation style, even though it does force a style recalc - it actually
takes a rAF for the animation's effect to stop applying.
I think this issue points to a bug in the Chrome implementation. Even
though cancel is asynchronous, from the perspective of the main thread its
effect on style should be immediate (or at least appear to be - calling
cancel should invalidate the style of the element the animation is
targeting). After all, the animation itself is observable as cancelled -
its playState switches immediately to 'idle'. I'd like to talk it over with
some people on my team but assuming they agree I'll file a bug on our impl.
Cheers,
-Shane
On Wed Nov 19 2014 at 6:34:00 AM Tab Atkins Jr. <jackalmage@gmail.com>
wrote:
> On Tue, Nov 18, 2014 at 11:11 AM, Jonathan Moore <moore@eds.org> wrote:
> > I don't think this is a browser bug. I think it is a unforchent
> consequence
> > of web animations being an async API. With all other style/layout APIs
> the
> > effects of actions are immediate. Attached is an example of the kind of
> > thing I do in my lib. What I would like is some way to see the effects of
> > the cancel() immediately; or better yet a way to ask for the computed
> style
> > ignoring the animations effects ( without interrupting the animation ).
>
> Thanks for the example! Yes, that confirms that it's a timing issue;
> the effects of stopping the animation haven't yet been recalculated
> when you first ask for the data. Adding a new element forces a style
> recalc, as the browser needs to figure out what styles apply to that
> element.
>
> There are other ways to force style recalcs; this sort of issue is
> unfortunately common on the web, and you should be able to find plenty
> of tutorials for it.
>
> ~TJ
>
>
Received on Tuesday, 18 November 2014 20:39:51 UTC