| Index: cc/animation/scrollbar_animation_controller.cc
|
| diff --git a/cc/animation/scrollbar_animation_controller.cc b/cc/animation/scrollbar_animation_controller.cc
|
| deleted file mode 100644
|
| index 48b199d6e665388e0021dd80dd4c97f84c5a5d4f..0000000000000000000000000000000000000000
|
| --- a/cc/animation/scrollbar_animation_controller.cc
|
| +++ /dev/null
|
| @@ -1,101 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "cc/animation/scrollbar_animation_controller.h"
|
| -
|
| -#include <algorithm>
|
| -
|
| -#include "base/time/time.h"
|
| -#include "cc/trees/layer_tree_impl.h"
|
| -
|
| -namespace cc {
|
| -
|
| -ScrollbarAnimationController::ScrollbarAnimationController(
|
| - LayerImpl* scroll_layer,
|
| - ScrollbarAnimationControllerClient* client,
|
| - base::TimeDelta delay_before_starting,
|
| - base::TimeDelta resize_delay_before_starting,
|
| - base::TimeDelta duration)
|
| - : scroll_layer_(scroll_layer),
|
| - client_(client),
|
| - delay_before_starting_(delay_before_starting),
|
| - resize_delay_before_starting_(resize_delay_before_starting),
|
| - duration_(duration),
|
| - is_animating_(false),
|
| - currently_scrolling_(false),
|
| - scroll_gesture_has_scrolled_(false),
|
| - weak_factory_(this) {
|
| -}
|
| -
|
| -ScrollbarAnimationController::~ScrollbarAnimationController() {
|
| - if (is_animating_)
|
| - client_->StopAnimatingScrollbarAnimationController(this);
|
| -}
|
| -
|
| -void ScrollbarAnimationController::Animate(base::TimeTicks now) {
|
| - if (!is_animating_)
|
| - return;
|
| -
|
| - if (last_awaken_time_.is_null())
|
| - last_awaken_time_ = now;
|
| -
|
| - float progress = AnimationProgressAtTime(now);
|
| - RunAnimationFrame(progress);
|
| -}
|
| -
|
| -float ScrollbarAnimationController::AnimationProgressAtTime(
|
| - base::TimeTicks now) {
|
| - base::TimeDelta delta = now - last_awaken_time_;
|
| - float progress = delta.InSecondsF() / duration_.InSecondsF();
|
| - return std::max(std::min(progress, 1.f), 0.f);
|
| -}
|
| -
|
| -void ScrollbarAnimationController::DidScrollBegin() {
|
| - currently_scrolling_ = true;
|
| -}
|
| -
|
| -void ScrollbarAnimationController::DidScrollUpdate(bool on_resize) {
|
| - StopAnimation();
|
| - delayed_scrollbar_fade_.Cancel();
|
| -
|
| - // As an optimization, we avoid spamming fade delay tasks during active fast
|
| - // scrolls. But if we're not within one, we need to post every scroll update.
|
| - if (!currently_scrolling_)
|
| - PostDelayedAnimationTask(on_resize);
|
| - else
|
| - scroll_gesture_has_scrolled_ = true;
|
| -}
|
| -
|
| -void ScrollbarAnimationController::DidScrollEnd() {
|
| - if (scroll_gesture_has_scrolled_) {
|
| - PostDelayedAnimationTask(false);
|
| - scroll_gesture_has_scrolled_ = false;
|
| - }
|
| -
|
| - currently_scrolling_ = false;
|
| -}
|
| -
|
| -void ScrollbarAnimationController::PostDelayedAnimationTask(bool on_resize) {
|
| - base::TimeDelta delay =
|
| - on_resize ? resize_delay_before_starting_ : delay_before_starting_;
|
| - delayed_scrollbar_fade_.Reset(
|
| - base::Bind(&ScrollbarAnimationController::StartAnimation,
|
| - weak_factory_.GetWeakPtr()));
|
| - client_->PostDelayedScrollbarAnimationTask(delayed_scrollbar_fade_.callback(),
|
| - delay);
|
| -}
|
| -
|
| -void ScrollbarAnimationController::StartAnimation() {
|
| - delayed_scrollbar_fade_.Cancel();
|
| - is_animating_ = true;
|
| - last_awaken_time_ = base::TimeTicks();
|
| - client_->StartAnimatingScrollbarAnimationController(this);
|
| -}
|
| -
|
| -void ScrollbarAnimationController::StopAnimation() {
|
| - is_animating_ = false;
|
| - client_->StopAnimatingScrollbarAnimationController(this);
|
| -}
|
| -
|
| -} // namespace cc
|
|
|