| Index: webkit/glue/plugins/pepper_buffer.cc
|
| ===================================================================
|
| --- webkit/glue/plugins/pepper_buffer.cc (revision 69381)
|
| +++ webkit/glue/plugins/pepper_buffer.cc (working copy)
|
| @@ -1,119 +0,0 @@
|
| -// Copyright (c) 2010 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/glue/plugins/pepper_buffer.h"
|
| -
|
| -#include <algorithm>
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/scoped_ptr.h"
|
| -#include "ppapi/c/dev/ppb_buffer_dev.h"
|
| -#include "ppapi/c/pp_instance.h"
|
| -#include "ppapi/c/pp_module.h"
|
| -#include "ppapi/c/pp_resource.h"
|
| -#include "webkit/glue/plugins/pepper_common.h"
|
| -#include "webkit/glue/plugins/pepper_plugin_instance.h"
|
| -#include "webkit/glue/plugins/pepper_plugin_module.h"
|
| -
|
| -namespace pepper {
|
| -
|
| -namespace {
|
| -
|
| -PP_Resource Create(PP_Module module_id, uint32_t size) {
|
| - PluginModule* module = ResourceTracker::Get()->GetModule(module_id);
|
| - if (!module)
|
| - return 0;
|
| -
|
| - scoped_refptr<Buffer> buffer(new Buffer(module));
|
| - if (!buffer->Init(size))
|
| - return 0;
|
| -
|
| - return buffer->GetReference();
|
| -}
|
| -
|
| -PP_Bool IsBuffer(PP_Resource resource) {
|
| - return BoolToPPBool(!!Resource::GetAs<Buffer>(resource));
|
| -}
|
| -
|
| -PP_Bool Describe(PP_Resource resource, uint32_t* size_in_bytes) {
|
| - scoped_refptr<Buffer> buffer(Resource::GetAs<Buffer>(resource));
|
| - if (!buffer)
|
| - return PP_FALSE;
|
| - buffer->Describe(size_in_bytes);
|
| - return PP_TRUE;
|
| -}
|
| -
|
| -void* Map(PP_Resource resource) {
|
| - scoped_refptr<Buffer> buffer(Resource::GetAs<Buffer>(resource));
|
| - if (!buffer)
|
| - return NULL;
|
| - return buffer->Map();
|
| -}
|
| -
|
| -void Unmap(PP_Resource resource) {
|
| - scoped_refptr<Buffer> buffer(Resource::GetAs<Buffer>(resource));
|
| - if (!buffer)
|
| - return;
|
| - return buffer->Unmap();
|
| -}
|
| -
|
| -const PPB_Buffer_Dev ppb_buffer = {
|
| - &Create,
|
| - &IsBuffer,
|
| - &Describe,
|
| - &Map,
|
| - &Unmap,
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -Buffer::Buffer(PluginModule* module)
|
| - : Resource(module),
|
| - size_(0) {
|
| -}
|
| -
|
| -Buffer::~Buffer() {
|
| -}
|
| -
|
| -// static
|
| -const PPB_Buffer_Dev* Buffer::GetInterface() {
|
| - return &ppb_buffer;
|
| -}
|
| -
|
| -Buffer* Buffer::AsBuffer() { return this; }
|
| -
|
| -bool Buffer::Init(uint32_t size) {
|
| - if (size == 0)
|
| - return false;
|
| - Unmap();
|
| - size_ = size;
|
| - return true;
|
| -}
|
| -
|
| -void Buffer::Describe(uint32_t* size_in_bytes) const {
|
| - *size_in_bytes = size_;
|
| -}
|
| -
|
| -void* Buffer::Map() {
|
| - if (size_ == 0)
|
| - return NULL;
|
| -
|
| - if (!is_mapped()) {
|
| - mem_buffer_.reset(new unsigned char[size_]);
|
| - memset(mem_buffer_.get(), 0, size_);
|
| - }
|
| - return mem_buffer_.get();
|
| -}
|
| -
|
| -void Buffer::Unmap() {
|
| - mem_buffer_.reset();
|
| -}
|
| -
|
| -void Buffer::Swap(Buffer* other) {
|
| - swap(other->mem_buffer_, mem_buffer_);
|
| - std::swap(other->size_, size_);
|
| -}
|
| -
|
| -} // namespace pepper
|
| -
|
|
|