| 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 |