| 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);
|
| + 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.
|
| + EXPECT_TRUE(GesturesMatch(
|
| + Gestures(ET_GESTURE_SCROLL_UPDATE, ET_GESTURE_SCROLL_UPDATE),
|
| + GetAndResetSentGestures()));
|
| +}
|
| +
|
| } // namespace ui
|
|
|