Index: content/browser/renderer_host/render_widget_host_input_event_router.cc |
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.cc b/content/browser/renderer_host/render_widget_host_input_event_router.cc |
index 3710a90df7f9d578833047c019537275a9ee9b4b..e48bc310f81a994d0d32657339049987c63a69b8 100644 |
--- a/content/browser/renderer_host/render_widget_host_input_event_router.cc |
+++ b/content/browser/renderer_host/render_widget_host_input_event_router.cc |
@@ -12,6 +12,7 @@ |
#include "content/browser/renderer_host/render_widget_host_view_base.h" |
#include "content/common/frame_messages.h" |
#include "third_party/WebKit/public/web/WebInputEvent.h" |
+#include "ui/events/blink/web_input_event_traits.h" |
namespace { |
@@ -140,7 +141,8 @@ RenderWidgetHostViewBase* RenderWidgetHostInputEventRouter::FindEventTarget( |
void RenderWidgetHostInputEventRouter::RouteMouseEvent( |
RenderWidgetHostViewBase* root_view, |
- blink::WebMouseEvent* event) { |
+ blink::WebMouseEvent* event, |
+ const ui::LatencyInfo& latency) { |
gfx::Point transformed_point; |
RenderWidgetHostViewBase* target = FindEventTarget( |
root_view, gfx::Point(event->x, event->y), &transformed_point); |
@@ -149,15 +151,13 @@ void RenderWidgetHostInputEventRouter::RouteMouseEvent( |
event->x = transformed_point.x(); |
event->y = transformed_point.y(); |
- // TODO(wjmaclean): Initialize latency info correctly for OOPIFs. |
- // https://crbug.com/613628 |
- ui::LatencyInfo latency_info; |
- target->ProcessMouseEvent(*event, latency_info); |
+ target->ProcessMouseEvent(*event, latency); |
} |
void RenderWidgetHostInputEventRouter::RouteMouseWheelEvent( |
RenderWidgetHostViewBase* root_view, |
- blink::WebMouseWheelEvent* event) { |
+ blink::WebMouseWheelEvent* event, |
+ const ui::LatencyInfo& latency) { |
gfx::Point transformed_point; |
RenderWidgetHostViewBase* target = FindEventTarget( |
root_view, gfx::Point(event->x, event->y), &transformed_point); |
@@ -166,10 +166,7 @@ void RenderWidgetHostInputEventRouter::RouteMouseWheelEvent( |
event->x = transformed_point.x(); |
event->y = transformed_point.y(); |
- // TODO(wjmaclean): Initialize latency info correctly for OOPIFs. |
- // https://crbug.com/613628 |
- ui::LatencyInfo latency_info; |
- target->ProcessMouseWheelEvent(*event, latency_info); |
+ target->ProcessMouseWheelEvent(*event, latency); |
} |
void RenderWidgetHostInputEventRouter::RouteGestureEvent( |
@@ -302,11 +299,14 @@ void RenderWidgetHostInputEventRouter::BubbleScrollEvent( |
DCHECK(!first_bubbling_scroll_target_.target == |
!bubbling_gesture_scroll_target_.target); |
+ ui::LatencyInfo latency_info = |
+ ui::WebInputEventTraits::CreateLatencyInfoForWebGestureEvent(event); |
+ |
// If target_view is already set up for bubbled scrolls, we forward |
// the event to the current scroll target without further consideration. |
if (target_view == first_bubbling_scroll_target_.target) { |
- bubbling_gesture_scroll_target_.target->ProcessGestureEvent( |
- event, ui::LatencyInfo()); |
+ bubbling_gesture_scroll_target_.target->ProcessGestureEvent(event, |
+ latency_info); |
if (event.type == blink::WebInputEvent::GestureScrollEnd) { |
first_bubbling_scroll_target_.target = nullptr; |
bubbling_gesture_scroll_target_.target = nullptr; |
@@ -324,8 +324,8 @@ void RenderWidgetHostInputEventRouter::BubbleScrollEvent( |
// have been sent to a renderer before the first one was ACKed, and the ACK |
// caused a bubble retarget. In this case they all get forwarded. |
if (target_view == bubbling_gesture_scroll_target_.target) { |
- bubbling_gesture_scroll_target_.target->ProcessGestureEvent( |
- event, ui::LatencyInfo()); |
+ bubbling_gesture_scroll_target_.target->ProcessGestureEvent(event, |
+ latency_info); |
return; |
} |
@@ -350,7 +350,7 @@ void RenderWidgetHostInputEventRouter::BubbleScrollEvent( |
bubbling_gesture_scroll_target_.target = target_view; |
SendGestureScrollBegin(target_view, event); |
- target_view->ProcessGestureEvent(event, ui::LatencyInfo()); |
+ target_view->ProcessGestureEvent(event, latency_info); |
} |
void RenderWidgetHostInputEventRouter::SendGestureScrollBegin( |
@@ -364,7 +364,9 @@ void RenderWidgetHostInputEventRouter::SendGestureScrollBegin( |
scroll_begin.data.scrollBegin.deltaYHint = event.data.scrollUpdate.deltaY; |
scroll_begin.data.scrollBegin.deltaHintUnits = |
event.data.scrollUpdate.deltaUnits; |
- view->ProcessGestureEvent(scroll_begin, ui::LatencyInfo()); |
+ view->ProcessGestureEvent( |
+ scroll_begin, |
+ ui::WebInputEventTraits::CreateLatencyInfoForWebGestureEvent(event)); |
} |
void RenderWidgetHostInputEventRouter::SendGestureScrollEnd( |
@@ -379,7 +381,9 @@ void RenderWidgetHostInputEventRouter::SendGestureScrollEnd( |
scroll_end.data.scrollEnd.inertialPhase = |
event.data.scrollUpdate.inertialPhase; |
scroll_end.data.scrollEnd.deltaUnits = event.data.scrollUpdate.deltaUnits; |
- view->ProcessGestureEvent(scroll_end, ui::LatencyInfo()); |
+ view->ProcessGestureEvent( |
+ scroll_end, |
+ ui::WebInputEventTraits::CreateLatencyInfoForWebGestureEvent(event)); |
} |
void RenderWidgetHostInputEventRouter::CancelScrollBubbling( |