| 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_selection_controller.h" | 5 #include "content/browser/renderer_host/input/touch_selection_controller.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 | 9 |
| 10 using ui::test::MockMotionEvent; | 10 using ui::test::MockMotionEvent; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 | 78 |
| 79 virtual scoped_ptr<TouchHandleDrawable> CreateDrawable() OVERRIDE { | 79 virtual scoped_ptr<TouchHandleDrawable> CreateDrawable() OVERRIDE { |
| 80 return scoped_ptr<TouchHandleDrawable>( | 80 return scoped_ptr<TouchHandleDrawable>( |
| 81 new MockTouchHandleDrawable(&dragging_enabled_)); | 81 new MockTouchHandleDrawable(&dragging_enabled_)); |
| 82 } | 82 } |
| 83 | 83 |
| 84 void SetAnimationEnabled(bool enabled) { animation_enabled_ = enabled; } | 84 void SetAnimationEnabled(bool enabled) { animation_enabled_ = enabled; } |
| 85 void SetDraggingEnabled(bool enabled) { dragging_enabled_ = enabled; } | 85 void SetDraggingEnabled(bool enabled) { dragging_enabled_ = enabled; } |
| 86 | 86 |
| 87 void ClearSelection() { | 87 void ClearSelection() { |
| 88 controller_->OnSelectionBoundsChanged(gfx::RectF(), | 88 controller_->OnSelectionBoundsChanged(cc::ViewportSelectionBound(), |
| 89 TOUCH_HANDLE_ORIENTATION_UNDEFINED, | 89 cc::ViewportSelectionBound()); |
| 90 false, | |
| 91 gfx::RectF(), | |
| 92 TOUCH_HANDLE_ORIENTATION_UNDEFINED, | |
| 93 false); | |
| 94 } | 90 } |
| 95 | 91 |
| 96 void ClearInsertion() { ClearSelection(); } | 92 void ClearInsertion() { ClearSelection(); } |
| 97 | 93 |
| 98 void ChangeInsertion(const gfx::RectF& rect, | |
| 99 TouchHandleOrientation orientation, | |
| 100 bool visible) { | |
| 101 controller_->OnSelectionBoundsChanged( | |
| 102 rect, orientation, visible, rect, orientation, visible); | |
| 103 } | |
| 104 | |
| 105 void ChangeInsertion(const gfx::RectF& rect, bool visible) { | 94 void ChangeInsertion(const gfx::RectF& rect, bool visible) { |
| 106 ChangeInsertion(rect, TOUCH_HANDLE_CENTER, visible); | 95 cc::ViewportSelectionBound bound; |
| 107 } | 96 bound.type = cc::SELECTION_BOUND_CENTER; |
| 108 | 97 bound.edge_top = rect.origin(); |
| 109 void ChangeSelection(const gfx::RectF& start_rect, | 98 bound.edge_bottom = rect.bottom_left(); |
| 110 TouchHandleOrientation start_orientation, | 99 bound.visible = visible; |
| 111 bool start_visible, | 100 controller_->OnSelectionBoundsChanged(bound, bound); |
| 112 const gfx::RectF& end_rect, | |
| 113 TouchHandleOrientation end_orientation, | |
| 114 bool end_visible) { | |
| 115 controller_->OnSelectionBoundsChanged(start_rect, | |
| 116 start_orientation, | |
| 117 start_visible, | |
| 118 end_rect, | |
| 119 end_orientation, | |
| 120 end_visible); | |
| 121 } | 101 } |
| 122 | 102 |
| 123 void ChangeSelection(const gfx::RectF& start_rect, | 103 void ChangeSelection(const gfx::RectF& start_rect, |
| 124 bool start_visible, | 104 bool start_visible, |
| 125 const gfx::RectF& end_rect, | 105 const gfx::RectF& end_rect, |
| 126 bool end_visible) { | 106 bool end_visible) { |
| 127 ChangeSelection(start_rect, | 107 cc::ViewportSelectionBound start_bound, end_bound; |
| 128 TOUCH_HANDLE_LEFT, | 108 start_bound.type = cc::SELECTION_BOUND_LEFT; |
| 129 start_visible, | 109 end_bound.type = cc::SELECTION_BOUND_RIGHT; |
| 130 end_rect, | 110 start_bound.edge_top = start_rect.origin(); |
| 131 TOUCH_HANDLE_RIGHT, | 111 start_bound.edge_bottom = start_rect.bottom_left(); |
| 132 end_visible); | 112 end_bound.edge_top = end_rect.origin(); |
| 113 end_bound.edge_bottom = end_rect.bottom_left(); |
| 114 start_bound.visible = start_visible; |
| 115 end_bound.visible = end_visible; |
| 116 controller_->OnSelectionBoundsChanged(start_bound, end_bound); |
| 133 } | 117 } |
| 134 | 118 |
| 135 void Animate() { | 119 void Animate() { |
| 136 base::TimeTicks now = base::TimeTicks::Now(); | 120 base::TimeTicks now = base::TimeTicks::Now(); |
| 137 while (needs_animate_) { | 121 while (needs_animate_) { |
| 138 needs_animate_ = controller_->Animate(now); | 122 needs_animate_ = controller_->Animate(now); |
| 139 now += base::TimeDelta::FromMilliseconds(16); | 123 now += base::TimeDelta::FromMilliseconds(16); |
| 140 } | 124 } |
| 141 } | 125 } |
| 142 | 126 |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 EXPECT_EQ(SELECTION_SHOWN, GetLastEventType()); | 649 EXPECT_EQ(SELECTION_SHOWN, GetLastEventType()); |
| 666 EXPECT_EQ(start_rect.bottom_left(), GetLastEventAnchor()); | 650 EXPECT_EQ(start_rect.bottom_left(), GetLastEventAnchor()); |
| 667 | 651 |
| 668 controller().OnTapEvent(); | 652 controller().OnTapEvent(); |
| 669 ClearSelection(); | 653 ClearSelection(); |
| 670 EXPECT_EQ(SELECTION_CLEARED, GetLastEventType()); | 654 EXPECT_EQ(SELECTION_CLEARED, GetLastEventType()); |
| 671 EXPECT_EQ(gfx::PointF(), GetLastEventAnchor()); | 655 EXPECT_EQ(gfx::PointF(), GetLastEventAnchor()); |
| 672 } | 656 } |
| 673 | 657 |
| 674 } // namespace content | 658 } // namespace content |
| OLD | NEW |