Index: content/renderer/input/input_event_filter.cc |
diff --git a/content/renderer/input/input_event_filter.cc b/content/renderer/input/input_event_filter.cc |
index 6c78d57b0213ecbfbc1ce152e3052783e466807c..2056c313ba16838558fa261688b3b7e3b012166f 100644 |
--- a/content/renderer/input/input_event_filter.cc |
+++ b/content/renderer/input/input_event_filter.cc |
@@ -21,6 +21,7 @@ |
#include "ui/gfx/geometry/vector2d_f.h" |
using blink::WebInputEvent; |
+using blink::WebTouchEvent; |
#include "ipc/ipc_message_null_macros.h" |
#undef IPC_MESSAGE_DECL |
@@ -174,6 +175,20 @@ void InputEventFilter::ForwardToHandler(const IPC::Message& message) { |
return; |
} |
+ // Send AsyncTouchEvent_ACK for async touch moves, and InputEvent_ACK for |
+ // all other types of events. |
+ if (event->type == WebInputEvent::TouchMove) { |
+ const WebTouchEvent& touch = static_cast<const WebTouchEvent&>(*event); |
jdduke (slow)
2015/03/30 18:04:15
It sounds like we should consolidate this logic.
lanwei
2015/03/31 13:07:49
Done.
|
+ if (!touch.cancelable) { |
+ InputHostMsg_HandleUncancelableTouchMoveEvent_ACK_Params ack; |
+ SendMessage( |
+ scoped_ptr<IPC::Message>( |
+ new InputHostMsg_HandleUncancelableTouchMoveEvent_ACK(routing_id, |
+ ack))); |
+ return; |
+ } |
+ } |
+ |
if (!send_ack) |
return; |