| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "ui/events/blink/input_handler_proxy.h" | 5 #include "ui/events/blink/input_handler_proxy.h" | 
| 6 | 6 | 
| 7 #include <memory> | 7 #include <memory> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/macros.h" | 10 #include "base/macros.h" | 
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 305 | 305 | 
| 306   std::unique_ptr<blink::WebGestureCurve> CreateFlingAnimationCurve( | 306   std::unique_ptr<blink::WebGestureCurve> CreateFlingAnimationCurve( | 
| 307       WebGestureDevice deviceSource, | 307       WebGestureDevice deviceSource, | 
| 308       const WebFloatPoint& velocity, | 308       const WebFloatPoint& velocity, | 
| 309       const WebSize& cumulative_scroll) override { | 309       const WebSize& cumulative_scroll) override { | 
| 310     return base::MakeUnique<FakeWebGestureCurve>( | 310     return base::MakeUnique<FakeWebGestureCurve>( | 
| 311         blink::WebFloatSize(velocity.x, velocity.y), | 311         blink::WebFloatSize(velocity.x, velocity.y), | 
| 312         blink::WebFloatSize(cumulative_scroll.width, cumulative_scroll.height)); | 312         blink::WebFloatSize(cumulative_scroll.width, cumulative_scroll.height)); | 
| 313   } | 313   } | 
| 314 | 314 | 
| 315   MOCK_METHOD4(DidOverscroll, | 315   MOCK_METHOD5( | 
| 316                void(const gfx::Vector2dF& accumulated_overscroll, | 316       DidOverscroll, | 
| 317                     const gfx::Vector2dF& latest_overscroll_delta, | 317       void(const gfx::Vector2dF& accumulated_overscroll, | 
| 318                     const gfx::Vector2dF& current_fling_velocity, | 318            const gfx::Vector2dF& latest_overscroll_delta, | 
| 319                     const gfx::PointF& causal_event_viewport_point)); | 319            const gfx::Vector2dF& current_fling_velocity, | 
|  | 320            const gfx::PointF& causal_event_viewport_point, | 
|  | 321            const cc::ScrollBoundaryBehavior& scroll_boundary_behavior)); | 
| 320   void DidStopFlinging() override {} | 322   void DidStopFlinging() override {} | 
| 321   void DidAnimateForInput() override {} | 323   void DidAnimateForInput() override {} | 
| 322   MOCK_METHOD3(SetWhiteListedTouchAction, | 324   MOCK_METHOD3(SetWhiteListedTouchAction, | 
| 323                void(cc::TouchAction touch_action, | 325                void(cc::TouchAction touch_action, | 
| 324                     uint32_t unique_touch_event_id, | 326                     uint32_t unique_touch_event_id, | 
| 325                     InputHandlerProxy::EventDisposition event_disposition)); | 327                     InputHandlerProxy::EventDisposition event_disposition)); | 
| 326 | 328 | 
| 327  private: | 329  private: | 
| 328   DISALLOW_COPY_AND_ASSIGN(MockInputHandlerProxyClient); | 330   DISALLOW_COPY_AND_ASSIGN(MockInputHandlerProxyClient); | 
| 329 }; | 331 }; | 
| (...skipping 1902 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2232   if (!touchpad_and_wheel_scroll_latching_enabled_) { | 2234   if (!touchpad_and_wheel_scroll_latching_enabled_) { | 
| 2233     EXPECT_CALL(mock_input_handler_, ScrollBegin(testing::_, testing::_)) | 2235     EXPECT_CALL(mock_input_handler_, ScrollBegin(testing::_, testing::_)) | 
| 2234         .WillOnce(testing::Return(kImplThreadScrollState)); | 2236         .WillOnce(testing::Return(kImplThreadScrollState)); | 
| 2235   } | 2237   } | 
| 2236   EXPECT_CALL( | 2238   EXPECT_CALL( | 
| 2237       mock_input_handler_, | 2239       mock_input_handler_, | 
| 2238       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Lt(0)))) | 2240       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Lt(0)))) | 
| 2239       .WillOnce(testing::Return(overscroll)); | 2241       .WillOnce(testing::Return(overscroll)); | 
| 2240   EXPECT_CALL( | 2242   EXPECT_CALL( | 
| 2241       mock_client_, | 2243       mock_client_, | 
| 2242       DidOverscroll( | 2244       DidOverscroll(overscroll.accumulated_root_overscroll, | 
| 2243           overscroll.accumulated_root_overscroll, | 2245                     overscroll.unused_scroll_delta, | 
| 2244           overscroll.unused_scroll_delta, | 2246                     testing::Property(&gfx::Vector2dF::y, testing::Lt(0)), | 
| 2245           testing::Property(&gfx::Vector2dF::y, testing::Lt(0)), | 2247                     testing::_, overscroll.scroll_boundary_behavior)); | 
| 2246           testing::_)); |  | 
| 2247   if (!touchpad_and_wheel_scroll_latching_enabled_) | 2248   if (!touchpad_and_wheel_scroll_latching_enabled_) | 
| 2248     EXPECT_CALL(mock_input_handler_, ScrollEnd(testing::_)); | 2249     EXPECT_CALL(mock_input_handler_, ScrollEnd(testing::_)); | 
| 2249   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 2250   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 
| 2250   time += base::TimeDelta::FromMilliseconds(100); | 2251   time += base::TimeDelta::FromMilliseconds(100); | 
| 2251   Animate(time); | 2252   Animate(time); | 
| 2252   VERIFY_AND_RESET_MOCKS(); | 2253   VERIFY_AND_RESET_MOCKS(); | 
| 2253 | 2254 | 
| 2254   // The next call to animate will no longer scroll vertically. | 2255   // The next call to animate will no longer scroll vertically. | 
| 2255   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 2256   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 
| 2256   EXPECT_CALL(mock_input_handler_, | 2257   EXPECT_CALL(mock_input_handler_, | 
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2397 | 2398 | 
| 2398   // The third animate hits the bottom content edge. | 2399   // The third animate hits the bottom content edge. | 
| 2399   overscroll.accumulated_root_overscroll = gfx::Vector2dF(0, 100); | 2400   overscroll.accumulated_root_overscroll = gfx::Vector2dF(0, 100); | 
| 2400   overscroll.unused_scroll_delta = gfx::Vector2dF(0, 100); | 2401   overscroll.unused_scroll_delta = gfx::Vector2dF(0, 100); | 
| 2401   EXPECT_CALL( | 2402   EXPECT_CALL( | 
| 2402       mock_input_handler_, | 2403       mock_input_handler_, | 
| 2403       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Lt(0)))) | 2404       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Lt(0)))) | 
| 2404       .WillOnce(testing::Return(overscroll)); | 2405       .WillOnce(testing::Return(overscroll)); | 
| 2405   EXPECT_CALL( | 2406   EXPECT_CALL( | 
| 2406       mock_client_, | 2407       mock_client_, | 
| 2407       DidOverscroll( | 2408       DidOverscroll(overscroll.accumulated_root_overscroll, | 
| 2408           overscroll.accumulated_root_overscroll, | 2409                     overscroll.unused_scroll_delta, | 
| 2409           overscroll.unused_scroll_delta, | 2410                     testing::Property(&gfx::Vector2dF::y, testing::Lt(0)), | 
| 2410           testing::Property(&gfx::Vector2dF::y, testing::Lt(0)), | 2411                     testing::_, overscroll.scroll_boundary_behavior)); | 
| 2411           testing::_)); |  | 
| 2412   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 2412   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 
| 2413   time += base::TimeDelta::FromMilliseconds(10); | 2413   time += base::TimeDelta::FromMilliseconds(10); | 
| 2414   Animate(time); | 2414   Animate(time); | 
| 2415   VERIFY_AND_RESET_MOCKS(); | 2415   VERIFY_AND_RESET_MOCKS(); | 
| 2416 | 2416 | 
| 2417   // The next call to animate will no longer scroll vertically. | 2417   // The next call to animate will no longer scroll vertically. | 
| 2418   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 2418   EXPECT_SET_NEEDS_ANIMATE_INPUT(1); | 
| 2419   EXPECT_CALL( | 2419   EXPECT_CALL( | 
| 2420       mock_input_handler_, | 2420       mock_input_handler_, | 
| 2421       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Eq(0)))) | 2421       ScrollBy(testing::Property(&cc::ScrollState::delta_y, testing::Eq(0)))) | 
| 2422       .WillOnce(testing::Return(scroll_result_did_scroll_)); | 2422       .WillOnce(testing::Return(scroll_result_did_scroll_)); | 
| 2423   time += base::TimeDelta::FromMilliseconds(10); | 2423   time += base::TimeDelta::FromMilliseconds(10); | 
| 2424   Animate(time); | 2424   Animate(time); | 
| 2425   VERIFY_AND_RESET_MOCKS(); | 2425   VERIFY_AND_RESET_MOCKS(); | 
| 2426 | 2426 | 
| 2427   // The next call will hit the right edge. | 2427   // The next call will hit the right edge. | 
| 2428   overscroll.accumulated_root_overscroll = gfx::Vector2dF(100, 100); | 2428   overscroll.accumulated_root_overscroll = gfx::Vector2dF(100, 100); | 
| 2429   overscroll.unused_scroll_delta = gfx::Vector2dF(100, 0); | 2429   overscroll.unused_scroll_delta = gfx::Vector2dF(100, 0); | 
| 2430   EXPECT_CALL( | 2430   EXPECT_CALL( | 
| 2431       mock_input_handler_, | 2431       mock_input_handler_, | 
| 2432       ScrollBy(testing::Property(&cc::ScrollState::delta_x, testing::Lt(0)))) | 2432       ScrollBy(testing::Property(&cc::ScrollState::delta_x, testing::Lt(0)))) | 
| 2433       .WillOnce(testing::Return(overscroll)); | 2433       .WillOnce(testing::Return(overscroll)); | 
| 2434   EXPECT_CALL( | 2434   EXPECT_CALL( | 
| 2435       mock_client_, | 2435       mock_client_, | 
| 2436       DidOverscroll( | 2436       DidOverscroll(overscroll.accumulated_root_overscroll, | 
| 2437           overscroll.accumulated_root_overscroll, | 2437                     overscroll.unused_scroll_delta, | 
| 2438           overscroll.unused_scroll_delta, | 2438                     testing::Property(&gfx::Vector2dF::x, testing::Lt(0)), | 
| 2439           testing::Property(&gfx::Vector2dF::x, testing::Lt(0)), | 2439                     testing::_, overscroll.scroll_boundary_behavior)); | 
| 2440           testing::_)); |  | 
| 2441   EXPECT_CALL(mock_input_handler_, ScrollEnd(testing::_)); | 2440   EXPECT_CALL(mock_input_handler_, ScrollEnd(testing::_)); | 
| 2442   time += base::TimeDelta::FromMilliseconds(10); | 2441   time += base::TimeDelta::FromMilliseconds(10); | 
| 2443   Animate(time); | 2442   Animate(time); | 
| 2444   VERIFY_AND_RESET_MOCKS(); | 2443   VERIFY_AND_RESET_MOCKS(); | 
| 2445 | 2444 | 
| 2446   // The next call to animate will no longer scroll horizontally or vertically, | 2445   // The next call to animate will no longer scroll horizontally or vertically, | 
| 2447   // and the fling should be cancelled. | 2446   // and the fling should be cancelled. | 
| 2448   EXPECT_SET_NEEDS_ANIMATE_INPUT(0); | 2447   EXPECT_SET_NEEDS_ANIMATE_INPUT(0); | 
| 2449   EXPECT_CALL(mock_input_handler_, ScrollBy(testing::_)).Times(0); | 2448   EXPECT_CALL(mock_input_handler_, ScrollBy(testing::_)).Times(0); | 
| 2450   time += base::TimeDelta::FromMilliseconds(10); | 2449   time += base::TimeDelta::FromMilliseconds(10); | 
| (...skipping 1721 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4172 INSTANTIATE_TEST_CASE_P(AnimateInput, | 4171 INSTANTIATE_TEST_CASE_P(AnimateInput, | 
| 4173                         InputHandlerProxyWithoutWheelScrollLatchingTest, | 4172                         InputHandlerProxyWithoutWheelScrollLatchingTest, | 
| 4174                         testing::ValuesIn(test_types)); | 4173                         testing::ValuesIn(test_types)); | 
| 4175 | 4174 | 
| 4176 INSTANTIATE_TEST_CASE_P(InputHandlerProxyEventQueueTests, | 4175 INSTANTIATE_TEST_CASE_P(InputHandlerProxyEventQueueTests, | 
| 4177                         InputHandlerProxyEventQueueTest, | 4176                         InputHandlerProxyEventQueueTest, | 
| 4178                         testing::Bool()); | 4177                         testing::Bool()); | 
| 4179 | 4178 | 
| 4180 }  // namespace test | 4179 }  // namespace test | 
| 4181 }  // namespace ui | 4180 }  // namespace ui | 
| OLD | NEW | 
|---|