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 2b0afcbf377a1a3b0b2c9191d0b2c5eafa7d6118..2ff6b89c7e198f363acb5cf6bc2328c64490d10b 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 |
@@ -263,18 +263,22 @@ void RenderWidgetHostInputEventRouter::RouteMouseWheelEvent( |
RenderWidgetHostViewBase* root_view, |
blink::WebMouseWheelEvent* event, |
const ui::LatencyInfo& latency) { |
+ RenderWidgetHostViewBase* target = nullptr; |
+ gfx::Point transformed_point; |
+ |
if (root_view->IsMouseLocked()) { |
- RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost()) |
- ->delegate() |
- ->GetMouseLockWidget() |
- ->GetView() |
- ->ProcessMouseEvent(*event, latency); |
- return; |
+ target = RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost()) |
+ ->delegate() |
+ ->GetMouseLockWidget() |
+ ->GetView(); |
+ if (!root_view->TransformPointToCoordSpaceForView( |
+ gfx::Point(event->x, event->y), target, &transformed_point)) |
+ return; |
+ } else { |
+ target = FindEventTarget(root_view, gfx::Point(event->x, event->y), |
+ &transformed_point); |
} |
- gfx::Point transformed_point; |
- RenderWidgetHostViewBase* target = FindEventTarget( |
- root_view, gfx::Point(event->x, event->y), &transformed_point); |
if (!target) |
return; |