OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
9 #include "base/timer/timer.h" | 9 #include "base/timer/timer.h" |
10 #include "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 using WebKit::WebMouseWheelEvent; | 51 using WebKit::WebMouseWheelEvent; |
52 using WebKit::WebTouchEvent; | 52 using WebKit::WebTouchEvent; |
53 using WebKit::WebTouchPoint; | 53 using WebKit::WebTouchPoint; |
54 | 54 |
55 namespace content { | 55 namespace content { |
56 | 56 |
57 // TestOverscrollDelegate ------------------------------------------------------ | 57 // TestOverscrollDelegate ------------------------------------------------------ |
58 | 58 |
59 class TestOverscrollDelegate : public OverscrollControllerDelegate { | 59 class TestOverscrollDelegate : public OverscrollControllerDelegate { |
60 public: | 60 public: |
61 TestOverscrollDelegate() | 61 explicit TestOverscrollDelegate(RenderWidgetHostView* view) |
62 : current_mode_(OVERSCROLL_NONE), | 62 : view_(view), |
| 63 current_mode_(OVERSCROLL_NONE), |
63 completed_mode_(OVERSCROLL_NONE), | 64 completed_mode_(OVERSCROLL_NONE), |
64 delta_x_(0.f), | 65 delta_x_(0.f), |
65 delta_y_(0.f) { | 66 delta_y_(0.f) { |
66 } | 67 } |
67 | 68 |
68 virtual ~TestOverscrollDelegate() {} | 69 virtual ~TestOverscrollDelegate() {} |
69 | 70 |
70 OverscrollMode current_mode() const { return current_mode_; } | 71 OverscrollMode current_mode() const { return current_mode_; } |
71 OverscrollMode completed_mode() const { return completed_mode_; } | 72 OverscrollMode completed_mode() const { return completed_mode_; } |
72 float delta_x() const { return delta_x_; } | 73 float delta_x() const { return delta_x_; } |
73 float delta_y() const { return delta_y_; } | 74 float delta_y() const { return delta_y_; } |
74 | 75 |
75 void Reset() { | 76 void Reset() { |
76 current_mode_ = OVERSCROLL_NONE; | 77 current_mode_ = OVERSCROLL_NONE; |
77 completed_mode_ = OVERSCROLL_NONE; | 78 completed_mode_ = OVERSCROLL_NONE; |
78 delta_x_ = delta_y_ = 0.f; | 79 delta_x_ = delta_y_ = 0.f; |
79 } | 80 } |
80 | 81 |
81 private: | 82 private: |
82 // Overridden from OverscrollControllerDelegate: | 83 // Overridden from OverscrollControllerDelegate: |
| 84 virtual gfx::Rect GetVisibleBounds() const OVERRIDE { |
| 85 return view_->IsShowing() ? view_->GetViewBounds() : gfx::Rect(); |
| 86 } |
| 87 |
83 virtual void OnOverscrollUpdate(float delta_x, float delta_y) OVERRIDE { | 88 virtual void OnOverscrollUpdate(float delta_x, float delta_y) OVERRIDE { |
84 delta_x_ = delta_x; | 89 delta_x_ = delta_x; |
85 delta_y_ = delta_y; | 90 delta_y_ = delta_y; |
86 } | 91 } |
87 | 92 |
88 virtual void OnOverscrollComplete(OverscrollMode overscroll_mode) OVERRIDE { | 93 virtual void OnOverscrollComplete(OverscrollMode overscroll_mode) OVERRIDE { |
89 EXPECT_EQ(current_mode_, overscroll_mode); | 94 EXPECT_EQ(current_mode_, overscroll_mode); |
90 completed_mode_ = overscroll_mode; | 95 completed_mode_ = overscroll_mode; |
91 current_mode_ = OVERSCROLL_NONE; | 96 current_mode_ = OVERSCROLL_NONE; |
92 } | 97 } |
93 | 98 |
94 virtual void OnOverscrollModeChange(OverscrollMode old_mode, | 99 virtual void OnOverscrollModeChange(OverscrollMode old_mode, |
95 OverscrollMode new_mode) OVERRIDE { | 100 OverscrollMode new_mode) OVERRIDE { |
96 EXPECT_EQ(current_mode_, old_mode); | 101 EXPECT_EQ(current_mode_, old_mode); |
97 current_mode_ = new_mode; | 102 current_mode_ = new_mode; |
98 delta_x_ = delta_y_ = 0.f; | 103 delta_x_ = delta_y_ = 0.f; |
99 } | 104 } |
100 | 105 |
| 106 RenderWidgetHostView* view_; |
101 OverscrollMode current_mode_; | 107 OverscrollMode current_mode_; |
102 OverscrollMode completed_mode_; | 108 OverscrollMode completed_mode_; |
103 float delta_x_; | 109 float delta_x_; |
104 float delta_y_; | 110 float delta_y_; |
105 | 111 |
106 DISALLOW_COPY_AND_ASSIGN(TestOverscrollDelegate); | 112 DISALLOW_COPY_AND_ASSIGN(TestOverscrollDelegate); |
107 }; | 113 }; |
108 | 114 |
109 // MockInputRouter ------------------------------------------------------------- | 115 // MockInputRouter ------------------------------------------------------------- |
110 | 116 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 bool FlingInProgress() const { | 246 bool FlingInProgress() const { |
241 return gesture_event_filter()->fling_in_progress_; | 247 return gesture_event_filter()->fling_in_progress_; |
242 } | 248 } |
243 | 249 |
244 bool WillIgnoreNextACK() const { | 250 bool WillIgnoreNextACK() const { |
245 return gesture_event_filter()->ignore_next_ack_; | 251 return gesture_event_filter()->ignore_next_ack_; |
246 } | 252 } |
247 | 253 |
248 void SetupForOverscrollControllerTest() { | 254 void SetupForOverscrollControllerTest() { |
249 SetOverscrollControllerEnabled(true); | 255 SetOverscrollControllerEnabled(true); |
250 overscroll_delegate_.reset(new TestOverscrollDelegate); | 256 overscroll_delegate_.reset(new TestOverscrollDelegate(GetView())); |
251 overscroll_controller_->set_delegate(overscroll_delegate_.get()); | 257 overscroll_controller_->set_delegate(overscroll_delegate_.get()); |
252 } | 258 } |
253 | 259 |
254 void set_debounce_interval_time_ms(int delay_ms) { | 260 void set_debounce_interval_time_ms(int delay_ms) { |
255 gesture_event_filter()->debounce_interval_time_ms_ = delay_ms; | 261 gesture_event_filter()->debounce_interval_time_ms_ = delay_ms; |
256 } | 262 } |
257 | 263 |
258 bool TouchEventQueueEmpty() const { | 264 bool TouchEventQueueEmpty() const { |
259 return touch_event_queue()->empty(); | 265 return touch_event_queue()->empty(); |
260 } | 266 } |
(...skipping 2245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2506 | 2512 |
2507 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { | 2513 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { |
2508 host_->SetupForInputRouterTest(); | 2514 host_->SetupForInputRouterTest(); |
2509 | 2515 |
2510 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); | 2516 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); |
2511 | 2517 |
2512 EXPECT_TRUE(host_->mock_input_router()->message_received_); | 2518 EXPECT_TRUE(host_->mock_input_router()->message_received_); |
2513 } | 2519 } |
2514 | 2520 |
2515 } // namespace content | 2521 } // namespace content |
OLD | NEW |