diff options
Diffstat (limited to 'third_party/WebKit/Source/platform/scroll/ScrollAnimator.h')
-rw-r--r-- | third_party/WebKit/Source/platform/scroll/ScrollAnimator.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h b/third_party/WebKit/Source/platform/scroll/ScrollAnimator.h index 01746e68..5d8f20a 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 |