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" |
11 #include "content/browser/renderer_host/backing_store.h" | 11 #include "content/browser/renderer_host/backing_store.h" |
12 #include "content/browser/renderer_host/input/gesture_event_filter.h" | 12 #include "content/browser/renderer_host/input/base_gesture_event_filter.h" |
13 #include "content/browser/renderer_host/input/immediate_input_router.h" | 13 #include "content/browser/renderer_host/input/immediate_input_router.h" |
14 #include "content/browser/renderer_host/input/mock_web_input_event_builders.h" | 14 #include "content/browser/renderer_host/input/mock_web_input_event_builders.h" |
15 #include "content/browser/renderer_host/input/tap_suppression_controller.h" | |
16 #include "content/browser/renderer_host/input/tap_suppression_controller_client.
h" | |
17 #include "content/browser/renderer_host/input/touch_event_queue.h" | 15 #include "content/browser/renderer_host/input/touch_event_queue.h" |
18 #include "content/browser/renderer_host/overscroll_controller.h" | 16 #include "content/browser/renderer_host/overscroll_controller.h" |
19 #include "content/browser/renderer_host/overscroll_controller_delegate.h" | 17 #include "content/browser/renderer_host/overscroll_controller_delegate.h" |
20 #include "content/browser/renderer_host/render_widget_host_delegate.h" | 18 #include "content/browser/renderer_host/render_widget_host_delegate.h" |
21 #include "content/browser/renderer_host/test_render_view_host.h" | 19 #include "content/browser/renderer_host/test_render_view_host.h" |
22 #include "content/common/input_messages.h" | 20 #include "content/common/input_messages.h" |
23 #include "content/common/view_messages.h" | 21 #include "content/common/view_messages.h" |
24 #include "content/port/browser/render_widget_host_view_port.h" | 22 #include "content/port/browser/render_widget_host_view_port.h" |
25 #include "content/public/browser/notification_details.h" | 23 #include "content/public/browser/notification_details.h" |
26 #include "content/public/browser/notification_observer.h" | 24 #include "content/public/browser/notification_observer.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 | 235 |
238 WebGestureEvent GestureEventQueueEventAt(int i) const { | 236 WebGestureEvent GestureEventQueueEventAt(int i) const { |
239 return gesture_event_filter()->coalesced_gesture_events_.at(i).event; | 237 return gesture_event_filter()->coalesced_gesture_events_.at(i).event; |
240 } | 238 } |
241 | 239 |
242 bool ScrollingInProgress() const { | 240 bool ScrollingInProgress() const { |
243 return gesture_event_filter()->scrolling_in_progress_; | 241 return gesture_event_filter()->scrolling_in_progress_; |
244 } | 242 } |
245 | 243 |
246 bool FlingInProgress() const { | 244 bool FlingInProgress() const { |
247 return gesture_event_filter()->fling_in_progress_; | 245 return immediate_input_router_->flinger_->fling_in_progress_; |
248 } | 246 } |
249 | 247 |
250 bool WillIgnoreNextACK() const { | 248 bool WillIgnoreNextACK() const { |
251 return gesture_event_filter()->ignore_next_ack_; | 249 return gesture_event_filter()->ignore_next_ack_; |
252 } | 250 } |
253 | 251 |
254 void SetupForOverscrollControllerTest() { | 252 void SetupForOverscrollControllerTest() { |
255 SetOverscrollControllerEnabled(true); | 253 SetOverscrollControllerEnabled(true); |
256 overscroll_delegate_.reset(new TestOverscrollDelegate(GetView())); | 254 overscroll_delegate_.reset(new TestOverscrollDelegate(GetView())); |
257 overscroll_controller_->set_delegate(overscroll_delegate_.get()); | 255 overscroll_controller_->set_delegate(overscroll_delegate_.get()); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 | 306 |
309 protected: | 307 protected: |
310 virtual void NotifyRendererUnresponsive() OVERRIDE { | 308 virtual void NotifyRendererUnresponsive() OVERRIDE { |
311 unresponsive_timer_fired_ = true; | 309 unresponsive_timer_fired_ = true; |
312 } | 310 } |
313 | 311 |
314 const TouchEventQueue* touch_event_queue() const { | 312 const TouchEventQueue* touch_event_queue() const { |
315 return immediate_input_router_->touch_event_queue_.get(); | 313 return immediate_input_router_->touch_event_queue_.get(); |
316 } | 314 } |
317 | 315 |
318 const GestureEventFilter* gesture_event_filter() const { | 316 const BaseGestureEventFilter* gesture_event_filter() const { |
319 return static_cast<GestureEventFilter*>( | 317 return immediate_input_router_->event_filter_.get(); |
320 immediate_input_router_->gesture_event_filter()); | |
321 } | 318 } |
322 | 319 |
323 GestureEventFilter* gesture_event_filter() { | 320 BaseGestureEventFilter* gesture_event_filter() { |
324 return static_cast<GestureEventFilter*>( | 321 return immediate_input_router_->event_filter_.get(); |
325 immediate_input_router_->gesture_event_filter()); | |
326 } | 322 } |
327 | 323 |
328 private: | 324 private: |
329 bool unresponsive_timer_fired_; | 325 bool unresponsive_timer_fired_; |
330 | 326 |
331 // |immediate_input_router_| and |mock_input_router_| are owned by | 327 // |immediate_input_router_| and |mock_input_router_| are owned by |
332 // RenderWidgetHostImpl |input_router_|. Below are provided for convenience so | 328 // RenderWidgetHostImpl |input_router_|. Below are provided for convenience so |
333 // that we don't have to reinterpret_cast it all the time. | 329 // that we don't have to reinterpret_cast it all the time. |
334 ImmediateInputRouter* immediate_input_router_; | 330 ImmediateInputRouter* immediate_input_router_; |
335 MockInputRouter* mock_input_router_; | 331 MockInputRouter* mock_input_router_; |
(...skipping 2178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2514 | 2510 |
2515 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { | 2511 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { |
2516 host_->SetupForInputRouterTest(); | 2512 host_->SetupForInputRouterTest(); |
2517 | 2513 |
2518 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); | 2514 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); |
2519 | 2515 |
2520 EXPECT_TRUE(host_->mock_input_router()->message_received_); | 2516 EXPECT_TRUE(host_->mock_input_router()->message_received_); |
2521 } | 2517 } |
2522 | 2518 |
2523 } // namespace content | 2519 } // namespace content |
OLD | NEW |