summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_buffer_impl.h
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-16 18:15:52 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-16 18:15:52 +0000
commit0bd753681a82634f322d4867b19148474c25566b (patch)
tree2f96cb4494c075ddee5a3e42e6b41c096a5357a9 /webkit/plugins/ppapi/ppb_buffer_impl.h
parentd1d0afe664ff43825a4585f88ee8ce412eab0194 (diff)
downloadchromium_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.h55
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_
+