Chromium Code Reviews| 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 444678fda27412acab88c21914cdf0a8ff814935..cd1dbd9984934c66aa687d9a9e005c330708d1d6 100644 |
| --- a/content/browser/renderer_host/input/immediate_input_router.cc |
| +++ b/content/browser/renderer_host/input/immediate_input_router.cc |
| @@ -327,6 +327,13 @@ void ImmediateInputRouter::FilterAndSendWebInputEvent( |
| next_mouse_move_.reset(); |
| OfferToHandlers(input_event, latency_info, is_keyboard_shortcut); |
| + // If we don't care about the ack disposition, send the ack immediately. |
| + if (WebInputEventTraits::IgnoresAckDisposition(input_event.type)) { |
| + ProcessInputEventAck(input_event.type, |
| + INPUT_EVENT_ACK_STATE_IGNORED, |
| + latency_info, |
| + IGNORING_DISPOSITION); |
| + } |
|
jdduke (slow)
2013/11/05 05:57:18
This code should only be called if the event was s
tdresser
2013/11/05 18:57:02
Done.
|
| } |
| void ImmediateInputRouter::OfferToHandlers(const WebInputEvent& input_event, |
| @@ -424,6 +431,10 @@ void ImmediateInputRouter::OnInputEventAck( |
| client_->DecrementInFlightEventCount(); |
| + // A synthetic ack will already have been sent for this event. |
| + if (WebInputEventTraits::IgnoresAckDisposition(event_type)) |
| + return; |
| + |
| ProcessInputEventAck(event_type, ack_result, latency_info, RENDERER); |
| // WARNING: |this| may be deleted at this point. |