Chromium Code Reviews| 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" |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 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::NON_BLOCKING: | |
| 40 return INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING; | |
| 39 } | 41 } |
| 40 NOTREACHED(); | 42 NOTREACHED(); |
| 41 return INPUT_EVENT_ACK_STATE_UNKNOWN; | 43 return INPUT_EVENT_ACK_STATE_UNKNOWN; |
| 42 } | 44 } |
| 43 | 45 |
| 44 } // namespace | 46 } // namespace |
| 45 | 47 |
| 46 InputHandlerManager::InputHandlerManager( | 48 InputHandlerManager::InputHandlerManager( |
| 47 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 49 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| 48 InputHandlerManagerClient* client, | 50 InputHandlerManagerClient* client, |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 134 auto it = input_handlers_.find(routing_id); | 136 auto it = input_handlers_.find(routing_id); |
| 135 if (it == input_handlers_.end()) | 137 if (it == input_handlers_.end()) |
| 136 return; | 138 return; |
| 137 | 139 |
| 138 InputHandlerProxy* proxy = it->second->input_handler_proxy(); | 140 InputHandlerProxy* proxy = it->second->input_handler_proxy(); |
| 139 DCHECK(proxy->scroll_elasticity_controller()); | 141 DCHECK(proxy->scroll_elasticity_controller()); |
| 140 proxy->scroll_elasticity_controller()->ObserveWheelEventAndResult( | 142 proxy->scroll_elasticity_controller()->ObserveWheelEventAndResult( |
| 141 wheel_event, scroll_result); | 143 wheel_event, scroll_result); |
| 142 } | 144 } |
| 143 | 145 |
| 146 void InputHandlerManager::PassiveInputEventHandledOnMainThread( | |
| 147 int routing_id, | |
| 148 blink::WebInputEvent::Type type) { | |
| 149 task_runner_->PostTask( | |
| 150 FROM_HERE, | |
| 151 base::Bind( | |
| 152 &InputHandlerManager::PassiveInputEventHandledOnCompositorThread, | |
| 153 base::Unretained(this), routing_id, type)); | |
| 154 } | |
| 155 | |
| 156 void InputHandlerManager::PassiveInputEventHandledOnCompositorThread( | |
|
aelias_OOO_until_Jul13
2016/01/26 04:50:41
Please add DCHECK(task_runner_->BelongsToCurrentTh
dtapuska
2016/01/26 16:53:15
Done.
| |
| 157 int routing_id, | |
| 158 blink::WebInputEvent::Type handled_type) { | |
| 159 auto it = input_handlers_.find(routing_id); | |
| 160 if (it == input_handlers_.end()) | |
| 161 return; | |
| 162 | |
| 163 client_->PassiveInputEventHandled(routing_id, handled_type); | |
| 164 } | |
| 165 | |
| 144 InputEventAckState InputHandlerManager::HandleInputEvent( | 166 InputEventAckState InputHandlerManager::HandleInputEvent( |
| 145 int routing_id, | 167 int routing_id, |
| 146 const WebInputEvent* input_event, | 168 const WebInputEvent* input_event, |
| 147 ui::LatencyInfo* latency_info) { | 169 ui::LatencyInfo* latency_info) { |
| 148 DCHECK(task_runner_->BelongsToCurrentThread()); | 170 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 149 TRACE_EVENT1("input,benchmark", "InputHandlerManager::HandleInputEvent", | 171 TRACE_EVENT1("input,benchmark", "InputHandlerManager::HandleInputEvent", |
| 150 "type", WebInputEventTraits::GetName(input_event->type)); | 172 "type", WebInputEventTraits::GetName(input_event->type)); |
| 151 | 173 |
| 152 auto it = input_handlers_.find(routing_id); | 174 auto it = input_handlers_.find(routing_id); |
| 153 if (it == input_handlers_.end()) { | 175 if (it == input_handlers_.end()) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 186 | 208 |
| 187 void InputHandlerManager::DidStopFlinging(int routing_id) { | 209 void InputHandlerManager::DidStopFlinging(int routing_id) { |
| 188 client_->DidStopFlinging(routing_id); | 210 client_->DidStopFlinging(routing_id); |
| 189 } | 211 } |
| 190 | 212 |
| 191 void InputHandlerManager::DidAnimateForInput() { | 213 void InputHandlerManager::DidAnimateForInput() { |
| 192 renderer_scheduler_->DidAnimateForInputOnCompositorThread(); | 214 renderer_scheduler_->DidAnimateForInputOnCompositorThread(); |
| 193 } | 215 } |
| 194 | 216 |
| 195 } // namespace content | 217 } // namespace content |
| OLD | NEW |