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 f1e7bf9114832b9aac51607db97a02717b8f61a9..6c4d31760db152cb5fd570ca39cb06a2d4365b44 100644 |
--- a/content/browser/renderer_host/gesture_event_filter.cc |
+++ b/content/browser/renderer_host/gesture_event_filter.cc |
@@ -128,6 +128,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; |
@@ -204,6 +206,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); |