| Index: content/browser/renderer_host/input/gesture_event_queue_unittest.cc
|
| diff --git a/content/browser/renderer_host/input/gesture_event_queue_unittest.cc b/content/browser/renderer_host/input/gesture_event_queue_unittest.cc
|
| index a0ebb1a6184407607b353ca4c85dc1565951835d..0bc3879a367c762ab69411af906855cdab8d7bb2 100644
|
| --- a/content/browser/renderer_host/input/gesture_event_queue_unittest.cc
|
| +++ b/content/browser/renderer_host/input/gesture_event_queue_unittest.cc
|
| @@ -173,9 +173,7 @@ class GestureEventQueueTest : public testing::Test,
|
| return queue()->scrolling_in_progress_;
|
| }
|
|
|
| - bool FlingInProgress() {
|
| - return queue()->fling_in_progress_;
|
| - }
|
| + int ActiveFlingCount() { return queue()->active_fling_count_; }
|
|
|
| bool WillIgnoreNextACK() {
|
| return queue()->ignore_next_ack_;
|
| @@ -962,15 +960,43 @@ TEST_P(GestureEventQueueWithSourceTest, GestureFlingCancelsFiltered) {
|
| EXPECT_EQ(0U, GetAndResetSentGestureEventCount());
|
| EXPECT_EQ(0U, GestureEventQueueSize());
|
|
|
| + // GFC after unconsumed fling is dropped.
|
| + SimulateGestureEvent(WebInputEvent::GestureFlingStart, source_device);
|
| + SendInputEventACK(WebInputEvent::GestureFlingStart,
|
| + INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
|
| + EXPECT_EQ(1U, GetAndResetSentGestureEventCount());
|
| + EXPECT_EQ(1U, GetAndResetAckedGestureEventCount());
|
| + EXPECT_EQ(0U, GestureEventQueueSize());
|
| + SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| + EXPECT_EQ(0U, GetAndResetSentGestureEventCount());
|
| + EXPECT_EQ(0U, GestureEventQueueSize());
|
| +
|
| + // GFC after fling has ended is dropped.
|
| + SimulateGestureEvent(WebInputEvent::GestureFlingStart, source_device);
|
| + SendInputEventACK(WebInputEvent::GestureFlingStart,
|
| + INPUT_EVENT_ACK_STATE_CONSUMED);
|
| + EXPECT_EQ(1U, GetAndResetSentGestureEventCount());
|
| + EXPECT_EQ(0U, GestureEventQueueSize());
|
| + EXPECT_EQ(1U, GetAndResetAckedGestureEventCount());
|
| +
|
| + EXPECT_EQ(1, ActiveFlingCount());
|
| + queue()->DidStopFlinging();
|
| + EXPECT_EQ(0, ActiveFlingCount());
|
| +
|
| + SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| + EXPECT_EQ(0U, GetAndResetSentGestureEventCount());
|
| + EXPECT_EQ(0U, GestureEventQueueSize());
|
| +
|
| // GFC after previous GFS is dispatched and acked.
|
| SimulateGestureFlingStartEvent(0, -10, source_device);
|
| - EXPECT_TRUE(FlingInProgress());
|
| SendInputEventACK(WebInputEvent::GestureFlingStart,
|
| INPUT_EVENT_ACK_STATE_CONSUMED);
|
| + EXPECT_EQ(1, ActiveFlingCount());
|
| RunUntilIdle();
|
| EXPECT_EQ(1U, GetAndResetAckedGestureEventCount());
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| - EXPECT_FALSE(FlingInProgress());
|
| + queue()->DidStopFlinging();
|
| + EXPECT_EQ(0, ActiveFlingCount());
|
| EXPECT_EQ(2U, GetAndResetSentGestureEventCount());
|
| SendInputEventACK(WebInputEvent::GestureFlingCancel,
|
| INPUT_EVENT_ACK_STATE_CONSUMED);
|
| @@ -980,9 +1006,7 @@ TEST_P(GestureEventQueueWithSourceTest, GestureFlingCancelsFiltered) {
|
|
|
| // GFC before previous GFS is acked.
|
| SimulateGestureFlingStartEvent(0, -10, source_device);
|
| - EXPECT_TRUE(FlingInProgress());
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| - EXPECT_FALSE(FlingInProgress());
|
| EXPECT_EQ(1U, GetAndResetSentGestureEventCount());
|
| EXPECT_EQ(2U, GestureEventQueueSize());
|
|
|
| @@ -1005,40 +1029,34 @@ TEST_P(GestureEventQueueWithSourceTest, GestureFlingCancelsFiltered) {
|
| EXPECT_EQ(1U, GetAndResetSentGestureEventCount());
|
| WebGestureEvent merged_event = GestureEventLastQueueEvent();
|
| EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
|
| - EXPECT_TRUE(FlingInProgress());
|
| EXPECT_EQ(2U, GestureEventQueueSize());
|
|
|
| // GFS in queue means that a GFC is added to the queue
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| merged_event =GestureEventLastQueueEvent();
|
| EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
|
| - EXPECT_FALSE(FlingInProgress());
|
| EXPECT_EQ(3U, GestureEventQueueSize());
|
|
|
| // Adding a second GFC is dropped.
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| - EXPECT_FALSE(FlingInProgress());
|
| EXPECT_EQ(3U, GestureEventQueueSize());
|
|
|
| // Adding another GFS will add it to the queue.
|
| SimulateGestureFlingStartEvent(0, -10, source_device);
|
| merged_event = GestureEventLastQueueEvent();
|
| EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
|
| - EXPECT_TRUE(FlingInProgress());
|
| EXPECT_EQ(4U, GestureEventQueueSize());
|
|
|
| // GFS in queue means that a GFC is added to the queue
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| merged_event = GestureEventLastQueueEvent();
|
| EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
|
| - EXPECT_FALSE(FlingInProgress());
|
| EXPECT_EQ(5U, GestureEventQueueSize());
|
|
|
| // Adding another GFC with a GFC already there is dropped.
|
| SimulateGestureEvent(WebInputEvent::GestureFlingCancel, source_device);
|
| merged_event = GestureEventLastQueueEvent();
|
| EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
|
| - EXPECT_FALSE(FlingInProgress());
|
| EXPECT_EQ(5U, GestureEventQueueSize());
|
| }
|
|
|
|
|