Index: third_party/WebKit/Source/platform/scroll/ScrollAnimator.h |
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h b/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h |
index 01746e683e176296ad1cc6b591801b1803e85b90..5d8f20a3f84d00c41494120eae3ec0b660651b00 100644 |
--- a/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h |
+++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h |
@@ -34,11 +34,14 @@ |
#include "platform/Timer.h" |
#include "platform/geometry/FloatPoint.h" |
#include "platform/scroll/ScrollAnimatorBase.h" |
+#include "public/platform/WebCompositorAnimationDelegate.h" |
+#include "public/platform/WebCompositorAnimationPlayerClient.h" |
#include "public/platform/WebScrollOffsetAnimationCurve.h" |
namespace blink { |
class ScrollAnimatorTest; |
+class WebCompositorAnimationTimeline; |
class PLATFORM_EXPORT ScrollAnimator final : public ScrollAnimatorBase { |
public: |
@@ -50,20 +53,26 @@ public: |
ScrollResultOneDimensional userScroll(ScrollbarOrientation, ScrollGranularity, float step, float delta) override; |
void scrollToOffsetWithoutAnimation(const FloatPoint&) override; |
- void cancelAnimations() override; |
- void serviceScrollAnimations() override; |
- bool hasRunningAnimation() const override; |
+ // ScrollAnimatorCompositorCoordinator implementation. |
+ void tickAnimation(double monotonicTime) override; |
+ void cancelAnimation() override; |
+ void resetAnimationState() override; |
+ void updateCompositorAnimations() override; |
+ void notifyCompositorAnimationFinished(int groupId) override; |
+ void layerForCompositedScrollingDidChange(WebCompositorAnimationTimeline*) override; |
DECLARE_VIRTUAL_TRACE(); |
protected: |
- void animationTimerFired(); |
- |
OwnPtr<WebScrollOffsetAnimationCurve> m_animationCurve; |
+ double m_lastTickTime; |
double m_startTime; |
WTF::TimeFunction m_timeFunction; |
+ |
private: |
FloatPoint desiredTargetPosition() const; |
+ |
+ FloatPoint m_targetOffset; |
}; |
} // namespace blink |