Chromium Code Reviews| Index: content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc |
| diff --git a/content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc b/content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc |
| index 9d88e2a28ef8a139a32d445d7cdeeb0e4cb51005..56a5d4351759f5bd39c4c01ee2a633ae8f90673d 100644 |
| --- a/content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc |
| +++ b/content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc |
| @@ -243,6 +243,24 @@ class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, |
| SendMouseWheel(x, y, global_x, global_y, dX, dY, modifiers, high_precision, |
| WebInputEvent::kRailsModeFree); |
| } |
| + void SendMouseWheelWithPhase(float x, |
| + float y, |
| + float global_x, |
| + float global_y, |
| + float dX, |
| + float dY, |
| + int modifiers, |
| + bool high_precision, |
| + blink::WebMouseWheelEvent::Phase phase, |
| + blink::WebMouseWheelEvent::Phase momentum_phase, |
| + WebInputEvent::RailsMode rails_mode) { |
| + WebMouseWheelEvent event = SyntheticWebMouseWheelEventBuilder::Build( |
| + x, y, global_x, global_y, dX, dY, modifiers, high_precision); |
| + event.phase = phase; |
| + event.momentum_phase = momentum_phase; |
| + event.rails_mode = rails_mode; |
| + queue_->QueueEvent(MouseWheelEventWithLatencyInfo(event)); |
| + } |
| void SendMouseWheelWithPhase( |
| float x, |
| float y, |
| @@ -254,11 +272,49 @@ class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, |
| bool high_precision, |
| blink::WebMouseWheelEvent::Phase phase, |
| blink::WebMouseWheelEvent::Phase momentum_phase) { |
| - WebMouseWheelEvent event = SyntheticWebMouseWheelEventBuilder::Build( |
| - x, y, global_x, global_y, dX, dY, modifiers, high_precision); |
| - event.phase = phase; |
| - event.momentum_phase = momentum_phase; |
| - queue_->QueueEvent(MouseWheelEventWithLatencyInfo(event)); |
| + SendMouseWheelWithPhase(x, y, global_x, global_y, dX, dY, modifiers, |
| + high_precision, phase, momentum_phase, |
| + WebInputEvent::kRailsModeFree); |
| + } |
| + |
| + void SendMouseWheelPossiblyIncludingPhase( |
| + bool ignore_phase, |
| + float x, |
| + float y, |
| + float global_x, |
| + float global_y, |
| + float dX, |
| + float dY, |
| + int modifiers, |
| + bool high_precision, |
| + blink::WebMouseWheelEvent::Phase phase, |
| + blink::WebMouseWheelEvent::Phase momentum_phase, |
| + WebInputEvent::RailsMode rails_mode) { |
| + if (ignore_phase) { |
| + SendMouseWheel(x, y, global_x, global_y, dX, dY, modifiers, |
| + high_precision, rails_mode); |
| + } else { |
| + SendMouseWheelWithPhase(x, y, global_x, global_y, dX, dY, modifiers, |
| + high_precision, phase, momentum_phase, |
| + rails_mode); |
| + } |
| + } |
| + |
| + void SendMouseWheelPossiblyIncludingPhase( |
| + bool ignore_phase, |
| + float x, |
| + float y, |
| + float global_x, |
| + float global_y, |
| + float dX, |
| + float dY, |
| + int modifiers, |
| + bool high_precision, |
| + blink::WebMouseWheelEvent::Phase phase, |
| + blink::WebMouseWheelEvent::Phase momentum_phase) { |
| + SendMouseWheelPossiblyIncludingPhase( |
| + ignore_phase, x, y, global_x, global_y, dX, dY, modifiers, |
| + high_precision, phase, momentum_phase, WebInputEvent::kRailsModeFree); |
| } |
| void SendGestureEvent(WebInputEvent::Type type) { |
| @@ -279,16 +335,20 @@ class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, |
| const WebGestureEvent::ScrollUnits scroll_units = |
| high_precision ? WebGestureEvent::kPrecisePixels |
| : WebGestureEvent::kPixels; |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, high_precision); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, high_precision, |
| + WebMouseWheelEvent::kPhaseBegan, WebMouseWheelEvent::kPhaseNone); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| // The second mouse wheel should not be sent since one is already in |
| // queue. |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 5, 5, 0, high_precision); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 5, 5, 0, high_precision, |
| + WebMouseWheelEvent::kPhaseChanged, WebMouseWheelEvent::kPhaseNone); |
| EXPECT_EQ(1U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(0U, GetAndResetSentEventCount()); |
| @@ -302,14 +362,10 @@ class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| if (scroll_latching_enabled_) { |
| EXPECT_EQ(3U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_MOUSE_WHEEL(sent_input_event(2)); |
| EXPECT_EQ(3U, GetAndResetSentEventCount()); |
| - |
| - RunTasksAndWait(DefaultScrollEndTimeoutDelay() * 2); |
| - EXPECT_EQ(1U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_END(sent_gesture_event(0)); |
| } else { |
| EXPECT_EQ(4U, all_sent_events().size()); |
| EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| @@ -362,33 +418,31 @@ class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, |
| EXPECT_EQ(3U, GetAndResetSentEventCount()); |
| } |
| - SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 0, 0, 0, high_precision, |
| - WebMouseWheelEvent::kPhaseEnded, |
| - WebMouseWheelEvent::kPhaseNone); |
| - EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| - SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| - if (scroll_latching_enabled_) { |
| - // ScrollEnd is not sent right away, a timer starts instead, |
| - // to see if a wheel event with momentumPhase arrives or not. |
| - EXPECT_EQ(0U, all_sent_events().size()); |
| - EXPECT_EQ(0U, GetAndResetSentEventCount()); |
| - } else { |
| + // When wheel scroll latching is enabled no wheel event with phase = |
| + // |kPhaseEnded| will be sent before a wheel event with momentum_phase = |
|
bokan
2017/05/19 15:52:59
Please also mention in the commit message that thi
sahel
2017/05/19 17:39:16
Done.
|
| + // |kPhaseBegan|. |
| + if (!scroll_latching_enabled_) { |
| + SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| + kWheelScrollGlobalY, 0, 0, 0, high_precision, |
| + WebMouseWheelEvent::kPhaseEnded, |
| + WebMouseWheelEvent::kPhaseNone); |
| + EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| + SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| EXPECT_EQ(2U, all_sent_events().size()); |
| EXPECT_SYNTHETIC_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| EXPECT_GESTURE_SCROLL_END_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| - } |
| - // Send a double phase end; OSX does it consistently. |
| - SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 0, 0, 0, high_precision, |
| - WebMouseWheelEvent::kPhaseEnded, |
| - WebMouseWheelEvent::kPhaseNone); |
| - EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| - SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| - EXPECT_EQ(0U, all_sent_events().size()); |
| - EXPECT_EQ(0U, GetAndResetSentEventCount()); |
| + // Send a double phase end; OSX does it consistently. |
| + SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| + kWheelScrollGlobalY, 0, 0, 0, high_precision, |
| + WebMouseWheelEvent::kPhaseEnded, |
| + WebMouseWheelEvent::kPhaseNone); |
| + EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| + SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| + EXPECT_EQ(0U, all_sent_events().size()); |
| + EXPECT_EQ(0U, GetAndResetSentEventCount()); |
| + } |
| SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| kWheelScrollGlobalY, 5, 5, 0, high_precision, |
| @@ -508,9 +562,10 @@ TEST_P(MouseWheelEventQueueTest, |
| TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::kPixels; |
| - |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan, WebMouseWheelEvent::kPhaseNone); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -523,8 +578,8 @@ TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| if (scroll_latching_enabled_) { |
| EXPECT_EQ(2U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| } else { |
| EXPECT_EQ(3U, all_sent_events().size()); |
| @@ -534,19 +589,34 @@ TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| EXPECT_EQ(3U, GetAndResetSentEventCount()); |
| } |
| + // When wheel scroll latching is enabled and a touch based GSB arrives in the |
| + // middle of wheel scrolling sequence, a synthetic wheel event with zero |
| + // deltas and phase = |kPhaseEnded| will be sent. |
| + if (scroll_latching_enabled_) { |
| + SendMouseWheelWithPhase(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| + kWheelScrollGlobalY, 0, 0, 0, false, |
| + WebMouseWheelEvent::kPhaseEnded, |
| + WebMouseWheelEvent::kPhaseNone); |
| + SendMouseWheelEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| + EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| + } |
| // Ensure that a gesture scroll begin terminates the current scroll event. |
| SendGestureEvent(WebInputEvent::kGestureScrollBegin); |
| + |
| if (scroll_latching_enabled_) { |
| - EXPECT_EQ(1U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_END(sent_gesture_event(0)); |
| - EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| + EXPECT_EQ(2U, all_sent_events().size()); |
| + EXPECT_GESTURE_SCROLL_END_WITH_PHASE(sent_gesture_event(1)); |
| + EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| } else { |
| // ScrollEnd has already been sent. |
| EXPECT_EQ(0U, all_sent_events().size()); |
| } |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan, WebMouseWheelEvent::kPhaseNone); |
| + |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -563,8 +633,11 @@ TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| SendGestureEvent(WebInputEvent::kGestureScrollEnd); |
| EXPECT_EQ(0U, all_sent_events().size()); |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan, WebMouseWheelEvent::kPhaseNone); |
| + |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -577,8 +650,8 @@ TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| if (scroll_latching_enabled_) { |
| EXPECT_EQ(2U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| } else { |
| EXPECT_EQ(3U, all_sent_events().size()); |
| @@ -592,9 +665,11 @@ TEST_P(MouseWheelEventQueueTest, GestureSendingInterrupted) { |
| TEST_P(MouseWheelEventQueueTest, GestureRailScrolling) { |
| const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::kPixels; |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false, |
| - WebInputEvent::kRailsModeHorizontal); |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan, WebMouseWheelEvent::kPhaseNone, |
| + WebInputEvent::kRailsModeHorizontal); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -607,15 +682,11 @@ TEST_P(MouseWheelEventQueueTest, GestureRailScrolling) { |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| if (scroll_latching_enabled_) { |
| EXPECT_EQ(2U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_EQ(1U, sent_gesture_event(1)->data.scroll_update.delta_x); |
| EXPECT_EQ(0U, sent_gesture_event(1)->data.scroll_update.delta_y); |
| EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| - RunTasksAndWait(DefaultScrollEndTimeoutDelay() * 2); |
| - EXPECT_EQ(1U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_END(sent_gesture_event(0)); |
| - EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| } else { |
| EXPECT_EQ(3U, all_sent_events().size()); |
| EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| @@ -625,10 +696,12 @@ TEST_P(MouseWheelEventQueueTest, GestureRailScrolling) { |
| EXPECT_EQ(0U, sent_gesture_event(1)->data.scroll_update.delta_y); |
| EXPECT_EQ(3U, GetAndResetSentEventCount()); |
| } |
| + SendMouseWheelPossiblyIncludingPhase( |
| + !scroll_latching_enabled_, kWheelScrollX, kWheelScrollY, |
| + kWheelScrollGlobalX, kWheelScrollGlobalY, 1, 1, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged, WebMouseWheelEvent::kPhaseNone, |
| + WebInputEvent::kRailsModeVertical); |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false, |
| - WebInputEvent::kRailsModeVertical); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -639,20 +712,23 @@ TEST_P(MouseWheelEventQueueTest, GestureRailScrolling) { |
| EXPECT_FALSE(event_in_flight()); |
| EXPECT_EQ(WebInputEvent::kMouseWheel, acked_event().GetType()); |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| + size_t scroll_update_index = 0; |
| if (scroll_latching_enabled_) { |
| - EXPECT_EQ(2U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_EQ(1U, all_sent_events().size()); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(0)); |
| } else { |
| EXPECT_EQ(3U, all_sent_events().size()); |
| EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| EXPECT_GESTURE_SCROLL_END(sent_gesture_event(2)); |
| + scroll_update_index = 1; |
| } |
| - EXPECT_EQ(0U, sent_gesture_event(1)->data.scroll_update.delta_x); |
| - EXPECT_EQ(1U, sent_gesture_event(1)->data.scroll_update.delta_y); |
| + EXPECT_EQ( |
| + 0U, sent_gesture_event(scroll_update_index)->data.scroll_update.delta_x); |
| + EXPECT_EQ( |
| + 1U, sent_gesture_event(scroll_update_index)->data.scroll_update.delta_y); |
| if (scroll_latching_enabled_) |
| - EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| + EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| else |
| EXPECT_EQ(3U, GetAndResetSentEventCount()); |
| } |
| @@ -662,9 +738,10 @@ TEST_P(MouseWheelEventQueueTest, WheelScrollLatching) { |
| return; |
| const WebGestureEvent::ScrollUnits scroll_units = WebGestureEvent::kPixels; |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false, |
| - WebInputEvent::kRailsModeVertical); |
| + SendMouseWheelWithPhase( |
| + kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, kWheelScrollGlobalY, 1, |
| + 1, 0, false, WebMouseWheelEvent::kPhaseBegan, |
| + WebMouseWheelEvent::kPhaseNone, WebInputEvent::kRailsModeVertical); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -676,17 +753,16 @@ TEST_P(MouseWheelEventQueueTest, WheelScrollLatching) { |
| EXPECT_EQ(WebInputEvent::kMouseWheel, acked_event().GetType()); |
| EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
| EXPECT_EQ(2U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
| + EXPECT_GESTURE_SCROLL_BEGIN_WITH_PHASE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(1)); |
| EXPECT_EQ(0U, sent_gesture_event(1)->data.scroll_update.delta_x); |
| EXPECT_EQ(1U, sent_gesture_event(1)->data.scroll_update.delta_y); |
| EXPECT_EQ(2U, GetAndResetSentEventCount()); |
| - RunTasksAndWait(DefaultScrollEndTimeoutDelay() / 2); |
| - EXPECT_EQ(0U, GetAndResetSentEventCount()); |
| - SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, |
| - kWheelScrollGlobalY, 1, 1, 0, false, |
| - WebInputEvent::kRailsModeVertical); |
| + SendMouseWheelWithPhase( |
| + kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, kWheelScrollGlobalY, 1, |
| + 1, 0, false, WebMouseWheelEvent::kPhaseChanged, |
| + WebMouseWheelEvent::kPhaseNone, WebInputEvent::kRailsModeVertical); |
| EXPECT_EQ(0U, queued_event_count()); |
| EXPECT_TRUE(event_in_flight()); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |
| @@ -700,7 +776,7 @@ TEST_P(MouseWheelEventQueueTest, WheelScrollLatching) { |
| // Scroll latching: no new scroll begin expected. |
| EXPECT_EQ(1U, all_sent_events().size()); |
| - EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(0)); |
| + EXPECT_GESTURE_SCROLL_UPDATE_WITH_PHASE(sent_gesture_event(0)); |
| EXPECT_EQ(0U, sent_gesture_event(0)->data.scroll_update.delta_x); |
| EXPECT_EQ(1U, sent_gesture_event(0)->data.scroll_update.delta_y); |
| EXPECT_EQ(1U, GetAndResetSentEventCount()); |