| Index: third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
|
| index e8e4e3f1f596f172eb21a54d7fb645531bc449f8..9c7c007b7642c9c39160f248edfb47a716d5e347 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
|
| @@ -10,6 +10,7 @@
|
| #include "platform/animation/CompositorAnimationHost.h"
|
| #include "platform/animation/CompositorAnimationPlayer.h"
|
| #include "platform/animation/CompositorAnimationTimeline.h"
|
| +#include "platform/graphics/CompositorMutableProperties.h"
|
| #include "platform/graphics/GraphicsLayer.h"
|
| #include "platform/scroll/ScrollableArea.h"
|
| #include "public/platform/Platform.h"
|
| @@ -20,7 +21,7 @@
|
| namespace blink {
|
|
|
| ScrollAnimatorCompositorCoordinator::ScrollAnimatorCompositorCoordinator()
|
| - : m_compositorAnimationAttachedToLayerId(0)
|
| + : m_compositorAnimationAttachedToElementId()
|
| , m_runState(RunState::Idle)
|
| , m_compositorAnimationId(0)
|
| , m_compositorAnimationGroupId(0)
|
| @@ -80,7 +81,7 @@ bool ScrollAnimatorCompositorCoordinator::hasAnimationThatRequiresService() cons
|
| bool ScrollAnimatorCompositorCoordinator::addAnimation(
|
| std::unique_ptr<CompositorAnimation> animation)
|
| {
|
| - if (m_compositorPlayer->isLayerAttached()) {
|
| + if (m_compositorPlayer->isElementAttached()) {
|
| m_compositorPlayer->addAnimation(animation.release());
|
| return true;
|
| }
|
| @@ -89,13 +90,13 @@ bool ScrollAnimatorCompositorCoordinator::addAnimation(
|
|
|
| void ScrollAnimatorCompositorCoordinator::removeAnimation()
|
| {
|
| - if (m_compositorPlayer->isLayerAttached())
|
| + if (m_compositorPlayer->isElementAttached())
|
| m_compositorPlayer->removeAnimation(m_compositorAnimationId);
|
| }
|
|
|
| void ScrollAnimatorCompositorCoordinator::abortAnimation()
|
| {
|
| - if (m_compositorPlayer->isLayerAttached())
|
| + if (m_compositorPlayer->isElementAttached())
|
| m_compositorPlayer->abortAnimation(m_compositorAnimationId);
|
| }
|
|
|
| @@ -193,27 +194,28 @@ bool ScrollAnimatorCompositorCoordinator::reattachCompositorPlayerIfNeeded(
|
| CompositorAnimationTimeline* timeline)
|
| {
|
| bool reattached = false;
|
| - int compositorAnimationAttachedToLayerId = 0;
|
| - if (getScrollableArea()->layerForScrolling())
|
| - compositorAnimationAttachedToLayerId = getScrollableArea()->layerForScrolling()->platformLayer()->id();
|
| + CompositorElementId compositorAnimationAttachedToElementId;
|
| + if (getScrollableArea()->layerForScrolling()) {
|
| + compositorAnimationAttachedToElementId = getScrollableArea()->layerForScrolling()->platformLayer()->elementId();
|
| + DCHECK(compositorAnimationAttachedToElementId);
|
| + }
|
|
|
| - if (compositorAnimationAttachedToLayerId != m_compositorAnimationAttachedToLayerId) {
|
| + if (compositorAnimationAttachedToElementId != m_compositorAnimationAttachedToElementId) {
|
| if (m_compositorPlayer && timeline) {
|
| // Detach from old layer (if any).
|
| - if (m_compositorAnimationAttachedToLayerId) {
|
| - if (m_compositorPlayer->isLayerAttached())
|
| - m_compositorPlayer->detachLayer();
|
| + if (m_compositorAnimationAttachedToElementId) {
|
| + if (m_compositorPlayer->isElementAttached())
|
| + m_compositorPlayer->detachElement();
|
| timeline->playerDestroyed(*this);
|
| }
|
| // Attach to new layer (if any).
|
| - if (compositorAnimationAttachedToLayerId) {
|
| - ASSERT(!m_compositorPlayer->isLayerAttached());
|
| + if (compositorAnimationAttachedToElementId) {
|
| + DCHECK(!m_compositorPlayer->isElementAttached());
|
| timeline->playerAttached(*this);
|
| - m_compositorPlayer->attachLayer(
|
| - getScrollableArea()->layerForScrolling()->platformLayer());
|
| + m_compositorPlayer->attachElement(compositorAnimationAttachedToElementId);
|
| reattached = true;
|
| }
|
| - m_compositorAnimationAttachedToLayerId = compositorAnimationAttachedToLayerId;
|
| + m_compositorAnimationAttachedToElementId = compositorAnimationAttachedToElementId;
|
| }
|
| }
|
|
|
| @@ -270,7 +272,7 @@ void ScrollAnimatorCompositorCoordinator::updateImplOnlyCompositorAnimations()
|
| CompositorAnimationTimeline* timeline = getScrollableArea()->compositorAnimationTimeline();
|
| if (layer && timeline && !timeline->compositorAnimationHost().isNull()) {
|
| CompositorAnimationHost host = timeline->compositorAnimationHost();
|
| - int elementId = layer->platformLayer()->id();
|
| + cc::ElementId elementId =layer->platformLayer()->elementId();
|
| if (!m_implOnlyAnimationAdjustment.isZero()) {
|
| host.adjustImplOnlyScrollOffsetAnimation(
|
| elementId,
|
|
|