Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: ui/events/gestures/gesture_recognizer_impl.cc

Issue 393953012: Eager Gesture Recognition on Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <limits> 7 #include <limits>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 281
282 void GestureRecognizerImpl::DispatchGestureEvent(GestureEvent* event) { 282 void GestureRecognizerImpl::DispatchGestureEvent(GestureEvent* event) {
283 GestureConsumer* consumer = GetTargetForGestureEvent(*event); 283 GestureConsumer* consumer = GetTargetForGestureEvent(*event);
284 if (consumer) { 284 if (consumer) {
285 GestureEventHelper* helper = FindDispatchHelperForConsumer(consumer); 285 GestureEventHelper* helper = FindDispatchHelperForConsumer(consumer);
286 if (helper) 286 if (helper)
287 helper->DispatchGestureEvent(event); 287 helper->DispatchGestureEvent(event);
288 } 288 }
289 } 289 }
290 290
291 ScopedVector<GestureEvent>* GestureRecognizerImpl::ProcessTouchEventForGesture( 291 bool GestureRecognizerImpl::ProcessTouchEventForGesture(
292 const TouchEvent& event,
293 GestureConsumer* target) {
294 SetupTargets(event, target);
295
296 if (event.result() & ER_CONSUMED)
297 return false;
298
299 GestureProviderAura* gesture_provider = GetGestureProviderForConsumer(target);
300 return gesture_provider->OnTouchEvent(event);
301 }
302
303 ScopedVector<GestureEvent>*
304 GestureRecognizerImpl::ProcessTouchEventForGestureForOldAuraGR(
292 const TouchEvent& event, 305 const TouchEvent& event,
293 ui::EventResult result, 306 ui::EventResult result,
294 GestureConsumer* target) { 307 GestureConsumer* target) {
295 SetupTargets(event, target); 308 SetupTargets(event, target);
309 GestureSequence* gesture_sequence = GetGestureSequenceForConsumer(target);
310 return gesture_sequence->ProcessTouchEventForGesture(event, result);
311 }
296 312
297 if (!use_unified_gesture_detector_) { 313 ScopedVector<GestureEvent>* GestureRecognizerImpl::AckTouchEventForGesture(
298 GestureSequence* gesture_sequence = GetGestureSequenceForConsumer(target); 314 ui::EventResult result,
299 return gesture_sequence->ProcessTouchEventForGesture(event, result); 315 GestureConsumer* target) {
300 } else { 316 DCHECK(use_unified_gesture_detector_);
301 GestureProviderAura* gesture_provider = 317 GestureProviderAura* gesture_provider = GetGestureProviderForConsumer(target);
302 GetGestureProviderForConsumer(target); 318 gesture_provider->OnTouchEventAck(result != ER_UNHANDLED);
303 // TODO(tdresser) - detect gestures eagerly. 319 return gesture_provider->GetAndResetPendingGestures();
304 if (!(result & ER_CONSUMED)) {
305 if (gesture_provider->OnTouchEvent(event)) {
306 gesture_provider->OnTouchEventAck(result != ER_UNHANDLED);
307 return gesture_provider->GetAndResetPendingGestures();
308 }
309 }
310 return NULL;
311 }
312 } 320 }
313 321
314 bool GestureRecognizerImpl::CleanupStateForConsumer( 322 bool GestureRecognizerImpl::CleanupStateForConsumer(
315 GestureConsumer* consumer) { 323 GestureConsumer* consumer) {
316 bool state_cleaned_up = false; 324 bool state_cleaned_up = false;
317 325
318 if (!use_unified_gesture_detector_) { 326 if (!use_unified_gesture_detector_) {
319 if (consumer_sequence_.count(consumer)) { 327 if (consumer_sequence_.count(consumer)) {
320 state_cleaned_up = true; 328 state_cleaned_up = true;
321 delete consumer_sequence_[consumer]; 329 delete consumer_sequence_[consumer];
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 std::vector<GestureEventHelper*>::iterator it; 400 std::vector<GestureEventHelper*>::iterator it;
393 for (it = helpers.begin(); it != helpers.end(); ++it) 401 for (it = helpers.begin(); it != helpers.end(); ++it)
394 gesture_recognizer->AddGestureEventHelper(*it); 402 gesture_recognizer->AddGestureEventHelper(*it);
395 403
396 helpers.clear(); 404 helpers.clear();
397 g_gesture_recognizer_instance = 405 g_gesture_recognizer_instance =
398 static_cast<GestureRecognizerImpl*>(gesture_recognizer); 406 static_cast<GestureRecognizerImpl*>(gesture_recognizer);
399 } 407 }
400 408
401 } // namespace ui 409 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698