| 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 "content/browser/renderer_host/input/synthetic_gesture_controller.h" | 5 #include "content/browser/renderer_host/input/synthetic_gesture_controller.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 } | 653 } |
| 654 return testing::AssertionSuccess(); | 654 return testing::AssertionSuccess(); |
| 655 } | 655 } |
| 656 | 656 |
| 657 private: | 657 private: |
| 658 gfx::PointF position_; | 658 gfx::PointF position_; |
| 659 int clickCount_; | 659 int clickCount_; |
| 660 WebMouseEvent::Button button_; | 660 WebMouseEvent::Button button_; |
| 661 }; | 661 }; |
| 662 | 662 |
| 663 class DummySyntheticGestureControllerDelegate |
| 664 : public SyntheticGestureController::Delegate { |
| 665 public: |
| 666 DummySyntheticGestureControllerDelegate() {} |
| 667 ~DummySyntheticGestureControllerDelegate() override {} |
| 668 |
| 669 private: |
| 670 // SyntheticGestureController::Delegate: |
| 671 void RequestBeginFrameForSynthesizedInput( |
| 672 base::OnceClosure callback) override {} |
| 673 bool HasGestureStopped() override { return true; } |
| 674 |
| 675 DISALLOW_COPY_AND_ASSIGN(DummySyntheticGestureControllerDelegate); |
| 676 }; |
| 677 |
| 663 class SyntheticGestureControllerTestBase { | 678 class SyntheticGestureControllerTestBase { |
| 664 public: | 679 public: |
| 665 SyntheticGestureControllerTestBase() {} | 680 SyntheticGestureControllerTestBase() {} |
| 666 ~SyntheticGestureControllerTestBase() {} | 681 ~SyntheticGestureControllerTestBase() {} |
| 667 | 682 |
| 668 protected: | 683 protected: |
| 669 template<typename MockGestureTarget> | 684 template<typename MockGestureTarget> |
| 670 void CreateControllerAndTarget() { | 685 void CreateControllerAndTarget() { |
| 671 target_ = new MockGestureTarget(); | 686 target_ = new MockGestureTarget(); |
| 672 controller_ = base::MakeUnique<SyntheticGestureController>( | 687 controller_ = base::MakeUnique<SyntheticGestureController>( |
| 673 std::unique_ptr<SyntheticGestureTarget>(target_), | 688 &delegate_, std::unique_ptr<SyntheticGestureTarget>(target_)); |
| 674 base::Bind([](base::OnceClosure callback) {})); | |
| 675 } | 689 } |
| 676 | 690 |
| 677 void QueueSyntheticGesture(std::unique_ptr<SyntheticGesture> gesture) { | 691 void QueueSyntheticGesture(std::unique_ptr<SyntheticGesture> gesture) { |
| 678 controller_->QueueSyntheticGesture( | 692 controller_->QueueSyntheticGesture( |
| 679 std::move(gesture), | 693 std::move(gesture), |
| 680 base::Bind( | 694 base::Bind( |
| 681 &SyntheticGestureControllerTestBase::OnSyntheticGestureCompleted, | 695 &SyntheticGestureControllerTestBase::OnSyntheticGestureCompleted, |
| 682 base::Unretained(this))); | 696 base::Unretained(this))); |
| 683 } | 697 } |
| 684 | 698 |
| 685 void FlushInputUntilComplete() { | 699 void FlushInputUntilComplete() { |
| 686 do | 700 do |
| 687 time_ += base::TimeDelta::FromMilliseconds(kFlushInputRateInMs); | 701 time_ += base::TimeDelta::FromMilliseconds(kFlushInputRateInMs); |
| 688 while (controller_->DispatchNextEvent(time_)); | 702 while (controller_->DispatchNextEvent(time_)); |
| 689 } | 703 } |
| 690 | 704 |
| 691 void OnSyntheticGestureCompleted(SyntheticGesture::Result result) { | 705 void OnSyntheticGestureCompleted(SyntheticGesture::Result result) { |
| 692 DCHECK_NE(result, SyntheticGesture::GESTURE_RUNNING); | 706 DCHECK_NE(result, SyntheticGesture::GESTURE_RUNNING); |
| 693 if (result == SyntheticGesture::GESTURE_FINISHED) | 707 if (result == SyntheticGesture::GESTURE_FINISHED) |
| 694 num_success_++; | 708 num_success_++; |
| 695 else | 709 else |
| 696 num_failure_++; | 710 num_failure_++; |
| 697 } | 711 } |
| 698 | 712 |
| 699 base::TimeDelta GetTotalTime() const { return time_ - start_time_; } | 713 base::TimeDelta GetTotalTime() const { return time_ - start_time_; } |
| 700 | 714 |
| 701 MockSyntheticGestureTarget* target_; | 715 MockSyntheticGestureTarget* target_; |
| 716 DummySyntheticGestureControllerDelegate delegate_; |
| 702 std::unique_ptr<SyntheticGestureController> controller_; | 717 std::unique_ptr<SyntheticGestureController> controller_; |
| 703 base::TimeTicks start_time_; | 718 base::TimeTicks start_time_; |
| 704 base::TimeTicks time_; | 719 base::TimeTicks time_; |
| 705 int num_success_; | 720 int num_success_; |
| 706 int num_failure_; | 721 int num_failure_; |
| 707 }; | 722 }; |
| 708 | 723 |
| 709 class SyntheticGestureControllerTest | 724 class SyntheticGestureControllerTest |
| 710 : public SyntheticGestureControllerTestBase, | 725 : public SyntheticGestureControllerTestBase, |
| 711 public testing::Test { | 726 public testing::Test { |
| (...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1742 EXPECT_EQ(4, num_success_); | 1757 EXPECT_EQ(4, num_success_); |
| 1743 EXPECT_EQ(0, num_failure_); | 1758 EXPECT_EQ(0, num_failure_); |
| 1744 EXPECT_EQ(pointer_mouse_target->num_actions_dispatched(), 4); | 1759 EXPECT_EQ(pointer_mouse_target->num_actions_dispatched(), 4); |
| 1745 EXPECT_TRUE( | 1760 EXPECT_TRUE( |
| 1746 pointer_mouse_target->SyntheticMouseActionDispatchedCorrectly(param, 1)); | 1761 pointer_mouse_target->SyntheticMouseActionDispatchedCorrectly(param, 1)); |
| 1747 } | 1762 } |
| 1748 | 1763 |
| 1749 } // namespace | 1764 } // namespace |
| 1750 | 1765 |
| 1751 } // namespace content | 1766 } // namespace content |
| OLD | NEW |