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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 120513005: [Android] Perform eager gesture recognition on MotionEvents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Findbugs fix Created 6 years, 11 months 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
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 "content/browser/renderer_host/render_widget_host_view_android.h" 5 #include "content/browser/renderer_host/render_widget_host_view_android.h"
6 6
7 #include <android/bitmap.h> 7 #include <android/bitmap.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 bool is_pinned_to_left, bool is_pinned_to_right) { 1063 bool is_pinned_to_left, bool is_pinned_to_right) {
1064 // intentionally empty, like RenderWidgetHostViewViews 1064 // intentionally empty, like RenderWidgetHostViewViews
1065 } 1065 }
1066 1066
1067 void RenderWidgetHostViewAndroid::UnhandledWheelEvent( 1067 void RenderWidgetHostViewAndroid::UnhandledWheelEvent(
1068 const blink::WebMouseWheelEvent& event) { 1068 const blink::WebMouseWheelEvent& event) {
1069 // intentionally empty, like RenderWidgetHostViewViews 1069 // intentionally empty, like RenderWidgetHostViewViews
1070 } 1070 }
1071 1071
1072 void RenderWidgetHostViewAndroid::GestureEventAck( 1072 void RenderWidgetHostViewAndroid::GestureEventAck(
1073 int gesture_event_type, 1073 const blink::WebGestureEvent& event,
1074 InputEventAckState ack_result) { 1074 InputEventAckState ack_result) {
1075 if (gesture_event_type == blink::WebInputEvent::GestureScrollUpdate && 1075 if (event.type == blink::WebInputEvent::GestureScrollUpdate &&
1076 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) { 1076 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) {
1077 content_view_core_->OnScrollUpdateGestureConsumed(); 1077 content_view_core_->OnScrollUpdateGestureConsumed();
1078 } 1078 }
1079 if (gesture_event_type == blink::WebInputEvent::GestureFlingStart && 1079 if (event.type == blink::WebInputEvent::GestureFlingStart &&
1080 ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) { 1080 ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) {
1081 content_view_core_->UnhandledFlingStartEvent(); 1081 content_view_core_->UnhandledFlingStartEvent(
1082 event.data.flingStart.velocityX,
1083 event.data.flingStart.velocityY);
1082 } 1084 }
1083 } 1085 }
1084 1086
1085 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( 1087 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent(
1086 const blink::WebInputEvent& input_event) { 1088 const blink::WebInputEvent& input_event) {
1087 if (!host_) 1089 if (!host_)
1088 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; 1090 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
1089 1091
1090 if (input_event.type == blink::WebInputEvent::GestureTapDown || 1092 if (input_event.type == blink::WebInputEvent::GestureTapDown ||
1091 input_event.type == blink::WebInputEvent::TouchStart) { 1093 input_event.type == blink::WebInputEvent::TouchStart) {
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1195 if (host_) 1197 if (host_)
1196 host_->ForwardKeyboardEvent(event); 1198 host_->ForwardKeyboardEvent(event);
1197 } 1199 }
1198 1200
1199 void RenderWidgetHostViewAndroid::SendTouchEvent( 1201 void RenderWidgetHostViewAndroid::SendTouchEvent(
1200 const blink::WebTouchEvent& event) { 1202 const blink::WebTouchEvent& event) {
1201 if (host_) 1203 if (host_)
1202 host_->ForwardTouchEventWithLatencyInfo(event, CreateLatencyInfo(event)); 1204 host_->ForwardTouchEventWithLatencyInfo(event, CreateLatencyInfo(event));
1203 } 1205 }
1204 1206
1205
1206 void RenderWidgetHostViewAndroid::SendMouseEvent( 1207 void RenderWidgetHostViewAndroid::SendMouseEvent(
1207 const blink::WebMouseEvent& event) { 1208 const blink::WebMouseEvent& event) {
1208 if (host_) 1209 if (host_)
1209 host_->ForwardMouseEvent(event); 1210 host_->ForwardMouseEvent(event);
1210 } 1211 }
1211 1212
1212 void RenderWidgetHostViewAndroid::SendMouseWheelEvent( 1213 void RenderWidgetHostViewAndroid::SendMouseWheelEvent(
1213 const blink::WebMouseWheelEvent& event) { 1214 const blink::WebMouseWheelEvent& event) {
1214 if (host_) 1215 if (host_)
1215 host_->ForwardWheelEvent(event); 1216 host_->ForwardWheelEvent(event);
1216 } 1217 }
1217 1218
1218 void RenderWidgetHostViewAndroid::SendGestureEvent( 1219 void RenderWidgetHostViewAndroid::SendGestureEvent(
1219 const blink::WebGestureEvent& event) { 1220 const blink::WebGestureEvent& event) {
1220 // Sending a gesture that may trigger overscroll should resume the effect. 1221 // Sending a gesture that may trigger overscroll should resume the effect.
1221 if (overscroll_effect_enabled_) 1222 if (overscroll_effect_enabled_)
1222 overscroll_effect_->Enable(); 1223 overscroll_effect_->Enable();
1223 1224
1224 if (host_) 1225 if (host_)
1225 host_->ForwardGestureEventWithLatencyInfo(event, CreateLatencyInfo(event)); 1226 host_->ForwardGestureEvent(event);
1226 } 1227 }
1227 1228
1228 void RenderWidgetHostViewAndroid::SelectRange(const gfx::Point& start, 1229 void RenderWidgetHostViewAndroid::SelectRange(const gfx::Point& start,
1229 const gfx::Point& end) { 1230 const gfx::Point& end) {
1230 if (host_) 1231 if (host_)
1231 host_->SelectRange(start, end); 1232 host_->SelectRange(start, end);
1232 } 1233 }
1233 1234
1234 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) { 1235 void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) {
1235 if (host_) 1236 if (host_)
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1327 1328
1328 void RenderWidgetHostViewAndroid::RunAckCallbacks() { 1329 void RenderWidgetHostViewAndroid::RunAckCallbacks() {
1329 while (!ack_callbacks_.empty()) { 1330 while (!ack_callbacks_.empty()) {
1330 ack_callbacks_.front().Run(); 1331 ack_callbacks_.front().Run();
1331 ack_callbacks_.pop(); 1332 ack_callbacks_.pop();
1332 } 1333 }
1333 } 1334 }
1334 1335
1335 void RenderWidgetHostViewAndroid::HasTouchEventHandlers( 1336 void RenderWidgetHostViewAndroid::HasTouchEventHandlers(
1336 bool need_touch_events) { 1337 bool need_touch_events) {
1337 if (content_view_core_)
1338 content_view_core_->HasTouchEventHandlers(need_touch_events);
1339 } 1338 }
1340 1339
1341 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() { 1340 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() {
1342 RunAckCallbacks(); 1341 RunAckCallbacks();
1343 } 1342 }
1344 1343
1345 void RenderWidgetHostViewAndroid::OnDetachCompositor() { 1344 void RenderWidgetHostViewAndroid::OnDetachCompositor() {
1346 DCHECK(content_view_core_); 1345 DCHECK(content_view_core_);
1347 DCHECK(!using_synchronous_compositor_); 1346 DCHECK(!using_synchronous_compositor_);
1348 RunAckCallbacks(); 1347 RunAckCallbacks();
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1452 // RenderWidgetHostView, public: 1451 // RenderWidgetHostView, public:
1453 1452
1454 // static 1453 // static
1455 RenderWidgetHostView* 1454 RenderWidgetHostView*
1456 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { 1455 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) {
1457 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); 1456 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget);
1458 return new RenderWidgetHostViewAndroid(rwhi, NULL); 1457 return new RenderWidgetHostViewAndroid(rwhi, NULL);
1459 } 1458 }
1460 1459
1461 } // namespace content 1460 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698