Index: content/child/fling_animator_impl_android.cc |
diff --git a/content/child/fling_animator_impl_android.cc b/content/child/fling_animator_impl_android.cc |
deleted file mode 100644 |
index 7583c03772fcf598966ff6178fe4fa2f029d3fd1..0000000000000000000000000000000000000000 |
--- a/content/child/fling_animator_impl_android.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 "content/child/fling_animator_impl_android.h" |
- |
-#include "base/logging.h" |
-#include "third_party/WebKit/public/platform/WebFloatSize.h" |
-#include "third_party/WebKit/public/platform/WebGestureCurveTarget.h" |
-#include "ui/gfx/frame_time.h" |
-#include "ui/gfx/vector2d.h" |
- |
-namespace content { |
- |
-namespace { |
- |
-// Value taken directly from Android's ViewConfiguration. As the value has not |
-// changed in 4+ years, and does not depend on any device-specific configuration |
-// parameters, copy it directly to avoid potential JNI interop issues in the |
-// render process (see crbug.com/362614). |
-const float kDefaultAndroidPlatformScrollFriction = 0.015f; |
- |
-gfx::Scroller::Config GetScrollerConfig() { |
- gfx::Scroller::Config config; |
- config.flywheel_enabled = false; |
- config.fling_friction = kDefaultAndroidPlatformScrollFriction; |
- return config; |
-} |
- |
-} // namespace |
- |
-FlingAnimatorImpl::FlingAnimatorImpl() |
- : is_active_(false), |
- scroller_(GetScrollerConfig()) {} |
- |
-FlingAnimatorImpl::~FlingAnimatorImpl() {} |
- |
-void FlingAnimatorImpl::StartFling(const gfx::PointF& velocity) { |
- // No bounds on the fling. See http://webkit.org/b/96403 |
- // Instead, use the largest possible bounds for minX/maxX/minY/maxY. The |
- // compositor will ignore any attempt to scroll beyond the end of the page. |
- |
- DCHECK(velocity.x() || velocity.y()); |
- if (is_active_) |
- CancelFling(); |
- |
- is_active_ = true; |
- scroller_.Fling(0, |
- 0, |
- velocity.x(), |
- velocity.y(), |
- INT_MIN, |
- INT_MAX, |
- INT_MIN, |
- INT_MAX, |
- base::TimeTicks()); |
-} |
- |
-void FlingAnimatorImpl::CancelFling() { |
- if (!is_active_) |
- return; |
- |
- is_active_ = false; |
- scroller_.AbortAnimation(); |
-} |
- |
-bool FlingAnimatorImpl::apply(double time, |
- blink::WebGestureCurveTarget* target) { |
- // If the fling has yet to start, simply return and report true to prevent |
- // fling termination. |
- if (time <= 0) |
- return true; |
- |
- const base::TimeTicks time_ticks = |
- base::TimeTicks() + base::TimeDelta::FromMicroseconds( |
- time * base::Time::kMicrosecondsPerSecond); |
- if (!scroller_.ComputeScrollOffset(time_ticks)) { |
- is_active_ = false; |
- return false; |
- } |
- |
- gfx::PointF current_position(scroller_.GetCurrX(), scroller_.GetCurrY()); |
- gfx::Vector2dF scroll_amount(current_position - last_position_); |
- last_position_ = current_position; |
- |
- // scrollBy() could delete this curve if the animation is over, so don't touch |
- // any member variables after making that call. |
- return target->scrollBy(blink::WebFloatSize(scroll_amount), |
- blink::WebFloatSize(scroller_.GetCurrVelocityX(), |
- scroller_.GetCurrVelocityY())); |
-} |
- |
-FlingAnimatorImpl* FlingAnimatorImpl::CreateAndroidGestureCurve( |
- const blink::WebFloatPoint& velocity, |
- const blink::WebSize&) { |
- FlingAnimatorImpl* gesture_curve = new FlingAnimatorImpl(); |
- gesture_curve->StartFling(velocity); |
- return gesture_curve; |
-} |
- |
-} // namespace content |