| Index: ppapi/proxy/ppb_buffer_proxy.cc
|
| diff --git a/ppapi/proxy/ppb_buffer_proxy.cc b/ppapi/proxy/ppb_buffer_proxy.cc
|
| index d9092fe4f688acfffcebc8332c471989658608f7..957108a4e5f01f1e486d32bc3a14b1067a9e9d07 100644
|
| --- a/ppapi/proxy/ppb_buffer_proxy.cc
|
| +++ b/ppapi/proxy/ppb_buffer_proxy.cc
|
| @@ -17,20 +17,12 @@
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| #include "ppapi/thunk/enter.h"
|
| #include "ppapi/thunk/ppb_buffer_trusted_api.h"
|
| +#include "ppapi/thunk/resource_creation_api.h"
|
| #include "ppapi/thunk/thunk.h"
|
|
|
| namespace ppapi {
|
| namespace proxy {
|
|
|
| -namespace {
|
| -
|
| -InterfaceProxy* CreateBufferProxy(Dispatcher* dispatcher,
|
| - const void* target_interface) {
|
| - return new PPB_Buffer_Proxy(dispatcher, target_interface);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| Buffer::Buffer(const HostResource& resource,
|
| const base::SharedMemoryHandle& shm_handle,
|
| uint32_t size)
|
| @@ -69,27 +61,14 @@ void Buffer::Unmap() {
|
| shm_.Unmap();
|
| }
|
|
|
| -PPB_Buffer_Proxy::PPB_Buffer_Proxy(Dispatcher* dispatcher,
|
| - const void* target_interface)
|
| - : InterfaceProxy(dispatcher, target_interface) {
|
| +PPB_Buffer_Proxy::PPB_Buffer_Proxy(Dispatcher* dispatcher)
|
| + : InterfaceProxy(dispatcher) {
|
| }
|
|
|
| PPB_Buffer_Proxy::~PPB_Buffer_Proxy() {
|
| }
|
|
|
| // static
|
| -const InterfaceProxy::Info* PPB_Buffer_Proxy::GetInfo() {
|
| - static const Info info = {
|
| - thunk::GetPPB_Buffer_Thunk(),
|
| - PPB_BUFFER_DEV_INTERFACE,
|
| - INTERFACE_ID_PPB_BUFFER,
|
| - false,
|
| - &CreateBufferProxy,
|
| - };
|
| - return &info;
|
| -}
|
| -
|
| -// static
|
| PP_Resource PPB_Buffer_Proxy::CreateProxyResource(PP_Instance instance,
|
| uint32_t size) {
|
| PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
|
| @@ -135,10 +114,15 @@ void PPB_Buffer_Proxy::OnMsgCreate(
|
| HostDispatcher* dispatcher = HostDispatcher::GetForInstance(instance);
|
| if (!dispatcher)
|
| return;
|
| - PP_Resource local_buffer_resource =
|
| - ppb_buffer_target()->Create(instance, size);
|
| +
|
| + thunk::EnterResourceCreation enter(instance);
|
| + if (enter.failed())
|
| + return;
|
| + PP_Resource local_buffer_resource = enter.functions()->CreateBuffer(instance,
|
| + size);
|
| if (local_buffer_resource == 0)
|
| return;
|
| +
|
| thunk::EnterResourceNoLock<thunk::PPB_BufferTrusted_API> trusted_buffer(
|
| local_buffer_resource, false);
|
| if (trusted_buffer.failed())
|
|
|