Chromium Code Reviews| Index: ppapi/proxy/message_handler.cc |
| diff --git a/ppapi/proxy/message_handler.cc b/ppapi/proxy/message_handler.cc |
| index fff878811fcb3a9d028cf379836676a150a3c101..2e0dd8b5ef7a7d7e5d0266dd69d3adc676774711 100644 |
| --- a/ppapi/proxy/message_handler.cc |
| +++ b/ppapi/proxy/message_handler.cc |
| @@ -16,14 +16,16 @@ namespace ppapi { |
| namespace proxy { |
| namespace { |
| -typedef void (*HandleMessageFunc)(PP_Instance, void*, PP_Var); |
| -typedef PP_Var (*HandleBlockingMessageFunc)(PP_Instance, void*, PP_Var); |
| +typedef void (*HandleMessageFunc)(PP_Instance, void*, const PP_Var*); |
| +typedef void (*HandleBlockingMessageFunc)( |
| + PP_Instance, void*, const PP_Var*, PP_Var*); |
| void HandleMessageWrapper(HandleMessageFunc function, |
| PP_Instance instance, |
| void* user_data, |
| ScopedPPVar message_data) { |
| - CallWhileUnlocked(function, instance, user_data, message_data.get()); |
| + CallWhileUnlocked(function, instance, user_data, |
| + const_cast<const PP_Var*>(&message_data.get())); |
|
teravest
2014/09/11 15:42:41
As discussed off-thread, the const_cast<> here loo
|
| } |
| void HandleBlockingMessageWrapper(HandleBlockingMessageFunc function, |
| @@ -34,13 +36,12 @@ void HandleBlockingMessageWrapper(HandleBlockingMessageFunc function, |
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance); |
| if (!dispatcher) |
| return; |
| - PP_Var return_value = CallWhileUnlocked(function, |
| - instance, |
| - user_data, |
| - message_data.get()); |
| + PP_Var result = PP_MakeUndefined(); |
| + CallWhileUnlocked(function, instance, user_data, |
| + const_cast<const PP_Var*>(&message_data.get()), &result); |
| PpapiMsg_PPPMessageHandler_HandleBlockingMessage::WriteReplyParams( |
| reply_msg.get(), |
| - SerializedVarReturnValue::Convert(dispatcher, return_value), |
| + SerializedVarReturnValue::Convert(dispatcher, result), |
| true /* was_handled */); |
| dispatcher->Send(reply_msg.release()); |
| } |
| @@ -50,7 +51,7 @@ void HandleBlockingMessageWrapper(HandleBlockingMessageFunc function, |
| // static |
| scoped_ptr<MessageHandler> MessageHandler::Create( |
| PP_Instance instance, |
| - const PPP_MessageHandler_0_1* handler_if, |
| + const PPP_MessageHandler_0_2* handler_if, |
| void* user_data, |
| PP_Resource message_loop, |
| int32_t* error) { |
| @@ -121,7 +122,7 @@ void MessageHandler::HandleBlockingMessage(ScopedPPVar var, |
| MessageHandler::MessageHandler( |
| PP_Instance instance, |
| - const PPP_MessageHandler_0_1* handler_if, |
| + const PPP_MessageHandler_0_2* handler_if, |
| void* user_data, |
| scoped_refptr<MessageLoopResource> message_loop) |
| : instance_(instance), |