Index: ui/events/gestures/gesture_recognizer_impl.h |
diff --git a/ui/events/gestures/gesture_recognizer_impl.h b/ui/events/gestures/gesture_recognizer_impl.h |
index a3e0f573e09719d65fcd6afcea1bfff69d361da2..036a1a6fa7f5a76ebc5d1ab9ce89356a17125584 100644 |
--- a/ui/events/gestures/gesture_recognizer_impl.h |
+++ b/ui/events/gestures/gesture_recognizer_impl.h |
@@ -88,6 +88,12 @@ class EVENTS_EXPORT GestureRecognizerImpl : public GestureRecognizer, |
std::map<GestureConsumer*, std::unique_ptr<GestureProviderAura>> |
consumer_gesture_provider_; |
+ // Maps an event via its |unique_event_id| to the corresponding gesture |
+ // provider. This avoids any invalid reference while routing ACKs for events |
+ // that may arise post |TransferEventsTo()| function call. |
+ // See http://crbug.com/698843 for more info. |
+ std::map<uint32_t, GestureProviderAura*> event_to_gesture_provider_; |
+ |
// |touch_id_target_| maps a touch-id to its target window. |
// touch-ids are removed from |touch_id_target_| on |
// ET_TOUCH_RELEASE and ET_TOUCH_CANCEL. |