Index: content/browser/renderer_host/gesture_event_filter.cc |
diff --git a/content/browser/renderer_host/gesture_event_filter.cc b/content/browser/renderer_host/gesture_event_filter.cc |
index 40daee5e2f48e3151186847cced5922360742c8b..ae14917d73d5d1517b18553e352b4da437b80bda 100644 |
--- a/content/browser/renderer_host/gesture_event_filter.cc |
+++ b/content/browser/renderer_host/gesture_event_filter.cc |
@@ -133,6 +133,8 @@ bool GestureEventFilter::ShouldForwardForTapDeferral( |
if (!ShouldDiscardFlingCancelEvent(gesture_event)) { |
coalesced_gesture_events_.push_back(gesture_event); |
fling_in_progress_ = false; |
+ tap_suppression_controller_->GestureFlingCancel( |
+ gesture_event.timeStampSeconds); |
return ShouldHandleEventNow(); |
} |
return false; |
@@ -209,6 +211,8 @@ void GestureEventFilter::Reset() { |
void GestureEventFilter::ProcessGestureAck(bool processed, int type) { |
DCHECK_EQ(coalesced_gesture_events_.front().type, type); |
coalesced_gesture_events_.pop_front(); |
+ if (type == WebInputEvent::GestureFlingCancel) |
+ tap_suppression_controller_->GestureFlingCancelAck(processed); |
if (!coalesced_gesture_events_.empty()) { |
WebGestureEvent next_gesture_event = coalesced_gesture_events_.front(); |
render_widget_host_->ForwardGestureEventImmediately(next_gesture_event); |