Index: content/renderer/gpu/input_event_filter.cc |
diff --git a/content/renderer/gpu/input_event_filter.cc b/content/renderer/gpu/input_event_filter.cc |
index 47aa3af048325b71f85943c3c7c570472a5aaa5e..a53c41d40558631497f10195ce054f00b5b433c7 100644 |
--- a/content/renderer/gpu/input_event_filter.cc |
+++ b/content/renderer/gpu/input_event_filter.cc |
@@ -91,10 +91,15 @@ bool InputEventFilter::OnMessageReceived(const IPC::Message& message) { |
// static |
const WebInputEvent* InputEventFilter::CrackMessage( |
- const IPC::Message& message) { |
+ const IPC::Message& message, int64* input_number) { |
DCHECK(message.type() == ViewMsg_HandleInputEvent::ID); |
PickleIterator iter(message); |
+ int64 number; |
+ if (!message.ReadInt64(&iter, &number)) |
+ return NULL; |
+ if (input_number) |
+ *input_number = number; |
const WebInputEvent* event = NULL; |
IPC::ParamTraits<IPC::WebInputEventPointer>::Read(&message, &iter, &event); |
return event; |
@@ -118,7 +123,9 @@ void InputEventFilter::ForwardToHandler(const IPC::Message& message) { |
// |
messages_.push(message); |
- handler_.Run(message.routing_id(), CrackMessage(message)); |
+ int64 input_number; |
+ const WebInputEvent* event = CrackMessage(message, &input_number); |
+ handler_.Run(message.routing_id(), input_number, event); |
} |
void InputEventFilter::SendACK(const IPC::Message& message, |
@@ -128,7 +135,7 @@ void InputEventFilter::SendACK(const IPC::Message& message, |
io_loop_->PostTask( |
FROM_HERE, |
base::Bind(&InputEventFilter::SendACKOnIOThread, this, |
- message.routing_id(), CrackMessage(message)->type, |
+ message.routing_id(), CrackMessage(message, NULL)->type, |
ack_result)); |
} |