Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Side by Side Diff: webkit/glue/fling_animator_impl_android.cc

Issue 11280255: Removed reference to unnecessary WebFlingAnimator. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: proof-reading Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/fling_animator_impl_android.h ('k') | webkit/glue/webkitplatformsupport_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "webkit/glue/fling_animator_impl_android.h" 5 #include "webkit/glue/fling_animator_impl_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/scoped_java_ref.h" 8 #include "base/android/scoped_java_ref.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "third_party/WebKit/Source/Platform/chromium/public/WebGestureCurveTarg et.h" 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebGestureCurveTarg et.h"
11 #include "third_party/WebKit/Source/Platform/chromium/public/WebPoint.h"
11 #include "ui/gfx/vector2d.h" 12 #include "ui/gfx/vector2d.h"
12 13
13 using base::android::AttachCurrentThread; 14 using base::android::AttachCurrentThread;
14 using base::android::CheckException; 15 using base::android::CheckException;
15 using base::android::GetApplicationContext; 16 using base::android::GetApplicationContext;
16 using base::android::GetClass; 17 using base::android::GetClass;
17 using base::android::MethodID; 18 using base::android::MethodID;
18 using base::android::ScopedJavaLocalRef; 19 using base::android::ScopedJavaLocalRef;
19 20
20 namespace webkit_glue { 21 namespace webkit_glue {
(...skipping 20 matching lines...) Expand all
41 getX_method_id_ = MethodID::Get<MethodID::TYPE_INSTANCE>( 42 getX_method_id_ = MethodID::Get<MethodID::TYPE_INSTANCE>(
42 env, cls.obj(), "getCurrX", "()I"); 43 env, cls.obj(), "getCurrX", "()I");
43 getY_method_id_ = MethodID::Get<MethodID::TYPE_INSTANCE>( 44 getY_method_id_ = MethodID::Get<MethodID::TYPE_INSTANCE>(
44 env, cls.obj(), "getCurrY", "()I"); 45 env, cls.obj(), "getCurrY", "()I");
45 } 46 }
46 47
47 FlingAnimatorImpl::~FlingAnimatorImpl() 48 FlingAnimatorImpl::~FlingAnimatorImpl()
48 { 49 {
49 } 50 }
50 51
51 void FlingAnimatorImpl::startFling(const WebKit::WebFloatPoint& velocity, 52 void FlingAnimatorImpl::StartFling(const gfx::PointF& velocity)
52 const WebKit::WebRect& /* range */)
53 { 53 {
54 // Ignore "range" as it's always empty -- see http://webkit.org/b/96403 54 // No bounds on the fling. See http://webkit.org/b/96403
55 // Instead, use the largest possible bounds for minX/maxX/minY/maxY. The 55 // Instead, use the largest possible bounds for minX/maxX/minY/maxY. The
56 // compositor will ignore any attempt to scroll beyond the end of the page. 56 // compositor will ignore any attempt to scroll beyond the end of the page.
57 57
58 DCHECK(velocity.x || velocity.y); 58 DCHECK(velocity.x() || velocity.y());
59 if (is_active_) 59 if (is_active_)
60 cancelFling(); 60 CancelFling();
61 61
62 is_active_ = true; 62 is_active_ = true;
63 63
64 JNIEnv* env = AttachCurrentThread(); 64 JNIEnv* env = AttachCurrentThread();
65 65
66 env->CallVoidMethod(java_scroller_.obj(), fling_method_id_, 0, 0, 66 env->CallVoidMethod(java_scroller_.obj(), fling_method_id_, 0, 0,
67 static_cast<int>(velocity.x), 67 static_cast<int>(velocity.x()),
68 static_cast<int>(velocity.y), 68 static_cast<int>(velocity.y()),
69 INT_MIN, INT_MAX, INT_MIN, INT_MAX); 69 INT_MIN, INT_MAX, INT_MIN, INT_MAX);
70 CheckException(env); 70 CheckException(env);
71 } 71 }
72 72
73 void FlingAnimatorImpl::cancelFling() 73 void FlingAnimatorImpl::CancelFling()
74 { 74 {
75 if (!is_active_) 75 if (!is_active_)
76 return; 76 return;
77 77
78 is_active_ = false; 78 is_active_ = false;
79 JNIEnv* env = AttachCurrentThread(); 79 JNIEnv* env = AttachCurrentThread();
80 env->CallVoidMethod(java_scroller_.obj(), abort_method_id_); 80 env->CallVoidMethod(java_scroller_.obj(), abort_method_id_);
81 CheckException(env); 81 CheckException(env);
82 } 82 }
83 83
84 bool FlingAnimatorImpl::updatePosition() 84 bool FlingAnimatorImpl::UpdatePosition()
85 { 85 {
86 JNIEnv* env = AttachCurrentThread(); 86 JNIEnv* env = AttachCurrentThread();
87 bool result = env->CallBooleanMethod(java_scroller_.obj(), 87 bool result = env->CallBooleanMethod(java_scroller_.obj(),
88 compute_method_id_); 88 compute_method_id_);
89 CheckException(env); 89 CheckException(env);
90 return is_active_ = result; 90 return is_active_ = result;
91 } 91 }
92 92
93 WebKit::WebPoint FlingAnimatorImpl::getCurrentPosition() 93 gfx::Point FlingAnimatorImpl::GetCurrentPosition()
94 { 94 {
95 JNIEnv* env = AttachCurrentThread(); 95 JNIEnv* env = AttachCurrentThread();
96 WebKit::WebPoint position( 96 gfx::Point position(
97 env->CallIntMethod(java_scroller_.obj(), getX_method_id_), 97 env->CallIntMethod(java_scroller_.obj(), getX_method_id_),
98 env->CallIntMethod(java_scroller_.obj(), getY_method_id_)); 98 env->CallIntMethod(java_scroller_.obj(), getY_method_id_));
99 CheckException(env); 99 CheckException(env);
100 return position; 100 return position;
101 } 101 }
102 102
103 bool FlingAnimatorImpl::apply(double time, 103 bool FlingAnimatorImpl::apply(double time,
104 WebKit::WebGestureCurveTarget* target) { 104 WebKit::WebGestureCurveTarget* target) {
105 if (!updatePosition()) 105 if (!UpdatePosition())
106 return false; 106 return false;
107 107
108 gfx::Point current_position = getCurrentPosition(); 108 gfx::Point current_position = GetCurrentPosition();
109 gfx::Vector2d diff(current_position - last_position_); 109 gfx::Vector2d diff(current_position - last_position_);
110 WebKit::WebPoint scroll_amount(diff.x(), diff.y()); 110 WebKit::WebPoint scroll_amount(diff.x(), diff.y());
111 target->scrollBy(scroll_amount); 111 target->scrollBy(scroll_amount);
112 last_position_ = current_position; 112 last_position_ = current_position;
113 return true; 113 return true;
114 } 114 }
115 115
116 FlingAnimatorImpl* FlingAnimatorImpl::CreateAndroidGestureCurve( 116 FlingAnimatorImpl* FlingAnimatorImpl::CreateAndroidGestureCurve(
117 const WebKit::WebFloatPoint& velocity, 117 const WebKit::WebFloatPoint& velocity,
118 const WebKit::WebSize&) { 118 const WebKit::WebSize&) {
119 FlingAnimatorImpl* gesture_curve = new FlingAnimatorImpl(); 119 FlingAnimatorImpl* gesture_curve = new FlingAnimatorImpl();
120 gesture_curve->startFling(velocity, WebKit::WebRect()); 120 gesture_curve->StartFling(velocity);
121 return gesture_curve; 121 return gesture_curve;
122 } 122 }
123 123
124 } // namespace webkit_glue 124 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/fling_animator_impl_android.h ('k') | webkit/glue/webkitplatformsupport_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698