Chromium Code Reviews| 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; |
|
jbroman
2016/05/16 19:15:11
Please avoid STL containers in Blink. I would ordi
ymalik
2016/05/16 20:52:35
N/A - This actually doesn't need to be a vector at
|
| }; |
| } // namespace blink |