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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
264 bool GestureRecognizerImpl::ProcessTouchEventPreDispatch( | 264 bool GestureRecognizerImpl::ProcessTouchEventPreDispatch( |
265 TouchEvent* event, | 265 TouchEvent* event, |
266 GestureConsumer* consumer) { | 266 GestureConsumer* consumer) { |
267 SetupTargets(*event, consumer); | 267 SetupTargets(*event, consumer); |
268 | 268 |
269 if (event->result() & ER_CONSUMED) | 269 if (event->result() & ER_CONSUMED) |
270 return false; | 270 return false; |
271 | 271 |
272 GestureProviderAura* gesture_provider = | 272 GestureProviderAura* gesture_provider = |
273 GetGestureProviderForConsumer(consumer); | 273 GetGestureProviderForConsumer(consumer); |
274 event_to_gesture_provider_[event->unique_event_id()] = gesture_provider; | |
274 return gesture_provider->OnTouchEvent(event); | 275 return gesture_provider->OnTouchEvent(event); |
275 } | 276 } |
276 | 277 |
277 GestureRecognizer::Gestures GestureRecognizerImpl::AckTouchEvent( | 278 GestureRecognizer::Gestures GestureRecognizerImpl::AckTouchEvent( |
278 uint32_t unique_event_id, | 279 uint32_t unique_event_id, |
279 ui::EventResult result, | 280 ui::EventResult result, |
280 GestureConsumer* consumer) { | 281 GestureConsumer* consumer) { |
281 GestureProviderAura* gesture_provider = | 282 GestureProviderAura* gesture_provider = nullptr; |
282 GetGestureProviderForConsumer(consumer); | 283 |
284 // Check if we have already processed this event before dispatch and have a | |
285 // consumer associted with it. | |
tdresser
2017/04/05 14:23:39
associted -> associated
malaykeshav
2017/04/06 20:50:32
Done
| |
286 if (event_to_gesture_provider_.count(unique_event_id)) { | |
287 gesture_provider = event_to_gesture_provider_[unique_event_id]; | |
288 event_to_gesture_provider_.erase(unique_event_id); | |
289 } else { | |
290 gesture_provider = GetGestureProviderForConsumer(consumer); | |
291 } | |
283 gesture_provider->OnTouchEventAck(unique_event_id, result != ER_UNHANDLED); | 292 gesture_provider->OnTouchEventAck(unique_event_id, result != ER_UNHANDLED); |
284 return gesture_provider->GetAndResetPendingGestures(); | 293 return gesture_provider->GetAndResetPendingGestures(); |
285 } | 294 } |
286 | 295 |
287 bool GestureRecognizerImpl::CleanupStateForConsumer( | 296 bool GestureRecognizerImpl::CleanupStateForConsumer( |
288 GestureConsumer* consumer) { | 297 GestureConsumer* consumer) { |
289 bool state_cleaned_up = false; | 298 bool state_cleaned_up = false; |
290 | 299 |
291 if (consumer_gesture_provider_.count(consumer)) { | 300 if (consumer_gesture_provider_.count(consumer)) { |
292 state_cleaned_up = true; | 301 state_cleaned_up = true; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
351 std::vector<GestureEventHelper*>::iterator it; | 360 std::vector<GestureEventHelper*>::iterator it; |
352 for (it = helpers.begin(); it != helpers.end(); ++it) | 361 for (it = helpers.begin(); it != helpers.end(); ++it) |
353 gesture_recognizer->AddGestureEventHelper(*it); | 362 gesture_recognizer->AddGestureEventHelper(*it); |
354 | 363 |
355 helpers.clear(); | 364 helpers.clear(); |
356 g_gesture_recognizer_instance = | 365 g_gesture_recognizer_instance = |
357 static_cast<GestureRecognizerImpl*>(gesture_recognizer); | 366 static_cast<GestureRecognizerImpl*>(gesture_recognizer); |
358 } | 367 } |
359 | 368 |
360 } // namespace ui | 369 } // namespace ui |
OLD | NEW |