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

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

Issue 2234023002: Refactor WebInputEventAura to ui/events/blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 4 months 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_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 39f5cbc36e54d8cfa728bfb39381e35bbb3e7907..5bdb654d79f5417b2182c4010a75a3b91d13e80f 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -34,7 +34,6 @@
#include "content/browser/renderer_host/dip_util.h"
#include "content/browser/renderer_host/input/synthetic_gesture_target_aura.h"
#include "content/browser/renderer_host/input/touch_selection_controller_client_aura.h"
-#include "content/browser/renderer_host/input/web_input_event_util.h"
#include "content/browser/renderer_host/overscroll_controller.h"
#include "content/browser/renderer_host/render_view_host_delegate.h"
#include "content/browser/renderer_host/render_view_host_delegate_view.h"
@@ -43,7 +42,6 @@
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_input_event_router.h"
#include "content/browser/renderer_host/ui_events_helper.h"
-#include "content/browser/renderer_host/web_input_event_aura.h"
#include "content/common/content_switches_internal.h"
#include "content/common/input_messages.h"
#include "content/common/site_isolation_policy.h"
@@ -79,6 +77,7 @@
#include "ui/display/display.h"
#include "ui/display/screen.h"
#include "ui/events/blink/blink_event_util.h"
+#include "ui/events/blink/web_input_event.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
#include "ui/events/gesture_detection/gesture_configuration.h"
@@ -186,6 +185,19 @@ void MarkUnchangedTouchPointsAsStationary(
}
}
+gfx::Point GetScreenLocationFromEvent(const ui::LocatedEvent& event) {
+ aura::Window* root =
+ static_cast<aura::Window*>(event.target())->GetRootWindow();
+ aura::client::ScreenPositionClient* spc =
+ aura::client::GetScreenPositionClient(root);
+ if (!spc)
+ return event.root_location();
+
+ gfx::Point screen_location(event.root_location());
+ spc->ConvertPointToScreen(root, &screen_location);
+ return screen_location;
+}
+
#if defined(OS_WIN)
// This class implements the ui::OnScreenKeyboardObserver interface
// which provides notifications about the on screen keyboard on Windows getting
@@ -1829,7 +1841,8 @@ void RenderWidgetHostViewAura::OnMouseEvent(ui::MouseEvent* event) {
if (event->type() == ui::ET_MOUSEWHEEL) {
blink::WebMouseWheelEvent mouse_wheel_event =
- MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent&>(*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);
return;
@@ -1846,7 +1859,8 @@ void RenderWidgetHostViewAura::OnMouseEvent(ui::MouseEvent* event) {
return;
}
- blink::WebMouseEvent mouse_event = MakeWebMouseEvent(*event);
+ blink::WebMouseEvent mouse_event =
+ ui::MakeWebMouseEvent(*event, base::Bind(&GetScreenLocationFromEvent));
bool is_move_to_center_event = (event->type() == ui::ET_MOUSE_MOVED ||
event->type() == ui::ET_MOUSE_DRAGGED) &&
@@ -1928,7 +1942,8 @@ void RenderWidgetHostViewAura::OnMouseEvent(ui::MouseEvent* event) {
}
#endif
blink::WebMouseWheelEvent mouse_wheel_event =
- MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent&>(*event));
+ ui::MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent&>(*event),
+ base::Bind(&GetScreenLocationFromEvent));
if (mouse_wheel_event.deltaX != 0 || mouse_wheel_event.deltaY != 0) {
if (ShouldRouteEvent(event)) {
host_->delegate()->GetInputEventRouter()->RouteMouseWheelEvent(
@@ -1947,7 +1962,8 @@ void RenderWidgetHostViewAura::OnMouseEvent(ui::MouseEvent* event) {
if (event->type() == ui::ET_MOUSE_PRESSED)
FinishImeCompositionSession();
- blink::WebMouseEvent mouse_event = MakeWebMouseEvent(*event);
+ blink::WebMouseEvent mouse_event = ui::MakeWebMouseEvent(
+ *event, base::Bind(&GetScreenLocationFromEvent));
ModifyEventMovementAndCoords(&mouse_event);
if (ShouldRouteEvent(event)) {
host_->delegate()->GetInputEventRouter()->RouteMouseEvent(this,
@@ -2073,15 +2089,14 @@ void RenderWidgetHostViewAura::OnScrollEvent(ui::ScrollEvent* event) {
if (event->finger_count() != 2)
return;
#endif
- blink::WebGestureEvent gesture_event =
- MakeWebGestureEventFlingCancel();
+ blink::WebGestureEvent gesture_event = ui::MakeWebGestureEventFlingCancel();
// Coordinates need to be transferred to the fling cancel gesture only
// for Surface-targeting to ensure that it is targeted to the correct
// RenderWidgetHost.
gesture_event.x = event->x();
gesture_event.y = event->y();
- blink::WebMouseWheelEvent mouse_wheel_event =
- MakeWebMouseWheelEvent(*event);
+ blink::WebMouseWheelEvent mouse_wheel_event = ui::MakeWebMouseWheelEvent(
+ *event, base::Bind(&GetScreenLocationFromEvent));
if (ShouldRouteEvent(event)) {
host_->delegate()->GetInputEventRouter()->RouteGestureEvent(
this, &gesture_event, ui::LatencyInfo());
@@ -2095,7 +2110,8 @@ void RenderWidgetHostViewAura::OnScrollEvent(ui::ScrollEvent* event) {
RecordAction(base::UserMetricsAction("TrackpadScroll"));
} else if (event->type() == ui::ET_SCROLL_FLING_START ||
event->type() == ui::ET_SCROLL_FLING_CANCEL) {
- blink::WebGestureEvent gesture_event = MakeWebGestureEvent(*event);
+ blink::WebGestureEvent gesture_event = ui::MakeWebGestureEvent(
+ *event, base::Bind(&GetScreenLocationFromEvent));
if (ShouldRouteEvent(event)) {
host_->delegate()->GetInputEventRouter()->RouteGestureEvent(
this, &gesture_event, ui::LatencyInfo());
@@ -2174,7 +2190,8 @@ void RenderWidgetHostViewAura::OnGestureEvent(ui::GestureEvent* event) {
if (event->type() == ui::ET_GESTURE_TAP)
FinishImeCompositionSession();
- blink::WebGestureEvent gesture = MakeWebGestureEvent(*event);
+ blink::WebGestureEvent gesture =
+ ui::MakeWebGestureEvent(*event, base::Bind(&GetScreenLocationFromEvent));
if (event->type() == ui::ET_GESTURE_TAP_DOWN) {
// Webkit does not stop a fling-scroll on tap-down. So explicitly send an
// event to stop any in-progress flings.

Powered by Google App Engine
This is Rietveld 408576698