Chromium Code Reviews| Index: content/browser/renderer_host/input/touch_event_queue.cc |
| diff --git a/content/browser/renderer_host/input/touch_event_queue.cc b/content/browser/renderer_host/input/touch_event_queue.cc |
| index 35b1657048ba5635cf1ffbba8c353f8687b94359..aeaf5aeffdf07048ffbb0ecfb46e15f411b853d7 100644 |
| --- a/content/browser/renderer_host/input/touch_event_queue.cc |
| +++ b/content/browser/renderer_host/input/touch_event_queue.cc |
| @@ -636,8 +636,10 @@ void TouchEventQueue::OnGestureScrollEvent( |
| return; |
| } |
| - if (gesture_event.event.type == blink::WebInputEvent::GestureScrollUpdate) |
| + if (gesture_event.event.type == blink::WebInputEvent::GestureScrollUpdate && |
| + gesture_event.event.resendingPluginId == -1) { |
| send_touch_events_async_ = true; |
| + } |
| } |
| void TouchEventQueue::OnGestureEventAck( |
| @@ -648,10 +650,13 @@ void TouchEventQueue::OnGestureEventAck( |
| // gesture event (or even part of the current sequence). Worst case, the |
| // delay in updating the absorption state will result in minor UI glitches. |
| // A valid |pending_async_touchmove_| will be flushed when the next event is |
| - // forwarded. |
| - if (event.event.type == blink::WebInputEvent::GestureScrollUpdate) |
| + // forwarded. Scroll updates that are being resent from a GuestView are |
| + // ignored. |
| + if (event.event.type == blink::WebInputEvent::GestureScrollUpdate && |
| + event.event.resendingPluginId == -1) { |
| send_touch_events_async_ = (ack_result == INPUT_EVENT_ACK_STATE_CONSUMED); |
| } |
|
tdresser
2015/10/01 13:55:05
Indentation looks a little off here.
wjmaclean
2015/10/01 14:01:03
Done.
|
| +} |
| void TouchEventQueue::OnHasTouchEventHandlers(bool has_handlers) { |
| DCHECK(!dispatching_touch_ack_); |