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

Unified Diff: content/browser/renderer_host/render_widget_host_input_event_router.h

Issue 2034213002: Reland: Fix touchpad gesture routing to renderers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Windows failure Created 4 years, 6 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_input_event_router.h
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.h b/content/browser/renderer_host/render_widget_host_input_event_router.h
index b4123539c5831f6b124b6ba3e4bd72beb34c6dce..387c5c276f9495fa617aa8e6c48d99ff61b22710 100644
--- a/content/browser/renderer_host/render_widget_host_input_event_router.h
+++ b/content/browser/renderer_host/render_widget_host_input_event_router.h
@@ -96,14 +96,13 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
using SurfaceIdNamespaceOwnerMap =
base::hash_map<uint32_t, RenderWidgetHostViewBase*>;
- struct GestureTargetData {
+ struct TargetData {
RenderWidgetHostViewBase* target;
- const gfx::Vector2d delta;
+ gfx::Vector2d delta;
- GestureTargetData(RenderWidgetHostViewBase* target, gfx::Vector2d delta)
- : target(target), delta(delta) {}
+ TargetData() : target(nullptr) {}
};
- using GestureTargetQueue = std::deque<GestureTargetData>;
+ using TargetQueue = std::deque<TargetData>;
void ClearAllObserverRegistrations();
@@ -111,12 +110,18 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
const gfx::Point& point,
gfx::Point* transformed_point);
+ void RouteTouchscreenGestureEvent(RenderWidgetHostViewBase* root_view,
+ blink::WebGestureEvent* event,
+ const ui::LatencyInfo& latency);
+ void RouteTouchpadGestureEvent(RenderWidgetHostViewBase* root_view,
+ blink::WebGestureEvent* event,
+ const ui::LatencyInfo& latency);
+
SurfaceIdNamespaceOwnerMap owner_map_;
- GestureTargetQueue gesture_target_queue_;
- RenderWidgetHostViewBase* touch_target_;
- RenderWidgetHostViewBase* gesture_target_;
- gfx::Vector2d touch_delta_;
- gfx::Vector2d gesture_delta_;
+ TargetQueue touchscreen_gesture_target_queue_;
+ TargetData touch_target_;
+ TargetData touchscreen_gesture_target_;
+ TargetData touchpad_gesture_target_;
int active_touches_;
std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>
hittest_data_;
@@ -124,6 +129,8 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostInputEventRouter);
FRIEND_TEST_ALL_PREFIXES(SitePerProcessBrowserTest,
InputEventRouterGestureTargetQueueTest);
+ FRIEND_TEST_ALL_PREFIXES(SitePerProcessBrowserTest,
+ InputEventRouterTouchpadGestureTargetTest);
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698