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 f036a77d159f402315ad746322ed15109205bfea..0c9db9f5f2f72bd1da321533136c96573d9aabb8 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 |
@@ -173,6 +173,15 @@ void RenderWidgetHostInputEventRouter::RouteMouseEvent( |
RenderWidgetHostViewBase* root_view, |
blink::WebMouseEvent* event, |
const ui::LatencyInfo& latency) { |
+ if (root_view->IsMouseLocked()) { |
kenrb
2016/12/22 15:14:16
You need to transform the event's coordinates into
lfg
2017/02/13 20:16:07
Done. I don't think we need to null check GetView(
kenrb
2017/02/14 19:58:49
I don't think child frame RWHImpls necessarily get
lfg
2017/02/15 20:12:03
After further investigation, this isn't necessary.
|
+ RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost()) |
+ ->delegate() |
+ ->MouseLockWidget() |
+ ->GetView() |
+ ->ProcessMouseEvent(*event, latency); |
+ return; |
+ } |
+ |
RenderWidgetHostViewBase* target; |
gfx::Point transformed_point; |
const int mouse_button_modifiers = blink::WebInputEvent::LeftButtonDown | |
@@ -247,6 +256,15 @@ void RenderWidgetHostInputEventRouter::RouteMouseWheelEvent( |
RenderWidgetHostViewBase* root_view, |
blink::WebMouseWheelEvent* event, |
const ui::LatencyInfo& latency) { |
+ if (root_view->IsMouseLocked()) { |
kenrb
2016/12/22 15:14:16
Likewise for the transform.
lfg
2017/02/13 20:16:07
Done.
|
+ RenderWidgetHostImpl::From(root_view->GetRenderWidgetHost()) |
+ ->delegate() |
+ ->MouseLockWidget() |
+ ->GetView() |
+ ->ProcessMouseEvent(*event, latency); |
+ return; |
+ } |
+ |
gfx::Point transformed_point; |
RenderWidgetHostViewBase* target = FindEventTarget( |
root_view, gfx::Point(event->x, event->y), &transformed_point); |