Chromium Code Reviews| Index: content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc |
| diff --git a/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc b/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc |
| index 10fc3ff2f54f6d34fa3c34808a5718a662032846..178797d1fb4de088870ec84ec9c5d3aa0ef64c02 100644 |
| --- a/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc |
| +++ b/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc |
| @@ -149,31 +149,55 @@ bool EventListIsSubset( |
| } |
| #endif // defined(USE_AURA) |
| +enum WheelScrollingMode { |
| + kWheelScrollingModeNone, |
| + kWheelScrollLatching, |
| + kAsyncWheelEvents, |
| +}; |
| + |
| } // namespace |
| class LegacyInputRouterImplTest : public testing::Test { |
| public: |
| - LegacyInputRouterImplTest(bool raf_aligned_touch = true, |
| - bool wheel_scroll_latching = true) |
| - : scoped_task_environment_( |
| + LegacyInputRouterImplTest( |
| + bool raf_aligned_touch = true, |
| + WheelScrollingMode wheel_scrolling_mode = kWheelScrollLatching) |
| + : wheel_scroll_latching_enabled_(wheel_scrolling_mode != |
| + kWheelScrollingModeNone), |
| + scoped_task_environment_( |
| base::test::ScopedTaskEnvironment::MainThreadType::UI) { |
| - if (raf_aligned_touch && wheel_scroll_latching) { |
| + if (raf_aligned_touch && wheel_scrolling_mode == kAsyncWheelEvents) { |
| + feature_list_.InitWithFeatures({features::kRafAlignedTouchInputEvents, |
| + features::kTouchpadAndWheelScrollLatching, |
| + features::kAsyncWheelEvents}, |
| + {}); |
| + } else if (raf_aligned_touch && |
| + wheel_scrolling_mode == kWheelScrollLatching) { |
| feature_list_.InitWithFeatures( |
| {features::kRafAlignedTouchInputEvents, |
| features::kTouchpadAndWheelScrollLatching}, |
| - {}); |
| - } else if (raf_aligned_touch && !wheel_scroll_latching) { |
| - feature_list_.InitWithFeatures( |
| - {features::kRafAlignedTouchInputEvents}, |
| - {features::kTouchpadAndWheelScrollLatching}); |
| - } else if (!raf_aligned_touch && wheel_scroll_latching) { |
| + {features::kAsyncWheelEvents}); |
| + } else if (raf_aligned_touch && |
| + wheel_scrolling_mode == kWheelScrollingModeNone) { |
| + feature_list_.InitWithFeatures({features::kRafAlignedTouchInputEvents}, |
| + {features::kTouchpadAndWheelScrollLatching, |
| + features::kAsyncWheelEvents}); |
| + } else if (!raf_aligned_touch && |
| + wheel_scrolling_mode == kAsyncWheelEvents) { |
| + feature_list_.InitWithFeatures({features::kTouchpadAndWheelScrollLatching, |
| + features::kAsyncWheelEvents}, |
| + {features::kRafAlignedTouchInputEvents}); |
| + } else if (!raf_aligned_touch && |
| + wheel_scrolling_mode == kWheelScrollLatching) { |
| feature_list_.InitWithFeatures( |
| {features::kTouchpadAndWheelScrollLatching}, |
| - {features::kRafAlignedTouchInputEvents}); |
| - } else { // !raf_aligned_touch && !wheel_scroll_latching |
| - feature_list_.InitWithFeatures( |
| - {}, {features::kRafAlignedTouchInputEvents, |
| - features::kTouchpadAndWheelScrollLatching}); |
| + {features::kRafAlignedTouchInputEvents, features::kAsyncWheelEvents}); |
| + } else { // !raf_aligned_touch && wheel_scroll_latching == |
| + // kWheelScrollingModeNone. |
| + feature_list_.InitWithFeatures({}, |
| + {features::kRafAlignedTouchInputEvents, |
| + features::kTouchpadAndWheelScrollLatching, |
| + features::kAsyncWheelEvents}); |
| } |
| } |
| @@ -248,6 +272,21 @@ class LegacyInputRouterImplTest : public testing::Test { |
| input_router_->SendWheelEvent(MouseWheelEventWithLatencyInfo(wheel_event)); |
| } |
| + void SimulateWheelEventPossiblyIncludingPhase( |
| + bool ignore_phase, |
| + float x, |
| + float y, |
| + float dX, |
| + float dY, |
| + int modifiers, |
| + bool precise, |
| + WebMouseWheelEvent::Phase phase) { |
| + if (ignore_phase) |
| + SimulateWheelEvent(x, y, dX, dY, modifiers, precise); |
| + else |
| + SimulateWheelEventWithPhase(x, y, dX, dY, modifiers, precise, phase); |
| + } |
| + |
| void SimulateMouseEvent(WebInputEvent::Type type, int x, int y) { |
| input_router_->SendMouseEvent(MouseEventWithLatencyInfo( |
| SyntheticWebMouseEventBuilder::Build(type, x, y, 0))); |
| @@ -379,91 +418,16 @@ class LegacyInputRouterImplTest : public testing::Test { |
| base::RunLoop().Run(); |
| } |
| - void UnhandledWheelEvent(bool wheel_scroll_latching_enabled) { |
| - // Simulate wheel events. |
| - if (wheel_scroll_latching_enabled) { |
| - SimulateWheelEventWithPhase( |
| - 0, 0, 0, -5, 0, false, |
| - WebMouseWheelEvent::kPhaseBegan); // sent directly |
| - SimulateWheelEventWithPhase( |
| - 0, 0, 0, -10, 0, false, |
| - WebMouseWheelEvent::kPhaseChanged); // enqueued |
| - } else { |
| - SimulateWheelEvent(0, 0, 0, -5, 0, false); // sent directly |
| - SimulateWheelEvent(0, 0, 0, -10, 0, false); // enqueued |
| - } |
| - |
| - // Check that only the first event was sent. |
| - EXPECT_TRUE(process_->sink().GetUniqueMessageMatching( |
| - InputMsg_HandleInputEvent::ID)); |
| - EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| - |
| - // Indicate that the wheel event was unhandled. |
| - SendInputEventACK(WebInputEvent::kMouseWheel, |
| - INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| - |
| - // Check that the ack for the MouseWheel and ScrollBegin |
| - // were processed. |
| - EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| - |
| - // There should be a ScrollBegin and ScrollUpdate, MouseWheel sent. |
| - EXPECT_EQ(3U, GetSentMessageCountAndResetSink()); |
| + void UnhandledWheelEvent(); |
| - EXPECT_EQ(ack_handler_->acked_wheel_event().delta_y, -5); |
| - SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| - INPUT_EVENT_ACK_STATE_CONSUMED); |
| - |
| - if (wheel_scroll_latching_enabled) { |
| - // Check that the ack for ScrollUpdate were processed. |
| - EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| - } else { |
| - // The GestureScrollUpdate ACK releases the GestureScrollEnd. |
| - EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| - |
| - // Check that the ack for the ScrollUpdate and ScrollEnd |
| - // were processed. |
| - EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| - } |
| - |
| - SendInputEventACK(WebInputEvent::kMouseWheel, |
| - INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| - |
| - if (wheel_scroll_latching_enabled) { |
| - // There should be a ScrollUpdate sent. |
| - EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| - EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| - } else { |
| - // There should be a ScrollBegin and ScrollUpdate sent. |
| - EXPECT_EQ(2U, GetSentMessageCountAndResetSink()); |
| - EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| - } |
| - |
| - // Check that the correct unhandled wheel event was received. |
| - EXPECT_EQ(INPUT_EVENT_ACK_STATE_NOT_CONSUMED, |
| - ack_handler_->acked_wheel_event_state()); |
| - EXPECT_EQ(ack_handler_->acked_wheel_event().delta_y, -10); |
| - |
| - SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| - INPUT_EVENT_ACK_STATE_CONSUMED); |
| - |
| - if (wheel_scroll_latching_enabled) { |
| - // Check that the ack for ScrollUpdate were processed. |
| - EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| - } else { |
| - // The GestureScrollUpdate ACK releases the GestureScrollEnd. |
| - EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| - |
| - // Check that the ack for the ScrollUpdate and ScrollEnd |
| - // were processed. |
| - EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| - } |
| - } |
| + void OverscrollDispatch(); |
| InputRouter::Config config_; |
| std::unique_ptr<MockRenderProcessHost> process_; |
| std::unique_ptr<MockInputRouterClient> client_; |
| std::unique_ptr<MockInputAckHandler> ack_handler_; |
| std::unique_ptr<LegacyInputRouterImpl> input_router_; |
| + bool wheel_scroll_latching_enabled_; |
| private: |
| base::test::ScopedTaskEnvironment scoped_task_environment_; |
| @@ -477,14 +441,21 @@ class LegacyInputRouterImplRafAlignedTouchDisabledTest |
| : public LegacyInputRouterImplTest { |
| public: |
| LegacyInputRouterImplRafAlignedTouchDisabledTest() |
| - : LegacyInputRouterImplTest(false, false) {} |
| + : LegacyInputRouterImplTest(false, kWheelScrollingModeNone) {} |
| }; |
| class LegacyInputRouterImplWheelScrollLatchingDisabledTest |
| : public LegacyInputRouterImplTest { |
| public: |
| LegacyInputRouterImplWheelScrollLatchingDisabledTest() |
| - : LegacyInputRouterImplTest(true, false) {} |
| + : LegacyInputRouterImplTest(true, kWheelScrollingModeNone) {} |
| +}; |
| + |
| +class LegacyInputRouterImplAsyncWheelEventEnabledTest |
| + : public LegacyInputRouterImplTest { |
| + public: |
| + LegacyInputRouterImplAsyncWheelEventEnabledTest() |
| + : LegacyInputRouterImplTest(true, kAsyncWheelEvents) {} |
| }; |
| TEST_F(LegacyInputRouterImplTest, CoalescesRangeSelection) { |
| @@ -578,8 +549,8 @@ TEST_F(LegacyInputRouterImplTest, |
| new InputMsg_SelectRange(0, gfx::Point(7, 8), gfx::Point(9, 10)))); |
| EXPECT_EQ(0u, GetSentMessageCountAndResetSink()); |
| - // Ack the messages and verify that they're not coalesced and that they're in |
| - // correct order. |
| + // Ack the messages and verify that they're not coalesced and that they're |
| + // in correct order. |
| // Ack the first message. |
| { |
| @@ -658,8 +629,8 @@ TEST_F(LegacyInputRouterImplTest, |
| input_router_->OnMessageReceived(*response); |
| } |
| - // Verify that the three MoveRangeSelectionExtent messages are coalesced into |
| - // one message. |
| + // Verify that the three MoveRangeSelectionExtent messages are coalesced |
| + // into one message. |
| ExpectIPCMessageWithArg1<InputMsg_MoveRangeSelectionExtent>( |
| process_->sink().GetMessageAt(0), gfx::Point(9, 10)); |
| EXPECT_EQ(1u, GetSentMessageCountAndResetSink()); |
| @@ -774,7 +745,7 @@ TEST_F(LegacyInputRouterImplTest, NoncorrespondingKeyEvents) { |
| EXPECT_TRUE(ack_handler_->unexpected_event_ack_called()); |
| } |
| -// Tests ported from RenderWidgetHostTest -------------------------------------- |
| +// Tests ported from RenderWidgetHostTest ------------------------------------- |
| TEST_F(LegacyInputRouterImplTest, HandleKeyEventsWeSent) { |
| // Simulate a keyboard event. |
| @@ -806,11 +777,21 @@ TEST_F(LegacyInputRouterImplTest, IgnoreKeyEventsWeDidntSend) { |
| TEST_F(LegacyInputRouterImplTest, CoalescesWheelEvents) { |
| // Simulate wheel events. |
| - SimulateWheelEvent(0, 0, 0, -5, 0, false); // sent directly |
| - SimulateWheelEvent(0, 0, 0, -10, 0, false); // enqueued |
| - SimulateWheelEvent(0, 0, 8, -6, 0, false); // coalesced into previous event |
| - SimulateWheelEvent(0, 0, 9, -7, 1, false); // enqueued, different modifiers |
| - SimulateWheelEvent(0, 0, 0, -10, 0, false); // enqueued, different modifiers |
| + SimulateWheelEventPossiblyIncludingPhase( |
| + !wheel_scroll_latching_enabled_, 0, 0, 0, -5, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan); // sent directly |
| + SimulateWheelEventPossiblyIncludingPhase( |
| + !wheel_scroll_latching_enabled_, 0, 0, 0, -10, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged); // enqueued |
| + SimulateWheelEventPossiblyIncludingPhase( |
| + !wheel_scroll_latching_enabled_, 0, 0, 8, -6, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged); // coalesced into previous event |
| + SimulateWheelEventPossiblyIncludingPhase( |
| + !wheel_scroll_latching_enabled_, 0, 0, 9, -7, 1, false, |
| + WebMouseWheelEvent::kPhaseChanged); // enqueued, different modifiers |
| + SimulateWheelEventPossiblyIncludingPhase( |
| + !wheel_scroll_latching_enabled_, 0, 0, 0, -10, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged); // enqueued, different modifiers |
| // Explicitly verify that PhaseEnd isn't coalesced to avoid bugs like |
| // https://crbug.com/154740. |
| SimulateWheelEventWithPhase(WebMouseWheelEvent::kPhaseEnded); // enqueued |
| @@ -960,8 +941,8 @@ TEST_F(LegacyInputRouterImplTest, TouchEventQueue) { |
| EXPECT_EQ(0U, GetSentMessageCountAndResetSink()); |
| } |
| -// Tests that the touch-queue is emptied after a page stops listening for touch |
| -// events and the outstanding ack is received. |
| +// Tests that the touch-queue is emptied after a page stops listening for |
| +// touch events and the outstanding ack is received. |
| TEST_F(LegacyInputRouterImplTest, TouchEventQueueFlush) { |
| OnHasTouchEventHandlers(true); |
| EXPECT_TRUE(client_->has_touch_handler()); |
| @@ -1089,12 +1070,131 @@ TEST_F(LegacyInputRouterImplTest, MAYBE_AckedTouchEventState) { |
| } |
| #endif // defined(USE_AURA) |
| +void LegacyInputRouterImplTest::UnhandledWheelEvent() { |
|
dtapuska
2017/06/20 20:53:14
Moving code around like this makes it *really* har
sahel
2017/06/21 18:09:59
I am sorry for the inconvenience, so I should appl
|
| + // Simulate wheel events. |
| + SimulateWheelEventPossiblyIncludingPhase(!wheel_scroll_latching_enabled_, 0, |
| + 0, 0, -5, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan); |
| + SimulateWheelEventPossiblyIncludingPhase(!wheel_scroll_latching_enabled_, 0, |
| + 0, 0, -10, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged); |
| + |
| + // Check that only the first event was sent. |
| + EXPECT_TRUE( |
| + process_->sink().GetUniqueMessageMatching(InputMsg_HandleInputEvent::ID)); |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + |
| + // Indicate that the wheel event was unhandled. |
| + SendInputEventACK(WebInputEvent::kMouseWheel, |
| + INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| + |
| + // Check that the ack for the MouseWheel and ScrollBegin |
| + // were processed. |
| + EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| + |
| + // There should be a ScrollBegin and ScrollUpdate, MouseWheel sent. |
| + EXPECT_EQ(3U, GetSentMessageCountAndResetSink()); |
| + |
| + EXPECT_EQ(ack_handler_->acked_wheel_event().delta_y, -5); |
| + SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| + INPUT_EVENT_ACK_STATE_CONSUMED); |
| + |
| + if (wheel_scroll_latching_enabled_) { |
| + // Check that the ack for ScrollUpdate were processed. |
| + EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| + } else { |
| + // The GestureScrollUpdate ACK releases the GestureScrollEnd. |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + |
| + // Check that the ack for the ScrollUpdate and ScrollEnd |
| + // were processed. |
| + EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| + } |
| + |
| + SendInputEventACK(WebInputEvent::kMouseWheel, |
| + INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| + |
| + if (wheel_scroll_latching_enabled_) { |
| + // There should be a ScrollUpdate sent. |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| + } else { |
| + // There should be a ScrollBegin and ScrollUpdate sent. |
| + EXPECT_EQ(2U, GetSentMessageCountAndResetSink()); |
| + EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| + } |
| + |
| + // Check that the correct unhandled wheel event was received. |
| + EXPECT_EQ(INPUT_EVENT_ACK_STATE_NOT_CONSUMED, |
| + ack_handler_->acked_wheel_event_state()); |
| + EXPECT_EQ(ack_handler_->acked_wheel_event().delta_y, -10); |
| + |
| + SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| + INPUT_EVENT_ACK_STATE_CONSUMED); |
| + |
| + if (wheel_scroll_latching_enabled_) { |
| + // Check that the ack for ScrollUpdate were processed. |
| + EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| + } else { |
| + // The GestureScrollUpdate ACK releases the GestureScrollEnd. |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + |
| + // Check that the ack for the ScrollUpdate and ScrollEnd |
| + // were processed. |
| + EXPECT_EQ(2U, ack_handler_->GetAndResetAckCount()); |
| + } |
| +} |
| + |
| TEST_F(LegacyInputRouterImplTest, UnhandledWheelEvent) { |
| - UnhandledWheelEvent(true); |
| + UnhandledWheelEvent(); |
| } |
| TEST_F(LegacyInputRouterImplWheelScrollLatchingDisabledTest, |
| UnhandledWheelEvent) { |
| - UnhandledWheelEvent(false); |
| + UnhandledWheelEvent(); |
| +} |
| +TEST_F(LegacyInputRouterImplAsyncWheelEventEnabledTest, UnhandledWheelEvent) { |
| + // Simulate wheel events. |
| + SimulateWheelEventWithPhase(0, 0, 0, -5, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan); |
| + SimulateWheelEventWithPhase(0, 0, 0, -10, 0, false, |
| + WebMouseWheelEvent::kPhaseChanged); |
| + |
| + // Check that only the first event was sent. |
| + EXPECT_TRUE( |
| + process_->sink().GetUniqueMessageMatching(InputMsg_HandleInputEvent::ID)); |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + |
| + // Indicate that the wheel event was unhandled. |
| + SendInputEventACK(WebInputEvent::kMouseWheel, |
| + INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| + |
| + // Check that the ack for the first MouseWheel, ScrollBegin, and the second |
| + // MouseWheel were processed. |
| + EXPECT_EQ(3U, ack_handler_->GetAndResetAckCount()); |
| + |
| + // There should be a ScrollBegin and ScrollUpdate, MouseWheel sent. |
| + EXPECT_EQ(3U, GetSentMessageCountAndResetSink()); |
| + |
| + // The last acked wheel event should be the second one since the input router |
| + // has alread sent the immediate ack for the second wheel event. |
| + EXPECT_EQ(ack_handler_->acked_wheel_event().delta_y, -10); |
| + EXPECT_EQ(INPUT_EVENT_ACK_STATE_IGNORED, |
| + ack_handler_->acked_wheel_event_state()); |
| + |
| + SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| + INPUT_EVENT_ACK_STATE_CONSUMED); |
| + |
| + // Check that the ack for the first ScrollUpdate were processed. |
| + EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| + |
| + // There should be a second ScrollUpdate sent. |
| + EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); |
| + |
| + SendInputEventACK(WebInputEvent::kGestureScrollUpdate, |
| + INPUT_EVENT_ACK_STATE_CONSUMED); |
| + |
| + // Check that the ack for ScrollUpdate were processed. |
| + EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount()); |
| } |
| TEST_F(LegacyInputRouterImplTest, TouchTypesIgnoringAck) { |
| @@ -1892,7 +1992,7 @@ TEST_F(LegacyInputRouterImplTest, TouchpadPinchAndScrollUpdate) { |
| // Test proper routing of overscroll notifications received either from |
| // event acks or from |DidOverscroll| IPC messages. |
| -TEST_F(LegacyInputRouterImplTest, OverscrollDispatch) { |
| +void LegacyInputRouterImplTest::OverscrollDispatch() { |
| DidOverscrollParams overscroll; |
| overscroll.accumulated_overscroll = gfx::Vector2dF(-14, 14); |
| overscroll.latest_overscroll_delta = gfx::Vector2dF(-7, 0); |
| @@ -1912,7 +2012,9 @@ TEST_F(LegacyInputRouterImplTest, OverscrollDispatch) { |
| wheel_overscroll.latest_overscroll_delta = gfx::Vector2dF(3, 0); |
| wheel_overscroll.current_fling_velocity = gfx::Vector2dF(1, 0); |
| - SimulateWheelEvent(0, 0, 3, 0, 0, false); |
| + SimulateWheelEventPossiblyIncludingPhase(!wheel_scroll_latching_enabled_, 0, |
| + 0, 3, 0, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan); |
| InputEventAck ack(InputEventAckSource::COMPOSITOR_THREAD, |
| WebInputEvent::kMouseWheel, |
| INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| @@ -1927,6 +2029,16 @@ TEST_F(LegacyInputRouterImplTest, OverscrollDispatch) { |
| EXPECT_EQ(wheel_overscroll.current_fling_velocity, |
| client_overscroll.current_fling_velocity); |
| } |
| +TEST_F(LegacyInputRouterImplTest, OverscrollDispatch) { |
| + OverscrollDispatch(); |
| +} |
| +TEST_F(LegacyInputRouterImplWheelScrollLatchingDisabledTest, |
| + OverscrollDispatch) { |
| + OverscrollDispatch(); |
| +} |
| +TEST_F(LegacyInputRouterImplAsyncWheelEventEnabledTest, OverscrollDispatch) { |
| + OverscrollDispatch(); |
| +} |
| // Tests that touch event stream validation passes when events are filtered |
| // out. See crbug.com/581231 for details. |
| @@ -2024,7 +2136,8 @@ TEST_F(LegacyInputRouterImplScaleMouseEventTest, ScaleMouseEventTest) { |
| TEST_F(LegacyInputRouterImplScaleEventTest, ScaleMouseWheelEventTest) { |
| ASSERT_EQ(0u, process_->sink().message_count()); |
| - SimulateWheelEvent(5, 5, 10, 10, 0, false); |
| + SimulateWheelEventWithPhase(5, 5, 10, 10, 0, false, |
| + WebMouseWheelEvent::kPhaseBegan); |
| ASSERT_EQ(1u, process_->sink().message_count()); |
| const WebMouseWheelEvent* sent_event = |