| Index: ppapi/proxy/ppb_instance_proxy.cc
|
| ===================================================================
|
| --- ppapi/proxy/ppb_instance_proxy.cc (revision 106716)
|
| +++ ppapi/proxy/ppb_instance_proxy.cc (working copy)
|
| @@ -9,7 +9,6 @@
|
| #include "ppapi/c/ppb_instance.h"
|
| #include "ppapi/c/ppb_messaging.h"
|
| #include "ppapi/c/ppb_mouse_lock.h"
|
| -#include "ppapi/proxy/enter_proxy.h"
|
| #include "ppapi/proxy/host_dispatcher.h"
|
| #include "ppapi/proxy/plugin_dispatcher.h"
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| @@ -42,8 +41,7 @@
|
| } // namespace
|
|
|
| PPB_Instance_Proxy::PPB_Instance_Proxy(Dispatcher* dispatcher)
|
| - : InterfaceProxy(dispatcher),
|
| - callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
|
| + : InterfaceProxy(dispatcher) {
|
| }
|
|
|
| PPB_Instance_Proxy::~PPB_Instance_Proxy() {
|
| @@ -70,7 +68,6 @@
|
|
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(PPB_Instance_Proxy, msg)
|
| - // Plugin -> Host messages.
|
| IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetWindowObject,
|
| OnMsgGetWindowObject)
|
| IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetOwnerElementObject,
|
| @@ -115,11 +112,6 @@
|
| OnMsgGetDocumentURL)
|
| IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetPluginInstanceURL,
|
| OnMsgGetPluginInstanceURL)
|
| -
|
| - // Host -> Plugin messages.
|
| - IPC_MESSAGE_HANDLER(PpapiMsg_PPBInstance_MouseLockComplete,
|
| - OnMsgMouseLockComplete)
|
| -
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -370,17 +362,8 @@
|
| if (!callback.func)
|
| return PP_ERROR_BADARGUMENT;
|
|
|
| - // Save the mouse callback on the instance data.
|
| - InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())->
|
| - GetInstanceData(instance);
|
| - if (!data)
|
| - return PP_ERROR_BADARGUMENT;
|
| - if (data->mouse_lock_callback.func)
|
| - return PP_ERROR_INPROGRESS; // Already have a pending callback.
|
| - data->mouse_lock_callback = callback;
|
| -
|
| dispatcher()->Send(new PpapiHostMsg_PPBInstance_LockMouse(
|
| - API_ID_PPB_INSTANCE, instance));
|
| + API_ID_PPB_INSTANCE, instance, SendCallback(callback)));
|
| return PP_OK_COMPLETIONPENDING;
|
| }
|
|
|
| @@ -531,12 +514,15 @@
|
| enter.functions()->PostMessage(instance, message.Get(dispatcher()));
|
| }
|
|
|
| -void PPB_Instance_Proxy::OnMsgLockMouse(PP_Instance instance) {
|
| - EnterHostFunctionForceCallback<PPB_Instance_FunctionAPI> enter(
|
| - instance, callback_factory_,
|
| - &PPB_Instance_Proxy::MouseLockCompleteInHost, instance);
|
| - if (enter.succeeded())
|
| - enter.SetResult(enter.functions()->LockMouse(instance, enter.callback()));
|
| +void PPB_Instance_Proxy::OnMsgLockMouse(PP_Instance instance,
|
| + uint32_t serialized_callback) {
|
| + EnterFunctionNoLock<PPB_Instance_FunctionAPI> enter(instance, true);
|
| + if (enter.failed())
|
| + return;
|
| + PP_CompletionCallback callback = ReceiveCallback(serialized_callback);
|
| + int32_t result = enter.functions()->LockMouse(instance, callback);
|
| + if (result != PP_OK_COMPLETIONPENDING)
|
| + PP_RunCompletionCallback(&callback, result);
|
| }
|
|
|
| void PPB_Instance_Proxy::OnMsgUnlockMouse(PP_Instance instance) {
|
| @@ -594,25 +580,5 @@
|
| }
|
| }
|
|
|
| -void PPB_Instance_Proxy::OnMsgMouseLockComplete(PP_Instance instance,
|
| - int32_t result) {
|
| - // Save the mouse callback on the instance data.
|
| - InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())->
|
| - GetInstanceData(instance);
|
| - if (!data)
|
| - return; // Instance was probably deleted.
|
| - if (!data->mouse_lock_callback.func) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| - PP_RunAndClearCompletionCallback(&data->mouse_lock_callback, result);
|
| -}
|
| -
|
| -void PPB_Instance_Proxy::MouseLockCompleteInHost(int32_t result,
|
| - PP_Instance instance) {
|
| - dispatcher()->Send(new PpapiMsg_PPBInstance_MouseLockComplete(
|
| - API_ID_PPB_INSTANCE, instance, result));
|
| -}
|
| -
|
| } // namespace proxy
|
| } // namespace ppapi
|
|
|