| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef ScrollAnimatorCompositorCoordinator_h | 5 #ifndef ScrollAnimatorCompositorCoordinator_h |
| 6 #define ScrollAnimatorCompositorCoordinator_h | 6 #define ScrollAnimatorCompositorCoordinator_h |
| 7 | 7 |
| 8 #include "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
| 9 #include "platform/heap/Handle.h" | 9 #include "platform/heap/Handle.h" |
| 10 #include "public/platform/WebCompositorAnimationDelegate.h" | 10 #include "public/platform/WebCompositorAnimationDelegate.h" |
| 11 #include "public/platform/WebCompositorAnimationPlayerClient.h" | 11 #include "public/platform/WebCompositorAnimationPlayerClient.h" |
| 12 #include "wtf/Allocator.h" | 12 #include "wtf/Allocator.h" |
| 13 #include "wtf/Noncopyable.h" | 13 #include "wtf/Noncopyable.h" |
| 14 #include "wtf/OwnPtr.h" | 14 #include "wtf/OwnPtr.h" |
| 15 | 15 |
| 16 namespace blink { | 16 namespace blink { |
| 17 | 17 |
| 18 class ScrollableArea; | 18 class ScrollableArea; |
| 19 class WebCompositorAnimationPlayer; | 19 class WebCompositorAnimationPlayer; |
| 20 class WebCompositorAnimationTimeline; | 20 class WebCompositorAnimationTimeline; |
| 21 | 21 |
| 22 class PLATFORM_EXPORT ScrollAnimatorCompositorCoordinator : public NoBaseWillBeG
arbageCollectedFinalized<ScrollAnimatorCompositorCoordinator>, private WebCompos
itorAnimationPlayerClient, WebCompositorAnimationDelegate { | 22 class PLATFORM_EXPORT ScrollAnimatorCompositorCoordinator : public NoBaseWillBeG
arbageCollectedFinalized<ScrollAnimatorCompositorCoordinator>, private WebCompos
itorAnimationPlayerClient, WebCompositorAnimationDelegate { |
| 23 USING_FAST_MALLOC_WILL_BE_REMOVED(ScrollAnimatorCompositorCoordinator); | 23 USING_FAST_MALLOC_WILL_BE_REMOVED(ScrollAnimatorCompositorCoordinator); |
| 24 WTF_MAKE_NONCOPYABLE(ScrollAnimatorCompositorCoordinator); | 24 WTF_MAKE_NONCOPYABLE(ScrollAnimatorCompositorCoordinator); |
| 25 public: | 25 public: |
| 26 virtual ~ScrollAnimatorCompositorCoordinator(); | 26 virtual ~ScrollAnimatorCompositorCoordinator(); |
| 27 | 27 |
| 28 bool hasAnimationThatRequiresService() const; | 28 bool hasAnimationThatRequiresService() const; |
| 29 void clearMainThreadScrollingReasons(bool clear); |
| 30 |
| 31 virtual bool hasRunningAnimation() const { return false; } |
| 29 | 32 |
| 30 virtual void resetAnimationState(); | 33 virtual void resetAnimationState(); |
| 31 virtual void cancelAnimation(); | 34 virtual void cancelAnimation(); |
| 32 | 35 |
| 33 virtual ScrollableArea* scrollableArea() const = 0; | 36 virtual ScrollableArea* scrollableArea() const = 0; |
| 34 virtual void tickAnimation(double monotonicTime) = 0; | 37 virtual void tickAnimation(double monotonicTime) = 0; |
| 35 virtual void updateCompositorAnimations() = 0; | 38 virtual void updateCompositorAnimations() = 0; |
| 36 virtual void notifyCompositorAnimationFinished(int groupId) = 0; | 39 virtual void notifyCompositorAnimationFinished(int groupId) = 0; |
| 37 virtual void notifyCompositorAnimationAborted(int groupId) = 0; | 40 virtual void notifyCompositorAnimationAborted(int groupId) = 0; |
| 38 virtual void layerForCompositedScrollingDidChange(WebCompositorAnimationTime
line*) = 0; | 41 virtual void layerForCompositedScrollingDidChange(WebCompositorAnimationTime
line*) = 0; |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 // Waiting to cancel the animation currently running on the compositor. | 83 // Waiting to cancel the animation currently running on the compositor. |
| 81 // There is no pending animation to replace the canceled animation. | 84 // There is no pending animation to replace the canceled animation. |
| 82 WaitingToCancelOnCompositor | 85 WaitingToCancelOnCompositor |
| 83 }; | 86 }; |
| 84 | 87 |
| 85 OwnPtr<WebCompositorAnimationPlayer> m_compositorPlayer; | 88 OwnPtr<WebCompositorAnimationPlayer> m_compositorPlayer; |
| 86 int m_compositorAnimationAttachedToLayerId; | 89 int m_compositorAnimationAttachedToLayerId; |
| 87 RunState m_runState; | 90 RunState m_runState; |
| 88 int m_compositorAnimationId; | 91 int m_compositorAnimationId; |
| 89 int m_compositorAnimationGroupId; | 92 int m_compositorAnimationGroupId; |
| 93 |
| 94 private: |
| 95 void clearMainThreadScrollingReasonsOnLayer(); |
| 96 |
| 97 bool m_clearMainThreadScrollingReasons; |
| 90 }; | 98 }; |
| 91 | 99 |
| 92 } // namespace blink | 100 } // namespace blink |
| 93 | 101 |
| 94 #endif // ScrollAnimatorCompositorCoordinator_h | 102 #endif // ScrollAnimatorCompositorCoordinator_h |
| OLD | NEW |