Index: ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c |
diff --git a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c |
index 8569c99f4907c42cccd047d1ee2817b818b80820..e82337631f761bbe373d3730ac3662188ef5c498 100644 |
--- a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c |
+++ b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c |
@@ -50,6 +50,7 @@ |
#include "ppapi/c/ppb_var_array_buffer.h" |
#include "ppapi/c/ppb_var_dictionary.h" |
#include "ppapi/c/ppb_websocket.h" |
+#include "ppapi/c/ppp_message_handler.h" |
#include "ppapi/c/ppp_messaging.h" |
#include "ppapi/c/private/ppb_content_decryptor_private.h" |
#include "ppapi/c/private/ppb_display_color_profile_private.h" |
@@ -118,6 +119,7 @@ static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_MediaStreamAudioTrack_0_1 |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_MediaStreamVideoTrack_0_1; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_MessageLoop_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_Messaging_1_0; |
+static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_Messaging_1_1; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_MouseLock_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_NetAddress_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_NetworkList_1_0; |
@@ -137,6 +139,7 @@ static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_VarArray_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_VarArrayBuffer_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_VarDictionary_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_WebSocket_1_0; |
+static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPP_MessageHandler_0_1; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPP_Messaging_1_0; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_Alarms_Dev_0_1; |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_AudioInput_Dev_0_3; |
@@ -1126,6 +1129,25 @@ static void Pnacl_M14_PPB_Messaging_PostMessage(PP_Instance instance, struct PP_ |
/* End wrapper methods for PPB_Messaging_1_0 */ |
+/* Begin wrapper methods for PPB_Messaging_1_1 */ |
+ |
+static void Pnacl_M36_PPB_Messaging_PostMessage(PP_Instance instance, struct PP_Var* message) { |
+ const struct PPB_Messaging_1_1 *iface = Pnacl_WrapperInfo_PPB_Messaging_1_1.real_iface; |
+ iface->PostMessage(instance, *message); |
+} |
+ |
+static int32_t Pnacl_M36_PPB_Messaging_RegisterMessageHandler(PP_Instance instance, const void* user_data, const struct PPP_MessageHandler_0_1* handler, PP_Resource message_loop) { |
jvoung (off chromium)
2014/06/02 15:58:49
One thought on how to handle this w/ shims is to m
|
+ const struct PPB_Messaging_1_1 *iface = Pnacl_WrapperInfo_PPB_Messaging_1_1.real_iface; |
+ return iface->RegisterMessageHandler(instance, user_data, handler, message_loop); |
+} |
+ |
+static void Pnacl_M36_PPB_Messaging_UnregisterMessageHandler(PP_Instance instance) { |
+ const struct PPB_Messaging_1_1 *iface = Pnacl_WrapperInfo_PPB_Messaging_1_1.real_iface; |
+ iface->UnregisterMessageHandler(instance); |
+} |
+ |
+/* End wrapper methods for PPB_Messaging_1_1 */ |
+ |
/* Not generating wrapper methods for PPB_MouseCursor_1_0 */ |
/* Begin wrapper methods for PPB_MouseLock_1_0 */ |
@@ -1793,6 +1815,33 @@ static void Pnacl_M18_PPB_WebSocket_GetURL(struct PP_Var* _struct_result, PP_Res |
/* Not generating wrapper methods for PPP_Instance_1_1 */ |
+/* Begin wrapper methods for PPP_MessageHandler_0_1 */ |
+ |
+static void Pnacl_M36_PPP_MessageHandler_HandleMessage(PP_Instance instance, const void* user_data, struct PP_Var message) { |
+ const struct PPP_MessageHandler_0_1 *iface = Pnacl_WrapperInfo_PPP_MessageHandler_0_1.real_iface; |
+ void (*temp_fp)(PP_Instance instance, const void* user_data, struct PP_Var* message) = |
+ ((void (*)(PP_Instance instance, const void* user_data, struct PP_Var* message))iface->HandleMessage); |
+ temp_fp(instance, user_data, &message); |
+} |
+ |
+static struct PP_Var Pnacl_M36_PPP_MessageHandler_HandleBlockingMessage(PP_Instance instance, const void* user_data, struct PP_Var message) { |
+ const struct PPP_MessageHandler_0_1 *iface = Pnacl_WrapperInfo_PPP_MessageHandler_0_1.real_iface; |
+ void (*temp_fp)(struct PP_Var* _struct_result, PP_Instance instance, const void* user_data, struct PP_Var* message) = |
+ ((void (*)(struct PP_Var* _struct_result, PP_Instance instance, const void* user_data, struct PP_Var* message))iface->HandleBlockingMessage); |
+ struct PP_Var _struct_result; |
+ temp_fp(&_struct_result, instance, user_data, &message); |
+ return _struct_result; |
+} |
+ |
+static void Pnacl_M36_PPP_MessageHandler_Destroy(PP_Instance instance, const void* user_data) { |
+ const struct PPP_MessageHandler_0_1 *iface = Pnacl_WrapperInfo_PPP_MessageHandler_0_1.real_iface; |
+ void (*temp_fp)(PP_Instance instance, const void* user_data) = |
+ ((void (*)(PP_Instance instance, const void* user_data))iface->Destroy); |
+ temp_fp(instance, user_data); |
+} |
+ |
+/* End wrapper methods for PPP_MessageHandler_0_1 */ |
+ |
/* Begin wrapper methods for PPP_Messaging_1_0 */ |
static void Pnacl_M14_PPP_Messaging_HandleMessage(PP_Instance instance, struct PP_Var message) { |
@@ -4575,6 +4624,12 @@ static const struct PPB_Messaging_1_0 Pnacl_Wrappers_PPB_Messaging_1_0 = { |
.PostMessage = (void (*)(PP_Instance instance, struct PP_Var message))&Pnacl_M14_PPB_Messaging_PostMessage |
}; |
+static const struct PPB_Messaging_1_1 Pnacl_Wrappers_PPB_Messaging_1_1 = { |
+ .PostMessage = (void (*)(PP_Instance instance, struct PP_Var message))&Pnacl_M36_PPB_Messaging_PostMessage, |
+ .RegisterMessageHandler = (int32_t (*)(PP_Instance instance, const void* user_data, const struct PPP_MessageHandler_0_1* handler, PP_Resource message_loop))&Pnacl_M36_PPB_Messaging_RegisterMessageHandler, |
+ .UnregisterMessageHandler = (void (*)(PP_Instance instance))&Pnacl_M36_PPB_Messaging_UnregisterMessageHandler |
+}; |
+ |
/* Not generating wrapper interface for PPB_MouseCursor_1_0 */ |
static const struct PPB_MouseLock_1_0 Pnacl_Wrappers_PPB_MouseLock_1_0 = { |
@@ -4763,6 +4818,12 @@ static const struct PPB_WebSocket_1_0 Pnacl_Wrappers_PPB_WebSocket_1_0 = { |
/* Not generating wrapper interface for PPP_Instance_1_1 */ |
+static const struct PPP_MessageHandler_0_1 Pnacl_Wrappers_PPP_MessageHandler_0_1 = { |
+ .HandleMessage = &Pnacl_M36_PPP_MessageHandler_HandleMessage, |
+ .HandleBlockingMessage = &Pnacl_M36_PPP_MessageHandler_HandleBlockingMessage, |
+ .Destroy = &Pnacl_M36_PPP_MessageHandler_Destroy |
+}; |
+ |
static const struct PPP_Messaging_1_0 Pnacl_Wrappers_PPP_Messaging_1_0 = { |
.HandleMessage = &Pnacl_M14_PPP_Messaging_HandleMessage |
}; |
@@ -5606,6 +5667,12 @@ static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_Messaging_1_0 = { |
.real_iface = NULL |
}; |
+static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_Messaging_1_1 = { |
+ .iface_macro = PPB_MESSAGING_INTERFACE_1_1, |
+ .wrapped_iface = (const void *) &Pnacl_Wrappers_PPB_Messaging_1_1, |
+ .real_iface = NULL |
+}; |
+ |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_MouseLock_1_0 = { |
.iface_macro = PPB_MOUSELOCK_INTERFACE_1_0, |
.wrapped_iface = (const void *) &Pnacl_Wrappers_PPB_MouseLock_1_0, |
@@ -5720,6 +5787,12 @@ static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPB_WebSocket_1_0 = { |
.real_iface = NULL |
}; |
+static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPP_MessageHandler_0_1 = { |
+ .iface_macro = NULL, |
+ .wrapped_iface = (const void *) &Pnacl_Wrappers_PPP_MessageHandler_0_1, |
+ .real_iface = NULL |
+}; |
+ |
static struct __PnaclWrapperInfo Pnacl_WrapperInfo_PPP_Messaging_1_0 = { |
.iface_macro = PPP_MESSAGING_INTERFACE_1_0, |
.wrapped_iface = (const void *) &Pnacl_Wrappers_PPP_Messaging_1_0, |
@@ -6111,6 +6184,7 @@ static struct __PnaclWrapperInfo *s_ppb_wrappers[] = { |
&Pnacl_WrapperInfo_PPB_MediaStreamVideoTrack_0_1, |
&Pnacl_WrapperInfo_PPB_MessageLoop_1_0, |
&Pnacl_WrapperInfo_PPB_Messaging_1_0, |
+ &Pnacl_WrapperInfo_PPB_Messaging_1_1, |
&Pnacl_WrapperInfo_PPB_MouseLock_1_0, |
&Pnacl_WrapperInfo_PPB_NetAddress_1_0, |
&Pnacl_WrapperInfo_PPB_NetworkList_1_0, |
@@ -6191,6 +6265,7 @@ static struct __PnaclWrapperInfo *s_ppb_wrappers[] = { |
}; |
static struct __PnaclWrapperInfo *s_ppp_wrappers[] = { |
+ &Pnacl_WrapperInfo_PPP_MessageHandler_0_1, |
&Pnacl_WrapperInfo_PPP_Messaging_1_0, |
&Pnacl_WrapperInfo_PPP_Selection_Dev_0_3, |
&Pnacl_WrapperInfo_PPP_ContentDecryptor_Private_0_11, |