Index: content/browser/renderer_host/render_widget_host_view_android.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
index ece82ac7618c42070d992bd411b11f9a4a1672fb..28736a899c2c52b92023e06cbfb990d42c7734df 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_android.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
@@ -1092,23 +1092,25 @@ void RenderWidgetHostViewAndroid::UnhandledWheelEvent( |
} |
void RenderWidgetHostViewAndroid::GestureEventAck( |
- int gesture_event_type, |
+ const blink::WebGestureEvent& event, |
InputEventAckState ack_result) { |
- // Scroll events. |
- if (gesture_event_type == blink::WebInputEvent::GestureScrollBegin) { |
+ if (event.type == blink::WebInputEvent::GestureScrollBegin) { |
content_view_core_->OnScrollBeginEventAck(); |
- } |
- if (gesture_event_type == blink::WebInputEvent::GestureScrollUpdate && |
- ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) { |
- content_view_core_->OnScrollUpdateGestureConsumed(); |
- } |
- if (gesture_event_type == blink::WebInputEvent::GestureScrollEnd) { |
+ } else if (event.type == blink::WebInputEvent::GestureScrollUpdate) { |
+ if (ack_result == INPUT_EVENT_ACK_STATE_CONSUMED) |
+ content_view_core_->OnScrollUpdateGestureConsumed(); |
+ } else if (event.type == blink::WebInputEvent::GestureScrollEnd) { |
content_view_core_->OnScrollEndEventAck(); |
- } |
- |
- // Fling events. |
- if (gesture_event_type == blink::WebInputEvent::GestureFlingStart) { |
- content_view_core_->OnFlingStartEventAck(ack_result); |
+ } else if (event.type == blink::WebInputEvent::GestureFlingStart) { |
+ if (ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED || |
+ ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) { |
+ const bool had_consumer = |
+ ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
+ content_view_core_->OnUnhandledFlingStartEventAck( |
+ had_consumer, |
+ event.data.flingStart.velocityX, |
+ event.data.flingStart.velocityY); |
+ } |
} |
} |
@@ -1232,7 +1234,6 @@ void RenderWidgetHostViewAndroid::SendTouchEvent( |
host_->ForwardTouchEventWithLatencyInfo(event, CreateLatencyInfo(event)); |
} |
- |
void RenderWidgetHostViewAndroid::SendMouseEvent( |
const blink::WebMouseEvent& event) { |
if (host_) |
@@ -1358,11 +1359,6 @@ void RenderWidgetHostViewAndroid::SetContentViewCore( |
if (content_view_core_ && !using_synchronous_compositor_) |
content_view_core_->GetWindowAndroid()->AddObserver(this); |
} |
- |
- // Ensure ContentsViewCore is aware of the current touch handling state, eg. |
- // in case we've already been running JS for the page as part of preload. |
- if (content_view_core_ && host_) |
- content_view_core_->HasTouchEventHandlers(host_->has_touch_handler()); |
} |
void RenderWidgetHostViewAndroid::RunAckCallbacks() { |
@@ -1374,8 +1370,6 @@ void RenderWidgetHostViewAndroid::RunAckCallbacks() { |
void RenderWidgetHostViewAndroid::HasTouchEventHandlers( |
bool need_touch_events) { |
- if (content_view_core_) |
- content_view_core_->HasTouchEventHandlers(need_touch_events); |
} |
void RenderWidgetHostViewAndroid::OnCompositingDidCommit() { |