| Index: content/browser/renderer_host/input/immediate_input_router.cc
|
| diff --git a/content/browser/renderer_host/input/immediate_input_router.cc b/content/browser/renderer_host/input/immediate_input_router.cc
|
| index a4c69054fd16cb8838053438b95b287a81ae904c..98582b95b884302e00ffa681c1b3dde75dc9be3b 100644
|
| --- a/content/browser/renderer_host/input/immediate_input_router.cc
|
| +++ b/content/browser/renderer_host/input/immediate_input_router.cc
|
| @@ -485,7 +485,7 @@ void ImmediateInputRouter::ProcessInputEventAck(
|
| } else if (WebInputEvent::isTouchEventType(type)) {
|
| ProcessTouchAck(ack_result, latency_info);
|
| } else if (WebInputEvent::isGestureEventType(type)) {
|
| - ProcessGestureAck(type, ack_result);
|
| + ProcessGestureAck(event_type, ack_result);
|
| }
|
|
|
| // WARNING: |this| may be deleted at this point.
|
| @@ -541,9 +541,13 @@ void ImmediateInputRouter::ProcessWheelAck(InputEventAckState ack_result) {
|
| }
|
| }
|
|
|
| -void ImmediateInputRouter::ProcessGestureAck(int type,
|
| +void ImmediateInputRouter::ProcessGestureAck(WebInputEvent::Type type,
|
| InputEventAckState ack_result) {
|
| + if (GestureEventFilter::IsGestureEventTypeAsync(type))
|
| + return;
|
| const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
|
| + // Note: the order the ack is passed to |ack_handler_| and
|
| + // |gesture_event_filter_| matters. See crbug.com/302592.
|
| ack_handler_->OnGestureEventAck(
|
| gesture_event_filter_->GetGestureEventAwaitingAck(), ack_result);
|
| gesture_event_filter_->ProcessGestureAck(processed, type);
|
|
|