Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Unified Diff: content/browser/renderer_host/render_widget_host_view_event_handler.cc

Issue 2592243002: Perform direct routing of mouse events when the pointer is locked. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_event_handler.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_event_handler.cc b/content/browser/renderer_host/render_widget_host_view_event_handler.cc
index 2adb005ff4b91c9d162c8d2e975830de56955b90..087091882baf31538d26f44fc4d6d577e2fdb161 100644
--- a/content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ b/content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -697,8 +697,14 @@ void RenderWidgetHostViewEventHandler::HandleMouseEventWhileLocked(
blink::WebMouseWheelEvent mouse_wheel_event =
ui::MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent&>(*event),
base::Bind(&GetScreenLocationFromEvent));
- if (mouse_wheel_event.deltaX != 0 || mouse_wheel_event.deltaY != 0)
- host_->ForwardWheelEvent(mouse_wheel_event);
+ if (mouse_wheel_event.deltaX != 0 || mouse_wheel_event.deltaY != 0) {
+ if (ShouldRouteEvent(event)) {
+ host_->delegate()->GetInputEventRouter()->RouteMouseWheelEvent(
+ host_view_, &mouse_wheel_event, *event->latency());
+ } else {
+ ProcessMouseWheelEvent(mouse_wheel_event, *event->latency());
+ }
+ }
return;
}
@@ -756,7 +762,12 @@ void RenderWidgetHostViewEventHandler::HandleMouseEventWhileLocked(
// Forward event to renderer.
if (CanRendererHandleEvent(event, mouse_locked_, is_selection_popup) &&
!(event->flags() & ui::EF_FROM_TOUCH)) {
- host_->ForwardMouseEvent(mouse_event);
+ if (ShouldRouteEvent(event)) {
+ host_->delegate()->GetInputEventRouter()->RouteMouseEvent(
+ host_view_, &mouse_event, *event->latency());
+ } else {
+ ProcessMouseEvent(mouse_event, *event->latency());
+ }
// Ensure that we get keyboard focus on mouse down as a plugin window
// may have grabbed keyboard focus.
if (event->type() == ui::ET_MOUSE_PRESSED)

Powered by Google App Engine
This is Rietveld 408576698