[webkit-reviews] review requested: [Bug 81106] [chromium] Tick accelerated animations on the main thread : [Attachment 131961] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 14 17:05:43 PDT 2012


vollick at chromium.org has asked	for review:
Bug 81106: [chromium] Tick accelerated animations on the main thread
https://bugs.webkit.org/show_bug.cgi?id=81106

Attachment 131961: Patch
https://bugs.webkit.org/attachment.cgi?id=131961&action=review

------- Additional Comments from vollick at chromium.org
This will fix the issue mentioned in 80744 as well as providing more reliable
values for main thread culling code.

Highlights:
 - CCLayerAnimationController and CCLayerAnimationControllerImpl have been
merged (so that the controllers can be ticked on the main thread).
   - PLEASE NOTE:
     o CCLayerAnimationController::purgeFinishedAnimations(..) now creates
animation finished events (which now hold the final, animated value).
     o CCLayerAnimationController::pushAnimationUpdatesTo(..) no longer pulls
back any information from the impl thread. In particular, we no longer need to
keep track of which animations finished on the impl thread.
CCActiveAnimation::AnimationSignature was used only for this purpose and has
been removed.
     o Although the animations are ticked on both threads, we only send
animation events in response to things that happen on the impl thread. For that
reason, passing in a vector of animation events to
CCLayerAnimationController::animate is now optional (it takes a pointer that is
null when called from the main thread).
 - CCLayerImpl and LayerChromium both implement
CCLayerAnimationControllerClient
    - thing to note, CCLayerImpl's implementation allows animations to affect
the live opacity and transform, but LayerChromium's modify animatedOpacity and
animatedTransform so animations do _not_ affect a LayerChromium's opacity and
transform (the real values are set when animations complete).
 - LayerChromium::setAnimationEvent now sets final values in response to
animation finished events.
 - GraphicsLayerChromium does not need to remove animation names from its
name-to-id map, and this functionality has been removed (from here and from
CCLayerAnimationDelegate).


More information about the webkit-reviews mailing list