| Index: ppapi/proxy/ppb_broker_proxy.cc
|
| ===================================================================
|
| --- ppapi/proxy/ppb_broker_proxy.cc (revision 100753)
|
| +++ ppapi/proxy/ppb_broker_proxy.cc (working copy)
|
| @@ -11,7 +11,6 @@
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| #include "ppapi/thunk/ppb_broker_api.h"
|
| #include "ppapi/thunk/enter.h"
|
| -#include "ppapi/thunk/resource_creation_api.h"
|
| #include "ppapi/thunk/thunk.h"
|
|
|
| using ppapi::thunk::PPB_Broker_API;
|
| @@ -41,6 +40,11 @@
|
| #endif
|
| }
|
|
|
| +InterfaceProxy* CreateBrokerProxy(Dispatcher* dispatcher,
|
| + const void* target_interface) {
|
| + return new PPB_Broker_Proxy(dispatcher, target_interface);
|
| +}
|
| +
|
| } // namespace
|
|
|
| class Broker : public PPB_Broker_API, public Resource {
|
| @@ -143,8 +147,9 @@
|
| PP_RunAndClearCompletionCallback(¤t_connect_callback_, result);
|
| }
|
|
|
| -PPB_Broker_Proxy::PPB_Broker_Proxy(Dispatcher* dispatcher)
|
| - : InterfaceProxy(dispatcher),
|
| +PPB_Broker_Proxy::PPB_Broker_Proxy(Dispatcher* dispatcher,
|
| + const void* target_interface)
|
| + : InterfaceProxy(dispatcher, target_interface) ,
|
| callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)){
|
| }
|
|
|
| @@ -152,6 +157,18 @@
|
| }
|
|
|
| // static
|
| +const InterfaceProxy::Info* PPB_Broker_Proxy::GetInfo() {
|
| + static const Info info = {
|
| + ppapi::thunk::GetPPB_Broker_Thunk(),
|
| + PPB_BROKER_TRUSTED_INTERFACE,
|
| + INTERFACE_ID_PPB_BROKER,
|
| + true,
|
| + &CreateBrokerProxy,
|
| + };
|
| + return &info;
|
| +}
|
| +
|
| +// static
|
| PP_Resource PPB_Broker_Proxy::CreateProxyResource(PP_Instance instance) {
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| @@ -179,12 +196,9 @@
|
|
|
| void PPB_Broker_Proxy::OnMsgCreate(PP_Instance instance,
|
| HostResource* result_resource) {
|
| - thunk::EnterResourceCreation enter(instance);
|
| - if (enter.succeeded()) {
|
| - result_resource->SetHostResource(
|
| - instance,
|
| - enter.functions()->CreateBroker(instance));
|
| - }
|
| + result_resource->SetHostResource(
|
| + instance,
|
| + ppb_broker_target()->CreateTrusted(instance));
|
| }
|
|
|
| void PPB_Broker_Proxy::OnMsgConnect(const HostResource& broker) {
|
| @@ -226,9 +240,8 @@
|
| IPC::InvalidPlatformFileForTransit();
|
| if (result == PP_OK) {
|
| int32_t socket_handle = PlatformFileToInt(base::kInvalidPlatformFileValue);
|
| - EnterHostFromHostResource<PPB_Broker_API> enter(broker);
|
| - if (enter.succeeded())
|
| - result = enter.object()->GetHandle(&socket_handle);
|
| + result = ppb_broker_target()->GetHandle(broker.host_resource(),
|
| + &socket_handle);
|
| DCHECK(result == PP_OK ||
|
| socket_handle == PlatformFileToInt(base::kInvalidPlatformFileValue));
|
|
|
|
|