diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-16 18:15:52 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-16 18:15:52 +0000 |
commit | 0bd753681a82634f322d4867b19148474c25566b (patch) | |
tree | 2f96cb4494c075ddee5a3e42e6b41c096a5357a9 /webkit/plugins/ppapi/ppb_buffer_impl.h | |
parent | d1d0afe664ff43825a4585f88ee8ce412eab0194 (diff) | |
download | chromium_src-0bd753681a82634f322d4867b19148474c25566b.zip chromium_src-0bd753681a82634f322d4867b19148474c25566b.tar.gz chromium_src-0bd753681a82634f322d4867b19148474c25566b.tar.bz2 |
Move the Pepper implementation from webkit/glue/plugins/pepper_* to
webkit/plugins/ppapi/*. This renamed the files and interface implementation
classes from foo.cc/Foo to ppb_foo_impl/PPB_Foo_Impl to match the proxy
ppb_foo_proxy/PPB_Foo_Proxy.
This moves plugin_switches.* from webkit/glue/plugins to webkit/plugins.
Review URL: http://codereview.chromium.org/5828003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69424 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/ppb_buffer_impl.h')
-rw-r--r-- | webkit/plugins/ppapi/ppb_buffer_impl.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/ppb_buffer_impl.h b/webkit/plugins/ppapi/ppb_buffer_impl.h new file mode 100644 index 0000000..9642e51 --- /dev/null +++ b/webkit/plugins/ppapi/ppb_buffer_impl.h @@ -0,0 +1,55 @@ +// 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. + +#ifndef WEBKIT_PLUGINS_PPAPI_PPB_BUFFER_IMPL_H_ +#define WEBKIT_PLUGINS_PPAPI_PPB_BUFFER_IMPL_H_ + +#include "base/basictypes.h" +#include "base/scoped_ptr.h" +#include "webkit/plugins/ppapi/resource.h" + +struct PPB_Buffer_Dev; + +namespace webkit { +namespace ppapi { + +class PluginInstance; + +class PPB_Buffer_Impl : public Resource { + public: + explicit PPB_Buffer_Impl(PluginModule* module); + virtual ~PPB_Buffer_Impl(); + + uint32_t size() const { return size_; } + unsigned char* mapped_buffer() { return mem_buffer_.get(); } + + // Returns true if this buffer is mapped. False means that the buffer is + // either invalid or not mapped. + bool is_mapped() const { return !!mem_buffer_.get(); } + + // Returns a pointer to the interface implementing PPB_PPB_Buffer_Impl that is + // exposed to the plugin. + static const PPB_Buffer_Dev* GetInterface(); + + // Resource overrides. + virtual PPB_Buffer_Impl* AsPPB_Buffer_Impl(); + + // PPB_PPB_Buffer_Impl implementation. + bool Init(uint32_t size); + void Describe(uint32_t* size_in_bytes) const; + void* Map(); + void Unmap(); + + private: + uint32_t size_; + scoped_array<unsigned char> mem_buffer_; + + DISALLOW_COPY_AND_ASSIGN(PPB_Buffer_Impl); +}; + +} // namespace ppapi +} // namespace webkit + +#endif // WEBKIT_PLUGINS_PPAPI_PPB_BUFFER_IMPL_H_ + |