| Index: cc/animation/scrollbar_animation_controller.h
|
| diff --git a/cc/animation/scrollbar_animation_controller.h b/cc/animation/scrollbar_animation_controller.h
|
| index 92efe75531885fdbab21570431ad957db5472893..795c7c1766c0794660bbc4076907a5662d37da8f 100644
|
| --- a/cc/animation/scrollbar_animation_controller.h
|
| +++ b/cc/animation/scrollbar_animation_controller.h
|
| @@ -9,17 +9,25 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/time/time.h"
|
| #include "cc/base/cc_export.h"
|
| +#include "cc/layers/layer_impl.h"
|
| #include "ui/gfx/geometry/vector2d_f.h"
|
|
|
| namespace cc {
|
|
|
| +class ScrollbarAnimationController;
|
| +
|
| class CC_EXPORT ScrollbarAnimationControllerClient {
|
| public:
|
| - virtual ~ScrollbarAnimationControllerClient() {}
|
| + virtual void StartAnimatingScrollbarAnimationController(
|
| + ScrollbarAnimationController* controller) = 0;
|
| + virtual void StopAnimatingScrollbarAnimationController(
|
| + ScrollbarAnimationController* controller) = 0;
|
| + virtual void PostDelayedScrollbarAnimationTask(const base::Closure& task,
|
| + base::TimeDelta delay) = 0;
|
| + virtual void SetNeedsRedrawForScrollbarAnimation() = 0;
|
|
|
| - virtual void PostDelayedScrollbarFade(const base::Closure& start_fade,
|
| - base::TimeDelta delay) = 0;
|
| - virtual void SetNeedsScrollbarAnimationFrame() = 0;
|
| + protected:
|
| + virtual ~ScrollbarAnimationControllerClient() {}
|
| };
|
|
|
| // This abstract class represents the compositor-side analogy of
|
| @@ -38,7 +46,8 @@ class CC_EXPORT ScrollbarAnimationController {
|
| virtual void DidMouseMoveNear(float distance) {}
|
|
|
| protected:
|
| - ScrollbarAnimationController(ScrollbarAnimationControllerClient* client,
|
| + ScrollbarAnimationController(LayerImpl* scroll_layer,
|
| + ScrollbarAnimationControllerClient* client,
|
| base::TimeDelta delay_before_starting,
|
| base::TimeDelta resize_delay_before_starting,
|
| base::TimeDelta duration);
|
| @@ -48,18 +57,21 @@ class CC_EXPORT ScrollbarAnimationController {
|
| void StartAnimation();
|
| void StopAnimation();
|
|
|
| + LayerImpl* scroll_layer_;
|
| + ScrollbarAnimationControllerClient* client_;
|
| +
|
| private:
|
| // Returns how far through the animation we are as a progress value from
|
| // 0 to 1.
|
| float AnimationProgressAtTime(base::TimeTicks now);
|
|
|
| - void PostDelayedFade(bool on_resize);
|
| + void PostDelayedAnimationTask(bool on_resize);
|
|
|
| - ScrollbarAnimationControllerClient* client_;
|
| base::TimeTicks last_awaken_time_;
|
| base::TimeDelta delay_before_starting_;
|
| base::TimeDelta resize_delay_before_starting_;
|
| base::TimeDelta duration_;
|
| +
|
| bool is_animating_;
|
|
|
| bool currently_scrolling_;
|
|
|