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

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 DCHECK's 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..7020670d5191792fbea942039c2b479f7e286441 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,16 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
using SurfaceIdNamespaceOwnerMap =
base::hash_map<uint32_t, RenderWidgetHostViewBase*>;
- struct GestureTargetData {
+ struct TouchscreenGestureTargetData {
RenderWidgetHostViewBase* target;
const gfx::Vector2d delta;
- GestureTargetData(RenderWidgetHostViewBase* target, gfx::Vector2d delta)
+ TouchscreenGestureTargetData(RenderWidgetHostViewBase* target,
+ gfx::Vector2d delta)
: target(target), delta(delta) {}
};
- using GestureTargetQueue = std::deque<GestureTargetData>;
+ using TouchscreenGestureTargetQueue =
+ std::deque<TouchscreenGestureTargetData>;
void ClearAllObserverRegistrations();
@@ -111,12 +113,21 @@ 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_;
+ TouchscreenGestureTargetQueue touchscreen_gesture_target_queue_;
RenderWidgetHostViewBase* touch_target_;
- RenderWidgetHostViewBase* gesture_target_;
+ RenderWidgetHostViewBase* touchscreen_gesture_target_;
+ RenderWidgetHostViewBase* touchpad_gesture_target_;
gfx::Vector2d touch_delta_;
- gfx::Vector2d gesture_delta_;
+ gfx::Vector2d touchscreen_gesture_delta_;
+ gfx::Vector2d touchpad_gesture_delta_;
int active_touches_;
sadrul 2016/06/08 15:56:30 Would it make sense to group these variables? e.g.
tdresser 2016/06/08 17:41:12 +1 We should perhaps rename the TouchscreenGestur
mohsen 2016/06/08 23:32:26 Cool. That makes it much cleaner. Done.
std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>
hittest_data_;
@@ -124,6 +135,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