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 46b59a63ca12db1ff5688c0aa073da4f21263577..5fb5ad67d24d98d286a9c8544a903f373f74b7d2 100644 |
--- a/content/browser/renderer_host/input/immediate_input_router.cc |
+++ b/content/browser/renderer_host/input/immediate_input_router.cc |
@@ -340,6 +340,13 @@ void ImmediateInputRouter::FilterAndSendWebInputEvent( |
} |
SendWebInputEvent(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, |
+ CLIENT); |
jdduke (slow)
2013/10/25 20:53:34
Please create a new enum entry for this ack source
tdresser
2013/11/04 15:57:30
Done.
|
+ } |
// Any input event cancels a pending mouse move event. |
next_mouse_move_.reset(); |
@@ -416,6 +423,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. |