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

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

Issue 2123843002: Make RWHInputEventRouter manage cross-process scroll bubbling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test fix, take 2 Created 4 years, 5 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 387c5c276f9495fa617aa8e6c48d99ff61b22710..18f71724859cf3b5836a2ba836903986cb8a72fc 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
@@ -66,6 +66,10 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
blink::WebTouchEvent *event,
const ui::LatencyInfo& latency);
+ void BubbleScrollEvent(RenderWidgetHostViewBase* target_view,
+ const blink::WebGestureEvent& event);
+ void CancelScrollBubbling(RenderWidgetHostViewBase* target_view);
+
void AddSurfaceIdNamespaceOwner(uint32_t id, RenderWidgetHostViewBase* owner);
void RemoveSurfaceIdNamespaceOwner(uint32_t id);
@@ -117,11 +121,21 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
blink::WebGestureEvent* event,
const ui::LatencyInfo& latency);
+ // The following methods take a GestureScrollUpdate event and send a
+ // GestureScrollBegin or GestureScrollEnd for wrapping it. This is needed
+ // when GestureScrollUpdates are being forwarded for scroll bubbling.
+ void SendGestureScrollBegin(RenderWidgetHostViewBase* view,
+ const blink::WebGestureEvent& event);
+ void SendGestureScrollEnd(RenderWidgetHostViewBase* view,
+ const blink::WebGestureEvent& event);
+
SurfaceIdNamespaceOwnerMap owner_map_;
TargetQueue touchscreen_gesture_target_queue_;
TargetData touch_target_;
TargetData touchscreen_gesture_target_;
TargetData touchpad_gesture_target_;
+ TargetData bubbling_gesture_scroll_target_;
+ TargetData first_bubbling_scroll_target_;
int active_touches_;
std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>
hittest_data_;

Powered by Google App Engine
This is Rietveld 408576698