Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Unified Diff: ppapi/shared_impl/var.cc

Issue 8930010: Implement in-process PPB_VarArrayBuffer_Dev. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some pre-review cleanup. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/shared_impl/var.cc
diff --git a/ppapi/shared_impl/var.cc b/ppapi/shared_impl/var.cc
index 3bec5ce3ade7468bef7c7ae7a9b4ec62e3c5d95a..60d439bd6b3f0099830a6a33b5e5c3c40030ac2d 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

Powered by Google App Engine
This is Rietveld 408576698