| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/touch_handle.h" | 5 #include "content/browser/renderer_host/input/touch_handle.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "ui/events/test/mock_motion_event.h" | 8 #include "ui/events/test/mock_motion_event.h" |
| 9 #include "ui/gfx/geometry/rect_f.h" | 9 #include "ui/gfx/geometry/rect_f.h" |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 bool enabled; | 29 bool enabled; |
| 30 bool visible; | 30 bool visible; |
| 31 gfx::RectF rect; | 31 gfx::RectF rect; |
| 32 }; | 32 }; |
| 33 | 33 |
| 34 class MockTouchHandleDrawable : public TouchHandleDrawable { | 34 class MockTouchHandleDrawable : public TouchHandleDrawable { |
| 35 public: | 35 public: |
| 36 explicit MockTouchHandleDrawable(MockDrawableData* data) : data_(data) {} | 36 explicit MockTouchHandleDrawable(MockDrawableData* data) : data_(data) {} |
| 37 virtual ~MockTouchHandleDrawable() {} | 37 virtual ~MockTouchHandleDrawable() {} |
| 38 | 38 |
| 39 virtual void SetEnabled(bool enabled) OVERRIDE { data_->enabled = enabled; } | 39 virtual void SetEnabled(bool enabled) override { data_->enabled = enabled; } |
| 40 | 40 |
| 41 virtual void SetOrientation(TouchHandleOrientation orientation) OVERRIDE { | 41 virtual void SetOrientation(TouchHandleOrientation orientation) override { |
| 42 data_->orientation = orientation; | 42 data_->orientation = orientation; |
| 43 } | 43 } |
| 44 | 44 |
| 45 virtual void SetAlpha(float alpha) OVERRIDE { data_->alpha = alpha; } | 45 virtual void SetAlpha(float alpha) override { data_->alpha = alpha; } |
| 46 | 46 |
| 47 virtual void SetFocus(const gfx::PointF& position) OVERRIDE { | 47 virtual void SetFocus(const gfx::PointF& position) override { |
| 48 // Anchor focus to the top left of the rect (regardless of orientation). | 48 // Anchor focus to the top left of the rect (regardless of orientation). |
| 49 data_->rect.set_origin(position); | 49 data_->rect.set_origin(position); |
| 50 } | 50 } |
| 51 | 51 |
| 52 virtual void SetVisible(bool visible) OVERRIDE { data_->visible = visible; } | 52 virtual void SetVisible(bool visible) override { data_->visible = visible; } |
| 53 | 53 |
| 54 virtual bool IntersectsWith(const gfx::RectF& rect) const OVERRIDE { | 54 virtual bool IntersectsWith(const gfx::RectF& rect) const override { |
| 55 return data_->rect.Intersects(rect); | 55 return data_->rect.Intersects(rect); |
| 56 } | 56 } |
| 57 | 57 |
| 58 private: | 58 private: |
| 59 MockDrawableData* data_; | 59 MockDrawableData* data_; |
| 60 }; | 60 }; |
| 61 | 61 |
| 62 } // namespace | 62 } // namespace |
| 63 | 63 |
| 64 class TouchHandleTest : public testing::Test, public TouchHandleClient { | 64 class TouchHandleTest : public testing::Test, public TouchHandleClient { |
| 65 public: | 65 public: |
| 66 TouchHandleTest() | 66 TouchHandleTest() |
| 67 : dragging_(false), | 67 : dragging_(false), |
| 68 dragged_(false), | 68 dragged_(false), |
| 69 tapped_(false), | 69 tapped_(false), |
| 70 needs_animate_(false) {} | 70 needs_animate_(false) {} |
| 71 | 71 |
| 72 virtual ~TouchHandleTest() {} | 72 virtual ~TouchHandleTest() {} |
| 73 | 73 |
| 74 // TouchHandleClient implementation. | 74 // TouchHandleClient implementation. |
| 75 virtual void OnHandleDragBegin(const TouchHandle& handle) OVERRIDE { | 75 virtual void OnHandleDragBegin(const TouchHandle& handle) override { |
| 76 dragging_ = true; | 76 dragging_ = true; |
| 77 } | 77 } |
| 78 | 78 |
| 79 virtual void OnHandleDragUpdate(const TouchHandle& handle, | 79 virtual void OnHandleDragUpdate(const TouchHandle& handle, |
| 80 const gfx::PointF& new_position) OVERRIDE { | 80 const gfx::PointF& new_position) override { |
| 81 dragged_ = true; | 81 dragged_ = true; |
| 82 drag_position_ = new_position; | 82 drag_position_ = new_position; |
| 83 } | 83 } |
| 84 | 84 |
| 85 virtual void OnHandleDragEnd(const TouchHandle& handle) OVERRIDE { | 85 virtual void OnHandleDragEnd(const TouchHandle& handle) override { |
| 86 dragging_ = false; | 86 dragging_ = false; |
| 87 } | 87 } |
| 88 | 88 |
| 89 virtual void OnHandleTapped(const TouchHandle& handle) OVERRIDE { | 89 virtual void OnHandleTapped(const TouchHandle& handle) override { |
| 90 tapped_ = true; | 90 tapped_ = true; |
| 91 } | 91 } |
| 92 | 92 |
| 93 virtual void SetNeedsAnimate() OVERRIDE { needs_animate_ = true; } | 93 virtual void SetNeedsAnimate() override { needs_animate_ = true; } |
| 94 | 94 |
| 95 virtual scoped_ptr<TouchHandleDrawable> CreateDrawable() OVERRIDE { | 95 virtual scoped_ptr<TouchHandleDrawable> CreateDrawable() override { |
| 96 return scoped_ptr<TouchHandleDrawable>( | 96 return scoped_ptr<TouchHandleDrawable>( |
| 97 new MockTouchHandleDrawable(&drawable_data_)); | 97 new MockTouchHandleDrawable(&drawable_data_)); |
| 98 } | 98 } |
| 99 | 99 |
| 100 virtual base::TimeDelta GetTapTimeout() const OVERRIDE { | 100 virtual base::TimeDelta GetTapTimeout() const override { |
| 101 return base::TimeDelta::FromMilliseconds(kDefaultTapTimeoutMs); | 101 return base::TimeDelta::FromMilliseconds(kDefaultTapTimeoutMs); |
| 102 } | 102 } |
| 103 | 103 |
| 104 virtual float GetTapSlop() const OVERRIDE { return kDefaultTapSlop; } | 104 virtual float GetTapSlop() const override { return kDefaultTapSlop; } |
| 105 | 105 |
| 106 void Animate(TouchHandle& handle) { | 106 void Animate(TouchHandle& handle) { |
| 107 needs_animate_ = false; | 107 needs_animate_ = false; |
| 108 base::TimeTicks now = base::TimeTicks::Now(); | 108 base::TimeTicks now = base::TimeTicks::Now(); |
| 109 while (handle.Animate(now)) | 109 while (handle.Animate(now)) |
| 110 now += base::TimeDelta::FromMilliseconds(16); | 110 now += base::TimeDelta::FromMilliseconds(16); |
| 111 } | 111 } |
| 112 | 112 |
| 113 bool GetAndResetHandleDragged() { | 113 bool GetAndResetHandleDragged() { |
| 114 bool dragged = dragged_; | 114 bool dragged = dragged_; |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 event = MockMotionEvent( | 484 event = MockMotionEvent( |
| 485 MockMotionEvent::ACTION_MOVE, event_time, kDefaultTapSlop * 2.f, 0); | 485 MockMotionEvent::ACTION_MOVE, event_time, kDefaultTapSlop * 2.f, 0); |
| 486 EXPECT_TRUE(handle.WillHandleTouchEvent(event)); | 486 EXPECT_TRUE(handle.WillHandleTouchEvent(event)); |
| 487 event = MockMotionEvent( | 487 event = MockMotionEvent( |
| 488 MockMotionEvent::ACTION_UP, event_time, kDefaultTapSlop * 2.f, 0); | 488 MockMotionEvent::ACTION_UP, event_time, kDefaultTapSlop * 2.f, 0); |
| 489 EXPECT_TRUE(handle.WillHandleTouchEvent(event)); | 489 EXPECT_TRUE(handle.WillHandleTouchEvent(event)); |
| 490 EXPECT_FALSE(GetAndResetHandleTapped()); | 490 EXPECT_FALSE(GetAndResetHandleTapped()); |
| 491 } | 491 } |
| 492 | 492 |
| 493 } // namespace content | 493 } // namespace content |
| OLD | NEW |