| Index: ppapi/proxy/ppb_core_proxy.cc
|
| diff --git a/ppapi/proxy/ppb_core_proxy.cc b/ppapi/proxy/ppb_core_proxy.cc
|
| index 83eea373c4fbb4762996a267a702db4a71b46675..d3d17c0dd652c6d8d113408e2b0fb20145bd4ee3 100644
|
| --- a/ppapi/proxy/ppb_core_proxy.cc
|
| +++ b/ppapi/proxy/ppb_core_proxy.cc
|
| @@ -75,31 +75,23 @@ const PPB_Core core_interface = {
|
| &IsMainThread
|
| };
|
|
|
| -InterfaceProxy* CreateCoreProxy(Dispatcher* dispatcher,
|
| - const void* target_interface) {
|
| - return new PPB_Core_Proxy(dispatcher, target_interface);
|
| -}
|
| -
|
| } // namespace
|
|
|
| -PPB_Core_Proxy::PPB_Core_Proxy(Dispatcher* dispatcher,
|
| - const void* target_interface)
|
| - : InterfaceProxy(dispatcher, target_interface) {
|
| +PPB_Core_Proxy::PPB_Core_Proxy(Dispatcher* dispatcher)
|
| + : InterfaceProxy(dispatcher),
|
| + ppb_core_impl_(NULL) {
|
| + if (!dispatcher->IsPlugin()) {
|
| + ppb_core_impl_ = static_cast<const PPB_Core*>(
|
| + dispatcher->local_get_interface()(PPB_CORE_INTERFACE));
|
| + }
|
| }
|
|
|
| PPB_Core_Proxy::~PPB_Core_Proxy() {
|
| }
|
|
|
| // static
|
| -const InterfaceProxy::Info* PPB_Core_Proxy::GetInfo() {
|
| - static const Info info = {
|
| - &core_interface,
|
| - PPB_CORE_INTERFACE,
|
| - INTERFACE_ID_PPB_CORE,
|
| - false,
|
| - &CreateCoreProxy,
|
| - };
|
| - return &info;
|
| +const PPB_Core* PPB_Core_Proxy::GetPPB_Core_Interface() {
|
| + return &core_interface;
|
| }
|
|
|
| bool PPB_Core_Proxy::OnMessageReceived(const IPC::Message& msg) {
|
| @@ -116,11 +108,11 @@ bool PPB_Core_Proxy::OnMessageReceived(const IPC::Message& msg) {
|
| }
|
|
|
| void PPB_Core_Proxy::OnMsgAddRefResource(const HostResource& resource) {
|
| - ppb_core_target()->AddRefResource(resource.host_resource());
|
| + ppb_core_impl_->AddRefResource(resource.host_resource());
|
| }
|
|
|
| void PPB_Core_Proxy::OnMsgReleaseResource(const HostResource& resource) {
|
| - ppb_core_target()->ReleaseResource(resource.host_resource());
|
| + ppb_core_impl_->ReleaseResource(resource.host_resource());
|
| }
|
|
|
| } // namespace proxy
|
|
|