Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1271)

Unified Diff: webkit/plugins/ppapi/ppb_buffer_impl.cc

Issue 20165002: Move webkit/plugins/ppapi to content/renderer/pepper. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: more more clang fun Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/plugins/ppapi/ppb_buffer_impl.h ('k') | webkit/plugins/ppapi/ppb_file_ref_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppb_buffer_impl.cc
===================================================================
--- webkit/plugins/ppapi/ppb_buffer_impl.cc (revision 213561)
+++ webkit/plugins/ppapi/ppb_buffer_impl.cc (working copy)
@@ -1,113 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/plugins/ppapi/ppb_buffer_impl.h"
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "ppapi/c/dev/ppb_buffer_dev.h"
-#include "ppapi/c/pp_instance.h"
-#include "ppapi/c/pp_resource.h"
-#include "webkit/plugins/ppapi/common.h"
-#include "webkit/plugins/ppapi/plugin_delegate.h"
-#include "webkit/plugins/ppapi/resource_helper.h"
-
-using ::ppapi::thunk::PPB_Buffer_API;
-
-namespace webkit {
-namespace ppapi {
-
-PPB_Buffer_Impl::PPB_Buffer_Impl(PP_Instance instance)
- : Resource(::ppapi::OBJECT_IS_IMPL, instance),
- size_(0),
- map_count_(0) {
-}
-
-PPB_Buffer_Impl::~PPB_Buffer_Impl() {
-}
-
-// static
-PP_Resource PPB_Buffer_Impl::Create(PP_Instance instance, uint32_t size) {
- scoped_refptr<PPB_Buffer_Impl> new_resource(CreateResource(instance, size));
- if (new_resource.get())
- return new_resource->GetReference();
- return 0;
-}
-
-// static
-scoped_refptr<PPB_Buffer_Impl> PPB_Buffer_Impl::CreateResource(
- PP_Instance instance,
- uint32_t size) {
- scoped_refptr<PPB_Buffer_Impl> buffer(new PPB_Buffer_Impl(instance));
- if (!buffer->Init(size))
- return scoped_refptr<PPB_Buffer_Impl>();
- return buffer;
-}
-
-PPB_Buffer_Impl* PPB_Buffer_Impl::AsPPB_Buffer_Impl() {
- return this;
-}
-
-PPB_Buffer_API* PPB_Buffer_Impl::AsPPB_Buffer_API() {
- return this;
-}
-
-bool PPB_Buffer_Impl::Init(uint32_t size) {
- PluginDelegate* plugin_delegate = ResourceHelper::GetPluginDelegate(this);
- if (size == 0 || !plugin_delegate)
- return false;
- size_ = size;
- shared_memory_.reset(plugin_delegate->CreateAnonymousSharedMemory(size));
- return shared_memory_.get() != NULL;
-}
-
-PP_Bool PPB_Buffer_Impl::Describe(uint32_t* size_in_bytes) {
- *size_in_bytes = size_;
- return PP_TRUE;
-}
-
-PP_Bool PPB_Buffer_Impl::IsMapped() {
- return PP_FromBool(!!shared_memory_->memory());
-}
-
-void* PPB_Buffer_Impl::Map() {
- DCHECK(size_);
- DCHECK(shared_memory_.get());
- if (map_count_++ == 0)
- shared_memory_->Map(size_);
- return shared_memory_->memory();
-}
-
-void PPB_Buffer_Impl::Unmap() {
- if (--map_count_ == 0)
- 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();
- api->Describe(&size_);
-}
-
-BufferAutoMapper::~BufferAutoMapper() {
- if (needs_unmap_)
- api_->Unmap();
-}
-
-} // namespace ppapi
-} // namespace webkit
« no previous file with comments | « webkit/plugins/ppapi/ppb_buffer_impl.h ('k') | webkit/plugins/ppapi/ppb_file_ref_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698