Index: ui/events/gesture_detection/touch_disposition_gesture_filter.cc |
diff --git a/ui/events/gesture_detection/touch_disposition_gesture_filter.cc b/ui/events/gesture_detection/touch_disposition_gesture_filter.cc |
index fcb92d495d4bca53df5016a50209ccfe95328076..55b5e8b83761157dcc1bfda16e2ce7c81fe9c942 100644 |
--- a/ui/events/gesture_detection/touch_disposition_gesture_filter.cc |
+++ b/ui/events/gesture_detection/touch_disposition_gesture_filter.cc |
@@ -314,6 +314,10 @@ void TouchDispositionGestureFilter::SendGesture( |
ending_event_primary_tool_type_ = event.primary_tool_type; |
needs_scroll_ending_event_ = true; |
break; |
+ case ET_GESTURE_SCROLL_UPDATE: |
+ if (state_.HasFilteredGestureType(ET_GESTURE_SCROLL_UPDATE)) |
+ event.details.mark_previous_scroll_update_in_sequence_prevented(); |
+ break; |
case ET_GESTURE_SCROLL_END: |
needs_scroll_ending_event_ = false; |
break; |
@@ -418,10 +422,17 @@ bool TouchDispositionGestureFilter::GestureHandlingState::Filter( |
last_gesture_of_type_dropped_.has_bit( |
GetGestureTypeIndex(antecedent_event_type)))) { |
last_gesture_of_type_dropped_.mark_bit(GetGestureTypeIndex(gesture_type)); |
+ any_gesture_of_type_dropped_.mark_bit(GetGestureTypeIndex(gesture_type)); |
return true; |
} |
last_gesture_of_type_dropped_.clear_bit(GetGestureTypeIndex(gesture_type)); |
return false; |
} |
+bool TouchDispositionGestureFilter::GestureHandlingState:: |
+ HasFilteredGestureType(EventType gesture_type) const { |
+ return any_gesture_of_type_dropped_.has_bit( |
+ GetGestureTypeIndex(gesture_type)); |
+} |
+ |
} // namespace content |