diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-10 02:30:00 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-10 02:30:00 +0000 |
commit | 32523380fc0111a95540f5a860184d8917270375 (patch) | |
tree | 19fad940c6817d50ea5ff68aab42fb504893fa6e /webkit/plugins/ppapi/ppb_buffer_impl.cc | |
parent | 2e7617c01514a05eb6c3db651259701131e3b85a (diff) | |
download | chromium_src-32523380fc0111a95540f5a860184d8917270375.zip chromium_src-32523380fc0111a95540f5a860184d8917270375.tar.gz chromium_src-32523380fc0111a95540f5a860184d8917270375.tar.bz2 |
Implement out-of-process proxy for PPB_Buffer_Dev.
BUG=85427,85441
TEST=./ninja/ui_tests --gtest_filter=*PPAPITest.Buffer
Review URL: http://codereview.chromium.org/7108051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88630 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/ppb_buffer_impl.cc')
-rw-r--r-- | webkit/plugins/ppapi/ppb_buffer_impl.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/ppb_buffer_impl.cc b/webkit/plugins/ppapi/ppb_buffer_impl.cc index 39d3191..5c248d6 100644 --- a/webkit/plugins/ppapi/ppb_buffer_impl.cc +++ b/webkit/plugins/ppapi/ppb_buffer_impl.cc @@ -15,6 +15,7 @@ #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" using ::ppapi::thunk::PPB_Buffer_API; +using ::ppapi::thunk::PPB_BufferTrusted_API; namespace webkit { namespace ppapi { @@ -45,6 +46,10 @@ PPB_Buffer_API* PPB_Buffer_Impl::AsPPB_Buffer_API() { return this; } +PPB_BufferTrusted_API* PPB_Buffer_Impl::AsPPB_BufferTrusted_API() { + return this; +} + bool PPB_Buffer_Impl::Init(uint32_t size) { if (size == 0 || !instance()) return false; @@ -75,6 +80,18 @@ void PPB_Buffer_Impl::Unmap() { shared_memory_->Unmap(); } +int32_t PPB_Buffer_Impl::GetSharedMemory(int* shm_handle) { +#if defined(OS_POSIX) + *shm_handle = shared_memory_->handle().fd; +#elif defined(OS_WIN) + *shm_handle = reinterpret_cast<int>( + shared_memory_->handle()); +#else +#error "Platform not supported." +#endif + return PP_OK; +} + BufferAutoMapper::BufferAutoMapper(PPB_Buffer_API* api) : api_(api) { needs_unmap_ = !PP_ToBool(api->IsMapped()); data_ = api->Map(); |