| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/exo/pointer.h" | 5 #include "components/exo/pointer.h" |
| 6 | 6 |
| 7 #include "ash/public/cpp/shell_window_ids.h" | 7 #include "ash/public/cpp/shell_window_ids.h" |
| 8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
| 9 #include "ash/shell_port.h" | 9 #include "ash/shell_port.h" |
| 10 #include "ash/wm/window_positioning_utils.h" | 10 #include "ash/wm/window_positioning_utils.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 | 30 |
| 31 // Overridden from PointerDelegate: | 31 // Overridden from PointerDelegate: |
| 32 MOCK_METHOD1(OnPointerDestroying, void(Pointer*)); | 32 MOCK_METHOD1(OnPointerDestroying, void(Pointer*)); |
| 33 MOCK_CONST_METHOD1(CanAcceptPointerEventsForSurface, bool(Surface*)); | 33 MOCK_CONST_METHOD1(CanAcceptPointerEventsForSurface, bool(Surface*)); |
| 34 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::PointF&, int)); | 34 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::PointF&, int)); |
| 35 MOCK_METHOD1(OnPointerLeave, void(Surface*)); | 35 MOCK_METHOD1(OnPointerLeave, void(Surface*)); |
| 36 MOCK_METHOD2(OnPointerMotion, void(base::TimeTicks, const gfx::PointF&)); | 36 MOCK_METHOD2(OnPointerMotion, void(base::TimeTicks, const gfx::PointF&)); |
| 37 MOCK_METHOD3(OnPointerButton, void(base::TimeTicks, int, bool)); | 37 MOCK_METHOD3(OnPointerButton, void(base::TimeTicks, int, bool)); |
| 38 MOCK_METHOD3(OnPointerScroll, | 38 MOCK_METHOD3(OnPointerScroll, |
| 39 void(base::TimeTicks, const gfx::Vector2dF&, bool)); | 39 void(base::TimeTicks, const gfx::Vector2dF&, bool)); |
| 40 MOCK_METHOD1(OnPointerScrollCancel, void(base::TimeTicks)); | |
| 41 MOCK_METHOD1(OnPointerScrollStop, void(base::TimeTicks)); | 40 MOCK_METHOD1(OnPointerScrollStop, void(base::TimeTicks)); |
| 42 MOCK_METHOD0(OnPointerFrame, void()); | 41 MOCK_METHOD0(OnPointerFrame, void()); |
| 43 }; | 42 }; |
| 44 | 43 |
| 45 TEST_F(PointerTest, SetCursor) { | 44 TEST_F(PointerTest, SetCursor) { |
| 46 std::unique_ptr<Surface> surface(new Surface); | 45 std::unique_ptr<Surface> surface(new Surface); |
| 47 std::unique_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 46 std::unique_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
| 48 gfx::Size buffer_size(10, 10); | 47 gfx::Size buffer_size(10, 10); |
| 49 std::unique_ptr<Buffer> buffer( | 48 std::unique_ptr<Buffer> buffer( |
| 50 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size))); | 49 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size))); |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 .WillRepeatedly(testing::Return(true)); | 246 .WillRepeatedly(testing::Return(true)); |
| 248 EXPECT_CALL(delegate, OnPointerFrame()).Times(4); | 247 EXPECT_CALL(delegate, OnPointerFrame()).Times(4); |
| 249 | 248 |
| 250 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::PointF(), 0)); | 249 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::PointF(), 0)); |
| 251 generator.MoveMouseTo(location); | 250 generator.MoveMouseTo(location); |
| 252 | 251 |
| 253 { | 252 { |
| 254 // Expect fling stop followed by scroll and scroll stop. | 253 // Expect fling stop followed by scroll and scroll stop. |
| 255 testing::InSequence sequence; | 254 testing::InSequence sequence; |
| 256 | 255 |
| 257 EXPECT_CALL(delegate, OnPointerScrollCancel(testing::_)); | |
| 258 EXPECT_CALL(delegate, | 256 EXPECT_CALL(delegate, |
| 259 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); | 257 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); |
| 260 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); | 258 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); |
| 261 } | 259 } |
| 262 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); | 260 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); |
| 263 | 261 |
| 264 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); | 262 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); |
| 265 pointer.reset(); | 263 pointer.reset(); |
| 266 } | 264 } |
| 267 | 265 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 testing::InSequence sequence; | 343 testing::InSequence sequence; |
| 346 EXPECT_CALL(delegate, | 344 EXPECT_CALL(delegate, |
| 347 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); | 345 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); |
| 348 EXPECT_CALL(delegate, | 346 EXPECT_CALL(delegate, |
| 349 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); | 347 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); |
| 350 } | 348 } |
| 351 generator.ClickLeftButton(); | 349 generator.ClickLeftButton(); |
| 352 | 350 |
| 353 { | 351 { |
| 354 testing::InSequence sequence; | 352 testing::InSequence sequence; |
| 355 EXPECT_CALL(delegate, OnPointerScrollCancel(testing::_)); | |
| 356 EXPECT_CALL(delegate, | 353 EXPECT_CALL(delegate, |
| 357 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); | 354 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); |
| 358 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); | 355 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); |
| 359 } | 356 } |
| 360 generator.ScrollSequence(location2, base::TimeDelta(), 1, 1, 1, 1); | 357 generator.ScrollSequence(location2, base::TimeDelta(), 1, 1, 1, 1); |
| 361 | 358 |
| 362 { | 359 { |
| 363 testing::InSequence sequence; | 360 testing::InSequence sequence; |
| 364 EXPECT_CALL(delegate, OnPointerLeave(surface2.get())); | 361 EXPECT_CALL(delegate, OnPointerLeave(surface2.get())); |
| 365 } | 362 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 386 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)) | 383 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)) |
| 387 .Times(0); | 384 .Times(0); |
| 388 EXPECT_CALL(delegate, | 385 EXPECT_CALL(delegate, |
| 389 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)) | 386 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)) |
| 390 .Times(0); | 387 .Times(0); |
| 391 } | 388 } |
| 392 generator.ClickLeftButton(); | 389 generator.ClickLeftButton(); |
| 393 | 390 |
| 394 { | 391 { |
| 395 testing::InSequence sequence; | 392 testing::InSequence sequence; |
| 396 EXPECT_CALL(delegate, OnPointerScrollCancel(testing::_)).Times(0); | |
| 397 EXPECT_CALL(delegate, | 393 EXPECT_CALL(delegate, |
| 398 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)) | 394 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)) |
| 399 .Times(0); | 395 .Times(0); |
| 400 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)).Times(0); | 396 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)).Times(0); |
| 401 } | 397 } |
| 402 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); | 398 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); |
| 403 | 399 |
| 404 { | 400 { |
| 405 testing::InSequence sequence; | 401 testing::InSequence sequence; |
| 406 EXPECT_CALL(delegate, OnPointerLeave(surface.get())).Times(0); | 402 EXPECT_CALL(delegate, OnPointerLeave(surface.get())).Times(0); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 428 testing::InSequence sequence; | 424 testing::InSequence sequence; |
| 429 EXPECT_CALL(delegate, | 425 EXPECT_CALL(delegate, |
| 430 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); | 426 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); |
| 431 EXPECT_CALL(delegate, | 427 EXPECT_CALL(delegate, |
| 432 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); | 428 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); |
| 433 } | 429 } |
| 434 generator.ClickLeftButton(); | 430 generator.ClickLeftButton(); |
| 435 | 431 |
| 436 { | 432 { |
| 437 testing::InSequence sequence; | 433 testing::InSequence sequence; |
| 438 EXPECT_CALL(delegate, OnPointerScrollCancel(testing::_)); | |
| 439 EXPECT_CALL(delegate, | 434 EXPECT_CALL(delegate, |
| 440 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); | 435 OnPointerScroll(testing::_, gfx::Vector2dF(1.2, 1.2), false)); |
| 441 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); | 436 EXPECT_CALL(delegate, OnPointerScrollStop(testing::_)); |
| 442 } | 437 } |
| 443 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); | 438 generator.ScrollSequence(location, base::TimeDelta(), 1, 1, 1, 1); |
| 444 | 439 |
| 445 { | 440 { |
| 446 testing::InSequence sequence; | 441 testing::InSequence sequence; |
| 447 EXPECT_CALL(delegate, OnPointerLeave(surface.get())); | 442 EXPECT_CALL(delegate, OnPointerLeave(surface.get())); |
| 448 } | 443 } |
| 449 generator.MoveMouseTo(surface->window()->GetBoundsInScreen().bottom_right()); | 444 generator.MoveMouseTo(surface->window()->GetBoundsInScreen().bottom_right()); |
| 450 | 445 |
| 451 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); | 446 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); |
| 452 pointer.reset(); | 447 pointer.reset(); |
| 453 } | 448 } |
| 454 | 449 |
| 455 } // namespace | 450 } // namespace |
| 456 } // namespace exo | 451 } // namespace exo |
| OLD | NEW |