Index: ui/events/gestures/gesture_recognizer_impl.cc |
diff --git a/ui/events/gestures/gesture_recognizer_impl.cc b/ui/events/gestures/gesture_recognizer_impl.cc |
index 38c07f8ecacd6d06debe667e77c9ae5a40de563e..83062e368dac2554469a6a49c87a054eb8efe241 100644 |
--- a/ui/events/gestures/gesture_recognizer_impl.cc |
+++ b/ui/events/gestures/gesture_recognizer_impl.cc |
@@ -294,23 +294,29 @@ ScopedVector<GestureEvent>* GestureRecognizerImpl::ProcessTouchEventForGesture( |
GestureConsumer* target) { |
SetupTargets(event, target); |
+ if (result & ER_CONSUMED) |
+ return NULL; |
+ |
if (!use_unified_gesture_detector_) { |
GestureSequence* gesture_sequence = GetGestureSequenceForConsumer(target); |
return gesture_sequence->ProcessTouchEventForGesture(event, result); |
} else { |
GestureProviderAura* gesture_provider = |
GetGestureProviderForConsumer(target); |
- // TODO(tdresser) - detect gestures eagerly. |
- if (!(result & ER_CONSUMED)) { |
- if (gesture_provider->OnTouchEvent(event)) { |
- gesture_provider->OnTouchEventAck(result != ER_UNHANDLED); |
- return gesture_provider->GetAndResetPendingGestures(); |
- } |
- } |
+ gesture_provider->OnTouchEvent(event); |
return NULL; |
} |
} |
+ScopedVector<GestureEvent>* GestureRecognizerImpl::AckTouchEventForGesture( |
+ ui::EventResult result, |
+ GestureConsumer* target) { |
+ DCHECK(use_unified_gesture_detector_); |
+ GestureProviderAura* gesture_provider = GetGestureProviderForConsumer(target); |
+ gesture_provider->OnTouchEventAck(result != ER_UNHANDLED); |
+ return gesture_provider->GetAndResetPendingGestures(); |
+} |
+ |
bool GestureRecognizerImpl::CleanupStateForConsumer( |
GestureConsumer* consumer) { |
bool state_cleaned_up = false; |