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/renderer/input/input_handler_manager.h" | 5 #include "content/renderer/input/input_handler_manager.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
10 #include "cc/input/input_handler.h" | 10 #include "cc/input/input_handler.h" |
| 11 #include "components/scheduler/renderer/renderer_scheduler.h" |
11 #include "content/renderer/input/input_event_filter.h" | 12 #include "content/renderer/input/input_event_filter.h" |
12 #include "content/renderer/input/input_handler_manager_client.h" | 13 #include "content/renderer/input/input_handler_manager_client.h" |
13 #include "content/renderer/input/input_handler_wrapper.h" | 14 #include "content/renderer/input/input_handler_wrapper.h" |
14 #include "content/renderer/input/input_scroll_elasticity_controller.h" | 15 #include "content/renderer/input/input_scroll_elasticity_controller.h" |
15 #include "content/renderer/scheduler/renderer_scheduler.h" | |
16 | 16 |
17 using blink::WebInputEvent; | 17 using blink::WebInputEvent; |
18 | 18 |
19 namespace content { | 19 namespace content { |
20 | 20 |
21 namespace { | 21 namespace { |
22 | 22 |
23 InputEventAckState InputEventDispositionToAck( | 23 InputEventAckState InputEventDispositionToAck( |
24 InputHandlerProxy::EventDisposition disposition) { | 24 InputHandlerProxy::EventDisposition disposition) { |
25 switch (disposition) { | 25 switch (disposition) { |
26 case InputHandlerProxy::DID_HANDLE: | 26 case InputHandlerProxy::DID_HANDLE: |
27 return INPUT_EVENT_ACK_STATE_CONSUMED; | 27 return INPUT_EVENT_ACK_STATE_CONSUMED; |
28 case InputHandlerProxy::DID_NOT_HANDLE: | 28 case InputHandlerProxy::DID_NOT_HANDLE: |
29 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 29 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
30 case InputHandlerProxy::DROP_EVENT: | 30 case InputHandlerProxy::DROP_EVENT: |
31 return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; | 31 return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; |
32 } | 32 } |
33 NOTREACHED(); | 33 NOTREACHED(); |
34 return INPUT_EVENT_ACK_STATE_UNKNOWN; | 34 return INPUT_EVENT_ACK_STATE_UNKNOWN; |
35 } | 35 } |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
39 InputHandlerManager::InputHandlerManager( | 39 InputHandlerManager::InputHandlerManager( |
40 const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy, | 40 const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy, |
41 InputHandlerManagerClient* client, | 41 InputHandlerManagerClient* client, |
42 RendererScheduler* renderer_scheduler) | 42 scheduler::RendererScheduler* renderer_scheduler) |
43 : message_loop_proxy_(message_loop_proxy), | 43 : message_loop_proxy_(message_loop_proxy), |
44 client_(client), | 44 client_(client), |
45 renderer_scheduler_(renderer_scheduler) { | 45 renderer_scheduler_(renderer_scheduler) { |
46 DCHECK(client_); | 46 DCHECK(client_); |
47 client_->SetBoundHandler(base::Bind(&InputHandlerManager::HandleInputEvent, | 47 client_->SetBoundHandler(base::Bind(&InputHandlerManager::HandleInputEvent, |
48 base::Unretained(this))); | 48 base::Unretained(this))); |
49 } | 49 } |
50 | 50 |
51 InputHandlerManager::~InputHandlerManager() { | 51 InputHandlerManager::~InputHandlerManager() { |
52 client_->SetBoundHandler(InputHandlerManagerClient::Handler()); | 52 client_->SetBoundHandler(InputHandlerManagerClient::Handler()); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 void InputHandlerManager::DidReceiveInputEvent( | 163 void InputHandlerManager::DidReceiveInputEvent( |
164 const blink::WebInputEvent& web_input_event) { | 164 const blink::WebInputEvent& web_input_event) { |
165 renderer_scheduler_->DidReceiveInputEventOnCompositorThread(web_input_event); | 165 renderer_scheduler_->DidReceiveInputEventOnCompositorThread(web_input_event); |
166 } | 166 } |
167 | 167 |
168 void InputHandlerManager::DidAnimateForInput() { | 168 void InputHandlerManager::DidAnimateForInput() { |
169 renderer_scheduler_->DidAnimateForInputOnCompositorThread(); | 169 renderer_scheduler_->DidAnimateForInputOnCompositorThread(); |
170 } | 170 } |
171 | 171 |
172 } // namespace content | 172 } // namespace content |
OLD | NEW |