Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 700aece9eb79080ed3587257a661ecd65ce04b25..4a1df1458cc189f8ab0e6957dd587cac8911a1b2 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -68,7 +68,9 @@ |
#include "ui/compositor/layer.h" |
#include "ui/events/event.h" |
#include "ui/events/event_utils.h" |
+#include "ui/events/gestures/gesture_event_queue.h" |
#include "ui/events/gestures/gesture_recognizer.h" |
+#include "ui/events/gestures/touch_point_state.h" |
#include "ui/gfx/canvas.h" |
#include "ui/gfx/display.h" |
#include "ui/gfx/rect_conversions.h" |
@@ -2900,8 +2902,14 @@ void RenderWidgetHostViewAura::OnTouchEvent(ui::TouchEvent* event) { |
event->StopPropagation(); |
if (point) { |
- if (host_->ShouldForwardTouchEvent()) |
+ if (host_->ShouldForwardTouchEvent()) { |
host_->ForwardTouchEventWithLatencyInfo(touch_event_, *event->latency()); |
+ aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); |
+ if (!dispatcher) |
+ return; |
+ dispatcher->OnTouchEventForGestures( |
+ event, ui::TouchPointState::WAIT_FOR_ACK); |
+ } |
UpdateWebTouchEventAfterDispatch(&touch_event_, point); |
} |
} |