Chromium Code Reviews| 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); |