Bug 84519 - [chromium] Animations waiting for a synchronized start time should never be marked finished.
Summary: [chromium] Animations waiting for a synchronized start time should never be m...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: vollick
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-20 19:10 PDT by vollick
Modified: 2012-04-25 07:15 PDT (History)
5 users (show)

See Also:


Attachments
Patch (5.44 KB, patch)
2012-04-20 19:22 PDT, vollick
no flags Details | Formatted Diff | Diff
Patch (5.52 KB, patch)
2012-04-20 19:38 PDT, vollick
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description vollick 2012-04-20 19:10:36 PDT
Currently, when a main-thread animation is waiting for its impl-thread counterpart to start animating, it still gets ticked and at each tick considers the normalized time (current time - start time) to be zero. That is, it pauses at the first keyframe. The problem is that if (current time - start time) > duration, then we consider the animation finished and remove it. This is invalid if the animation is waiting for a start time from the impl-thread: it hasn't really started at all. So in ::tickAnimations, we must not consider an animation finished if it is waiting for a synchronized start time.
Comment 1 vollick 2012-04-20 19:22:47 PDT
Created attachment 138216 [details]
Patch
Comment 2 Nat Duca 2012-04-20 19:26:42 PDT
Comment on attachment 138216 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=138216&action=review

Nice. Might tweak the phrasing but LGTM.

> Source/WebKit/chromium/tests/CCLayerAnimationControllerTest.cpp:193
> +// Tests animations that are waiting for a synchronized start time do not finish.

DoNotFinishIfTheyWaitLongerToStartThanTheirDuration?
Comment 3 vollick 2012-04-20 19:38:01 PDT
Created attachment 138217 [details]
Patch

(In reply to comment #2)
> (From update of attachment 138216 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=138216&action=review
>
> Nice. Might tweak the phrasing but LGTM.
>
> > Source/WebKit/chromium/tests/CCLayerAnimationControllerTest.cpp:193
> > +// Tests animations that are waiting for a synchronized start time do not finish.
>
> DoNotFinishIfTheyWaitLongerToStartThanTheirDuration?

Done. I think I may have broken some sort of record with this test name. :)
Comment 4 Eric Penner 2012-04-23 11:34:52 PDT
Confirmed this fixes the issue. Thanks!
Comment 5 James Robinson 2012-04-24 19:08:44 PDT
Comment on attachment 138217 [details]
Patch

r=me
Comment 6 WebKit Review Bot 2012-04-25 07:15:45 PDT
Comment on attachment 138217 [details]
Patch

Clearing flags on attachment: 138217

Committed r115202: <http://trac.webkit.org/changeset/115202>
Comment 7 WebKit Review Bot 2012-04-25 07:15:55 PDT
All reviewed patches have been landed.  Closing bug.