Index: content/browser/renderer_host/input/input_router_impl.cc |
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc |
index b303acdb94cb21899d3042796cce2fe0c561ca98..fe5e4dc60fd995d389d0fd2e278ef1fff6c09fff 100644 |
--- a/content/browser/renderer_host/input/input_router_impl.cc |
+++ b/content/browser/renderer_host/input/input_router_impl.cc |
@@ -13,11 +13,11 @@ |
#include "content/browser/renderer_host/input/input_router_client.h" |
#include "content/browser/renderer_host/input/touch_event_queue.h" |
#include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h" |
+#include "content/browser/renderer_host/input/web_touch_event_traits.h" |
#include "content/browser/renderer_host/overscroll_controller.h" |
#include "content/common/content_constants_internal.h" |
#include "content/common/edit_command.h" |
#include "content/common/input/touch_action.h" |
-#include "content/common/input/web_input_event_traits.h" |
#include "content/common/input_messages.h" |
#include "content/common/view_messages.h" |
#include "content/port/common/input_event_ack_state.h" |
@@ -286,6 +286,9 @@ void InputRouterImpl::SendMouseEventImmediately( |
void InputRouterImpl::SendTouchEventImmediately( |
const TouchEventWithLatencyInfo& touch_event) { |
+ if (WebTouchEventTraits::IsTouchSequenceStart(touch_event.event)) |
+ touch_action_filter_.OnTouchSequenceStart(); |
+ |
FilterAndSendWebInputEvent(touch_event.event, touch_event.latency, false); |
} |
@@ -335,6 +338,12 @@ bool InputRouterImpl::OnMessageReceived(const IPC::Message& message) { |
void InputRouterImpl::OnTouchEventAck(const TouchEventWithLatencyInfo& event, |
InputEventAckState ack_result) { |
+ // Touchstart events sent to the renderer indicate a new touch sequence, but |
+ // in some cases we may filter out sending the touchstart - catch those here. |
+ if (event.event.type == WebInputEvent::TouchStart && |
jdduke (slow)
2014/02/26 15:40:55
Shouldn't this be |IsTouchSequenceStart()|?
tdresser
2014/02/26 19:31:27
Done.
|
+ ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) { |
+ touch_action_filter_.OnTouchSequenceStart(); |
jdduke (slow)
2014/02/26 15:40:55
Can we rename |OnTouchSequenceStart()| to somethin
tdresser
2014/02/26 19:31:27
Done.
|
+ } |
ack_handler_->OnTouchEventAck(event, ack_result); |
} |