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 43776fd8184d307b5d42fdddaffaae39599ead16..b2a327358fc254e41a88adce0e9115634dfc9148 100644 |
--- a/content/renderer/gpu/input_event_filter.cc |
+++ b/content/renderer/gpu/input_event_filter.cc |
@@ -108,10 +108,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; |
@@ -135,7 +140,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, |
@@ -145,7 +152,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)); |
} |