| Index: ui/events/gestures/gesture_provider_aura.cc
|
| diff --git a/ui/events/gestures/gesture_provider_aura.cc b/ui/events/gestures/gesture_provider_aura.cc
|
| index 079884e3906de19ada82550638cdb830d5eb83ae..30200f93298763a0377919c2ce499bad8e0e4ee5 100644
|
| --- a/ui/events/gestures/gesture_provider_aura.cc
|
| +++ b/ui/events/gestures/gesture_provider_aura.cc
|
| @@ -23,8 +23,8 @@ GestureProviderAura::GestureProviderAura(GestureProviderAuraClient* client)
|
| GestureProviderAura::~GestureProviderAura() {}
|
|
|
| bool GestureProviderAura::OnTouchEvent(const TouchEvent& event) {
|
| - bool pointer_id_is_active =
|
| - pointer_state_.FindPointerIndexOfId(event.touch_id()) != -1;
|
| + int index = pointer_state_.FindPointerIndexOfId(event.touch_id());
|
| + bool pointer_id_is_active = index != -1;
|
|
|
| if (event.type() == ET_TOUCH_PRESSED && pointer_id_is_active) {
|
| // Ignore touch press events if we already believe the pointer is down.
|
| @@ -36,6 +36,14 @@ bool GestureProviderAura::OnTouchEvent(const TouchEvent& event) {
|
| return false;
|
| }
|
|
|
| + // If this is a touchmove event, and it isn't different from the last
|
| + // event, ignore it.
|
| + if (event.type() == ET_TOUCH_MOVED &&
|
| + event.x() == pointer_state_.GetX(index) &&
|
| + event.y() == pointer_state_.GetY(index)) {
|
| + return false;
|
| + }
|
| +
|
| last_touch_event_flags_ = event.flags();
|
| last_touch_event_latency_info_ = *event.latency();
|
| pointer_state_.OnTouch(event);
|
|
|