| 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 <utility> | 7 #include <utility> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/location.h" | 10 #include "base/location.h" | 
| 11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" | 
| 12 #include "base/threading/thread_task_runner_handle.h" | 12 #include "base/threading/thread_task_runner_handle.h" | 
| 13 #include "base/trace_event/trace_event.h" | 13 #include "base/trace_event/trace_event.h" | 
| 14 #include "cc/input/input_handler.h" | 14 #include "cc/input/input_handler.h" | 
| 15 #include "components/scheduler/renderer/renderer_scheduler.h" |  | 
| 16 #include "content/common/input/web_input_event_traits.h" | 15 #include "content/common/input/web_input_event_traits.h" | 
| 17 #include "content/renderer/input/input_event_filter.h" | 16 #include "content/renderer/input/input_event_filter.h" | 
| 18 #include "content/renderer/input/input_handler_manager_client.h" | 17 #include "content/renderer/input/input_handler_manager_client.h" | 
| 19 #include "content/renderer/input/input_handler_wrapper.h" | 18 #include "content/renderer/input/input_handler_wrapper.h" | 
|  | 19 #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_schedul
     er.h" | 
| 20 #include "ui/events/blink/input_handler_proxy.h" | 20 #include "ui/events/blink/input_handler_proxy.h" | 
| 21 | 21 | 
| 22 using blink::WebInputEvent; | 22 using blink::WebInputEvent; | 
| 23 using ui::InputHandlerProxy; | 23 using ui::InputHandlerProxy; | 
| 24 using scheduler::RendererScheduler; | 24 using blink::scheduler::RendererScheduler; | 
| 25 | 25 | 
| 26 namespace content { | 26 namespace content { | 
| 27 | 27 | 
| 28 namespace { | 28 namespace { | 
| 29 | 29 | 
| 30 InputEventAckState InputEventDispositionToAck( | 30 InputEventAckState InputEventDispositionToAck( | 
| 31     InputHandlerProxy::EventDisposition disposition) { | 31     InputHandlerProxy::EventDisposition disposition) { | 
| 32   switch (disposition) { | 32   switch (disposition) { | 
| 33     case InputHandlerProxy::DID_HANDLE: | 33     case InputHandlerProxy::DID_HANDLE: | 
| 34       return INPUT_EVENT_ACK_STATE_CONSUMED; | 34       return INPUT_EVENT_ACK_STATE_CONSUMED; | 
| 35     case InputHandlerProxy::DID_NOT_HANDLE: | 35     case InputHandlerProxy::DID_NOT_HANDLE: | 
| 36       return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 36       return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 
| 37     case InputHandlerProxy::DROP_EVENT: | 37     case InputHandlerProxy::DROP_EVENT: | 
| 38       return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; | 38       return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; | 
| 39     case InputHandlerProxy::DID_HANDLE_NON_BLOCKING: | 39     case InputHandlerProxy::DID_HANDLE_NON_BLOCKING: | 
| 40       return INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING; | 40       return INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING; | 
| 41   } | 41   } | 
| 42   NOTREACHED(); | 42   NOTREACHED(); | 
| 43   return INPUT_EVENT_ACK_STATE_UNKNOWN; | 43   return INPUT_EVENT_ACK_STATE_UNKNOWN; | 
| 44 } | 44 } | 
| 45 | 45 | 
| 46 } // namespace | 46 } // namespace | 
| 47 | 47 | 
| 48 InputHandlerManager::InputHandlerManager( | 48 InputHandlerManager::InputHandlerManager( | 
| 49     const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 49     const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 
| 50     InputHandlerManagerClient* client, | 50     InputHandlerManagerClient* client, | 
| 51     SynchronousInputHandlerProxyClient* sync_handler_client, | 51     SynchronousInputHandlerProxyClient* sync_handler_client, | 
| 52     scheduler::RendererScheduler* renderer_scheduler) | 52     blink::scheduler::RendererScheduler* renderer_scheduler) | 
| 53     : task_runner_(task_runner), | 53     : task_runner_(task_runner), | 
| 54       client_(client), | 54       client_(client), | 
| 55       synchronous_handler_proxy_client_(sync_handler_client), | 55       synchronous_handler_proxy_client_(sync_handler_client), | 
| 56       renderer_scheduler_(renderer_scheduler) { | 56       renderer_scheduler_(renderer_scheduler) { | 
| 57   DCHECK(client_); | 57   DCHECK(client_); | 
| 58   client_->SetBoundHandler(base::Bind(&InputHandlerManager::HandleInputEvent, | 58   client_->SetBoundHandler(base::Bind(&InputHandlerManager::HandleInputEvent, | 
| 59                                       base::Unretained(this))); | 59                                       base::Unretained(this))); | 
| 60 } | 60 } | 
| 61 | 61 | 
| 62 InputHandlerManager::~InputHandlerManager() { | 62 InputHandlerManager::~InputHandlerManager() { | 
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 257 | 257 | 
| 258 void InputHandlerManager::DidStopFlinging(int routing_id) { | 258 void InputHandlerManager::DidStopFlinging(int routing_id) { | 
| 259   client_->DidStopFlinging(routing_id); | 259   client_->DidStopFlinging(routing_id); | 
| 260 } | 260 } | 
| 261 | 261 | 
| 262 void InputHandlerManager::DidAnimateForInput() { | 262 void InputHandlerManager::DidAnimateForInput() { | 
| 263   renderer_scheduler_->DidAnimateForInputOnCompositorThread(); | 263   renderer_scheduler_->DidAnimateForInputOnCompositorThread(); | 
| 264 } | 264 } | 
| 265 | 265 | 
| 266 }  // namespace content | 266 }  // namespace content | 
| OLD | NEW | 
|---|