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.cc | |
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.cc')
-rw-r--r-- | ppapi/shared_impl/var.cc | 55 |
1 files changed, 43 insertions, 12 deletions
diff --git a/ppapi/shared_impl/var.cc b/ppapi/shared_impl/var.cc index 3bec5ce..60d439b 100644 --- a/ppapi/shared_impl/var.cc +++ b/ppapi/shared_impl/var.cc @@ -65,6 +65,10 @@ StringVar* Var::AsStringVar() { return NULL; } +ArrayBufferVar* Var::AsArrayBufferVar() { + return NULL; +} + NPObjectVar* Var::AsNPObjectVar() { return NULL; } @@ -73,6 +77,18 @@ ProxyObjectVar* Var::AsProxyObjectVar() { return NULL; } +PP_Var Var::GetPPVar() { + int32 id = GetOrCreateVarID(); + if (!id) + return PP_MakeNull(); + + PP_Var result; + result.type = GetType(); + result.padding = 0; + result.value.as_id = id; + return result; +} + int32 Var::GetExistingVarID() const { return var_id_; } @@ -112,18 +128,6 @@ StringVar* StringVar::AsStringVar() { return this; } -PP_Var StringVar::GetPPVar() { - int32 id = GetOrCreateVarID(); - if (!id) - return PP_MakeNull(); - - PP_Var result; - result.type = PP_VARTYPE_STRING; - result.padding = 0; - result.value.as_id = id; - return result; -} - PP_VarType StringVar::GetType() const { return PP_VARTYPE_STRING; } @@ -152,5 +156,32 @@ StringVar* StringVar::FromPPVar(PP_Var var) { return var_object->AsStringVar(); } +// ArrayBufferVar -------------------------------------------------------------- + +ArrayBufferVar::ArrayBufferVar() { +} + +ArrayBufferVar::~ArrayBufferVar() { +} + +ArrayBufferVar* ArrayBufferVar::AsArrayBufferVar() { + return this; +} + +PP_VarType ArrayBufferVar::GetType() const { + return PP_VARTYPE_ARRAY_BUFFER; +} + +// static +ArrayBufferVar* ArrayBufferVar::FromPPVar(PP_Var var) { + if (var.type != PP_VARTYPE_ARRAY_BUFFER) + return NULL; + scoped_refptr<Var> var_object( + PpapiGlobals::Get()->GetVarTracker()->GetVar(var)); + if (!var_object) + return NULL; + return var_object->AsArrayBufferVar(); +} + } // namespace ppapi |