Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index fccd8dc6d3dbd6c14ba8b75fcf7b212858f788c9..9f89ef210af008f00ad3ad74175bd14eff628cce 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -957,6 +957,27 @@ void RenderWidget::ObserveWheelEventAndResult( |
} |
} |
+void RenderWidget::ObserveGestureEventAndResult( |
+ const blink::WebGestureEvent& gesture_event, |
+ const gfx::Vector2dF& unused_delta, |
+ bool event_processed) { |
+ if (!compositor_deps_->IsElasticOverscrollEnabled()) |
+ return; |
+ |
+ cc::InputHandlerScrollResult scroll_result; |
+ scroll_result.did_scroll = event_processed; |
+ scroll_result.did_overscroll_root = !unused_delta.IsZero(); |
+ scroll_result.unused_scroll_delta = unused_delta; |
+ |
+ RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
+ InputHandlerManager* input_handler_manager = |
+ render_thread ? render_thread->input_handler_manager() : NULL; |
+ if (input_handler_manager) { |
+ input_handler_manager->ObserveGestureEventAndResultOnMainThread( |
+ routing_id_, gesture_event, scroll_result); |
+ } |
+} |
+ |
void RenderWidget::OnDidHandleKeyEvent() { |
if (owner_delegate_) |
owner_delegate_->RenderWidgetDidHandleKeyEvent(); |