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

Unified Diff: ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc

Issue 680413006: Re-enable Eager Gesture Recognition on Aura (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address jdduke's comment. Created 6 years, 1 month 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: ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc
diff --git a/ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc b/ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc
index eb77e64859b1f21aa3c89c3fd1afaae85e188e85..30d5c3f00ccb47bc086dad6947e8f89bd6377bbe 100644
--- a/ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc
+++ b/ui/events/gesture_detection/touch_disposition_gesture_filter_unittest.cc
@@ -134,13 +134,25 @@ class TouchDispositionGestureFilterTest
}
void SendTouchEventAck(bool event_consumed) {
- queue_->OnTouchEventAck(event_consumed);
+ queue_->OnTouchEventAckForQueueFront(event_consumed);
}
void SendTouchConsumedAck() { SendTouchEventAck(true); }
void SendTouchNotConsumedAck() { SendTouchEventAck(false); }
+ void SendTouchEventAckForQueueBack(bool event_consumed) {
+ queue_->OnTouchEventAckForQueueBack(event_consumed);
+ }
+
+ void SendTouchConsumedAckForQueueBack() {
+ SendTouchEventAckForQueueBack(true);
+ }
+
+ void SendTouchNotConsumedAckForQueueBack() {
+ SendTouchEventAckForQueueBack(false);
+ }
+
void PushGesture(EventType type) {
pending_gesture_packet_.Push(CreateGesture(type));
}
@@ -1189,4 +1201,49 @@ TEST_F(TouchDispositionGestureFilterTest, PreviousScrollPrevented) {
.details.previous_scroll_update_in_sequence_prevented());
}
+TEST_F(TouchDispositionGestureFilterTest, AckQueueBack) {
+ PushGesture(ET_GESTURE_BEGIN);
+ PressTouchPoint(1, 1);
+ SendTouchNotConsumedAck();
+ GetAndResetSentGestures();
+
+ // Pending touch move.
+ PushGesture(ET_GESTURE_SCROLL_UPDATE);
+ MoveTouchPoint(0, 2, 2);
+ EXPECT_FALSE(GesturesSent());
+
+ // Ack back of the queue consumed.
+ PushGesture(ET_GESTURE_SCROLL_UPDATE);
jdduke (slow) 2014/11/25 16:21:36 Can you make this a different gesture type (than t
tdresser 2014/12/02 21:29:27 Gave the events different locations, which accompl
+ MoveTouchPoint(0, 2, 2);
+ SendTouchConsumedAckForQueueBack();
+
+ // Ack the pending touch.
+ GetAndResetSentGestures();
+ SendTouchNotConsumedAck();
+
+ // Consumed touch doesn't produce gesture.
+ EXPECT_TRUE(GesturesMatch(
+ Gestures(ET_GESTURE_SCROLL_UPDATE),
+ GetAndResetSentGestures()));
+
+ // Pending touch move.
+ PushGesture(ET_GESTURE_SCROLL_UPDATE);
+ MoveTouchPoint(0, 2, 2);
+ EXPECT_FALSE(GesturesSent());
+
+ // Ack back of the queue unconsumed.
+ PushGesture(ET_GESTURE_SCROLL_UPDATE);
+ MoveTouchPoint(0, 2, 2);
+ SendTouchNotConsumedAckForQueueBack();
+
+ // Ack the pending touch.
+ GetAndResetSentGestures();
+ SendTouchNotConsumedAck();
+
+ // Both touches have now been acked.
jdduke (slow) 2014/11/25 16:21:36 Ideally we'd also have coverage for the case where
tdresser 2014/12/02 21:29:27 Done.
+ EXPECT_TRUE(GesturesMatch(
+ Gestures(ET_GESTURE_SCROLL_UPDATE, ET_GESTURE_SCROLL_UPDATE),
+ GetAndResetSentGestures()));
+}
+
} // namespace ui

Powered by Google App Engine
This is Rietveld 408576698