Chromium Code Reviews| 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 "ui/events/gestures/gesture_recognizer_impl.h" | 5 #include "ui/events/gestures/gesture_recognizer_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 266 bool GestureRecognizerImpl::ProcessTouchEventPreDispatch( | 266 bool GestureRecognizerImpl::ProcessTouchEventPreDispatch( |
| 267 TouchEvent* event, | 267 TouchEvent* event, |
| 268 GestureConsumer* consumer) { | 268 GestureConsumer* consumer) { |
| 269 SetupTargets(*event, consumer); | 269 SetupTargets(*event, consumer); |
| 270 | 270 |
| 271 if (event->result() & ER_CONSUMED) | 271 if (event->result() & ER_CONSUMED) |
| 272 return false; | 272 return false; |
| 273 | 273 |
| 274 GestureProviderAura* gesture_provider = | 274 GestureProviderAura* gesture_provider = |
| 275 GetGestureProviderForConsumer(consumer); | 275 GetGestureProviderForConsumer(consumer); |
| 276 event_to_gesture_provider_[event->unique_event_id()] = gesture_provider; | |
|
tdresser
2017/04/06 20:59:52
Can we put this in SetupTargets?
malaykeshav
2017/04/07 01:07:59
Done
| |
| 276 return gesture_provider->OnTouchEvent(event); | 277 return gesture_provider->OnTouchEvent(event); |
| 277 } | 278 } |
| 278 | 279 |
| 279 GestureRecognizer::Gestures GestureRecognizerImpl::AckTouchEvent( | 280 GestureRecognizer::Gestures GestureRecognizerImpl::AckTouchEvent( |
| 280 uint32_t unique_event_id, | 281 uint32_t unique_event_id, |
| 281 ui::EventResult result, | 282 ui::EventResult result, |
| 282 GestureConsumer* consumer) { | 283 GestureConsumer* consumer) { |
| 283 GestureProviderAura* gesture_provider = | 284 GestureProviderAura* gesture_provider = nullptr; |
| 284 GetGestureProviderForConsumer(consumer); | 285 |
| 286 // Check if we have already processed this event before dispatch and have a | |
| 287 // consumer associated with it. | |
| 288 if (event_to_gesture_provider_.count(unique_event_id)) { | |
| 289 gesture_provider = event_to_gesture_provider_[unique_event_id]; | |
| 290 event_to_gesture_provider_.erase(unique_event_id); | |
|
tdresser
2017/04/06 20:59:52
This is performing three lookups into this map.
H
malaykeshav
2017/04/07 01:07:59
Done
| |
| 291 } else { | |
| 292 gesture_provider = GetGestureProviderForConsumer(consumer); | |
| 293 } | |
| 285 gesture_provider->OnTouchEventAck(unique_event_id, result != ER_UNHANDLED); | 294 gesture_provider->OnTouchEventAck(unique_event_id, result != ER_UNHANDLED); |
| 286 return gesture_provider->GetAndResetPendingGestures(); | 295 return gesture_provider->GetAndResetPendingGestures(); |
| 287 } | 296 } |
| 288 | 297 |
| 289 bool GestureRecognizerImpl::CleanupStateForConsumer( | 298 bool GestureRecognizerImpl::CleanupStateForConsumer( |
| 290 GestureConsumer* consumer) { | 299 GestureConsumer* consumer) { |
| 291 bool state_cleaned_up = false; | 300 bool state_cleaned_up = false; |
| 292 | 301 |
| 293 if (consumer_gesture_provider_.count(consumer)) { | 302 if (consumer_gesture_provider_.count(consumer)) { |
| 294 state_cleaned_up = true; | 303 state_cleaned_up = true; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 353 std::vector<GestureEventHelper*>::iterator it; | 362 std::vector<GestureEventHelper*>::iterator it; |
| 354 for (it = helpers.begin(); it != helpers.end(); ++it) | 363 for (it = helpers.begin(); it != helpers.end(); ++it) |
| 355 gesture_recognizer->AddGestureEventHelper(*it); | 364 gesture_recognizer->AddGestureEventHelper(*it); |
| 356 | 365 |
| 357 helpers.clear(); | 366 helpers.clear(); |
| 358 g_gesture_recognizer_instance = | 367 g_gesture_recognizer_instance = |
| 359 static_cast<GestureRecognizerImpl*>(gesture_recognizer); | 368 static_cast<GestureRecognizerImpl*>(gesture_recognizer); |
| 360 } | 369 } |
| 361 | 370 |
| 362 } // namespace ui | 371 } // namespace ui |
| OLD | NEW |