diff options
author | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 21:22:31 +0000 |
---|---|---|
committer | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 21:22:31 +0000 |
commit | 8cc26a4c78767feaf47fa94af34471d63e3596e5 (patch) | |
tree | 24399869b26449df2a6a838796941c984106f4b2 /ppapi/shared_impl/var_tracker.h | |
parent | b40a1f1acb4d3fa0c56a3706dd47a2ca8d471834 (diff) | |
download | chromium_src-8cc26a4c78767feaf47fa94af34471d63e3596e5.zip chromium_src-8cc26a4c78767feaf47fa94af34471d63e3596e5.tar.gz chromium_src-8cc26a4c78767feaf47fa94af34471d63e3596e5.tar.bz2 |
Implement in-process PPB_VarArrayBuffer_Dev.
+tony TBR for webkit/glue/webkit_glue.gypi
BUG=103435
TEST=N/A
TBR=tony
Review URL: http://codereview.chromium.org/8930010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114700 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/var_tracker.h')
-rw-r--r-- | ppapi/shared_impl/var_tracker.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ppapi/shared_impl/var_tracker.h b/ppapi/shared_impl/var_tracker.h index f91c209..a2debe0 100644 --- a/ppapi/shared_impl/var_tracker.h +++ b/ppapi/shared_impl/var_tracker.h @@ -8,11 +8,13 @@ #include "base/basictypes.h" #include "base/hash_tables.h" #include "base/memory/ref_counted.h" +#include "ppapi/c/pp_module.h" #include "ppapi/c/pp_var.h" #include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { +class ArrayBufferVar; class Var; // Tracks non-POD (refcounted) var objects held by a plugin. @@ -54,6 +56,10 @@ class PPAPI_SHARED_EXPORT VarTracker { bool ReleaseVar(int32 var_id); bool ReleaseVar(const PP_Var& var); + // Create a new array buffer of size |size_in_bytes|. Return a PP_Var that + // that references it and has an initial reference-count of 1. + PP_Var MakeArrayBufferPPVar(uint32 size_in_bytes); + protected: struct VarInfo { VarInfo(); @@ -126,6 +132,12 @@ class PPAPI_SHARED_EXPORT VarTracker { // Last assigned var ID. int32 last_var_id_; + private: + // Create and return a new ArrayBufferVar size_in_bytes bytes long. This is + // implemented by the Host and Plugin tracker separately, so that it can be + // a real WebKit ArrayBuffer on the host side. + virtual ArrayBufferVar* CreateArrayBuffer(uint32 size_in_bytes) = 0; + DISALLOW_COPY_AND_ASSIGN(VarTracker); }; |