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

Unified Diff: content/browser/renderer_host/input/input_router_impl.cc

Issue 2027473002: Deprecate use of user gestures during scroll-related touch events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2743
Patch Set: Created 4 years, 7 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/input/input_router_impl.cc
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index e6ddcd9ed7f0604b966f382d39266f4c7ed7f984..aee5c790312e7dc4df10be8465c4e4c8bca47332 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -83,6 +83,7 @@ InputRouterImpl::InputRouterImpl(IPC::Sender* sender,
current_ack_source_(ACK_SOURCE_NONE),
flush_requested_(false),
active_renderer_fling_count_(0),
+ touch_scroll_started_sent_(false),
wheel_event_queue_(this,
UseGestureBasedWheelScrolling(),
kDefaultWheelScrollTransactionMs),
@@ -161,8 +162,18 @@ void InputRouterImpl::SendGestureEvent(
wheel_event_queue_.OnGestureScrollEvent(gesture_event);
if (gesture_event.event.sourceDevice == blink::WebGestureDeviceTouchscreen) {
- if (gesture_event.event.type == blink::WebInputEvent::GestureScrollBegin)
+ if (gesture_event.event.type == blink::WebInputEvent::GestureScrollBegin) {
+ touch_scroll_started_sent_ = false;
+ } else if(!touch_scroll_started_sent_
+ && gesture_event.event.type ==
+ blink::WebInputEvent::GestureScrollUpdate) {
+ // A touch scroll hasn't really started until the first
+ // GestureScrollUpdate event. Eg. if the page consumes all touchmoves
+ // then no scrolling really ever occurs (even though we still send
+ // GestureScrollBegin).
touch_event_queue_.PrependTouchScrollNotification();
+ touch_scroll_started_sent_ = true;
+ }
touch_event_queue_.OnGestureScrollEvent(gesture_event);
}

Powered by Google App Engine
This is Rietveld 408576698