DescriptionNot for review: Enable accelerated animations for orphaned layers.
This will actually need to land as multiple CLs. The planned approach is:
1) (chromium) Make LayerTreeHost::animateLayers take a wall clock time in addition to a monotonic time, just like LayerTreeHostImpl::animateLayers already does (this will be needed in step 3 when LayerTreeHost::animateLayers needs to generate events). In preparation for step 2, define a version of WebLayerTreeViewImpl::updateAnimations that takes a wall clock time in addition to a monotonic time.
2) (WebKit) Make WebLayerTree::updateAnimations take a wall clock time in addition to a monotonic time. Define a method WebViewImpl::registerForAnimations(WebLayer*) that calls a new method WebLayerTreeView::registerForAnimations(WebLayer*). Make GraphicsLayerChromiumFactory call WebViewImpl::registerForAnimations when creating graphics layers.
3) (chromium) Define WebLayerTreeViewImpl::registerForAnimations. Define a method LayerAnimationController::hasNonOrphanedObserver to allow us to identify LayerAnimationControllers that belong to orphaned layers. Change cc::Layer::addAnimation so that animations can be added whenever the layer has an AnimationRegistrar. Change cc::LayerTreeHost::animateLayers so that events are generated when calling |animate| on LayerAnimationControllers belonging to orphaned layers (that have waited for at least one layout to complete).
BUG=129683
Patch Set 1 : Original approach #Patch Set 2 : Modified approach #Patch Set 3 : Wait for layout to complete before starting orphaned animations #
Messages
Total messages: 15 (0 generated)
|