| Index: third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.h
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.h b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.h
|
| index 9b69df747f69c2eef0b5c786e4b457f06511894c..4346dce09a3ff5f43559f287fe14a4c9381105a5 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.h
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include "base/gtest_prod_util.h"
|
| #include "cc/animation/animation_curve.h"
|
| +#include "cc/animation/scroll_offset_animations.h"
|
| #include "platform/PlatformExport.h"
|
| #include "platform/animation/CompositorAnimationDelegate.h"
|
| #include "platform/animation/CompositorAnimationPlayerClient.h"
|
| @@ -33,6 +34,8 @@ public:
|
| void dispose();
|
| String runStateAsText() const;
|
|
|
| + void updateImplOnlyScrollOffsetAnimation(const FloatSize& adjustment);
|
| +
|
| virtual bool hasRunningAnimation() const { return false; }
|
|
|
| virtual void resetAnimationState();
|
| @@ -41,10 +44,10 @@ public:
|
| // and continues it on the main thread. This should only be called when in
|
| // DocumentLifecycle::LifecycleState::CompositingClean state.
|
| virtual void takeoverCompositorAnimation();
|
| + virtual void updateCompositorAnimations();
|
|
|
| virtual ScrollableArea* getScrollableArea() const = 0;
|
| virtual void tickAnimation(double monotonicTime) = 0;
|
| - virtual void updateCompositorAnimations() = 0;
|
| virtual void notifyCompositorAnimationFinished(int groupId) = 0;
|
| virtual void notifyCompositorAnimationAborted(int groupId) = 0;
|
| virtual void layerForCompositedScrollingDidChange(CompositorAnimationTimeline*) = 0;
|
| @@ -82,6 +85,7 @@ protected:
|
| FRIEND_TEST_ALL_PREFIXES(ScrollAnimatorTest, AnimatedScrollTakeover);
|
| FRIEND_TEST_ALL_PREFIXES(ScrollAnimatorTest, CancellingAnimationResetsState);
|
| FRIEND_TEST_ALL_PREFIXES(ScrollAnimatorTest, CancellingCompositorAnimation);
|
| + FRIEND_TEST_ALL_PREFIXES(ScrollAnimatorTest, ImplOnlyAnimationUpdatesCleared);
|
|
|
| enum class RunState {
|
| // No animation.
|
| @@ -127,6 +131,10 @@ protected:
|
| RunState m_runState;
|
| int m_compositorAnimationId;
|
| int m_compositorAnimationGroupId;
|
| +
|
| + // A list of updates that happened on the main thread that may change
|
| + // impl-only scroll offset animations.
|
| + std::vector<FloatSize> m_implOnlyAnimationAdjustments;
|
| };
|
|
|
| } // namespace blink
|
|
|