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

Unified Diff: ppapi/shared_impl/resource_var.cc

Issue 23809016: [PPAPI] ResourceVar now reference counts its PP_Resource in the plugin. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Use a ScopedPPResource instead of PP_Resource. Created 7 years, 3 months 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/resource_var.cc
diff --git a/ppapi/shared_impl/resource_var.cc b/ppapi/shared_impl/resource_var.cc
index c5719aa6477880ce260447cba65bbb1402c18ec1..d5872e3f095e650146ee02476456409a61cd25ca 100644
--- a/ppapi/shared_impl/resource_var.cc
+++ b/ppapi/shared_impl/resource_var.cc
@@ -9,18 +9,10 @@
namespace ppapi {
-ResourceVar::ResourceVar() : pp_resource_(0) {}
+// ResourceVar
-ResourceVar::ResourceVar(PP_Resource pp_resource) : pp_resource_(pp_resource) {}
-
-ResourceVar::ResourceVar(const IPC::Message& creation_message)
- : pp_resource_(0),
- creation_message_(creation_message) {}
-
-ResourceVar::~ResourceVar() {}
-
-bool ResourceVar::IsPending() const {
- return pp_resource_ == 0 && creation_message_.type() != 0;
+HostResourceVar* ResourceVar::AsHostResourceVar() {
+ return NULL;
}
ResourceVar* ResourceVar::AsResourceVar() {
@@ -42,4 +34,48 @@ ResourceVar* ResourceVar::FromPPVar(PP_Var var) {
return var_object->AsResourceVar();
}
+ResourceVar::ResourceVar() {}
+
+// HostResourceVar
+
+HostResourceVar::HostResourceVar() : pp_resource_(0) {}
+
+HostResourceVar::HostResourceVar(PP_Resource pp_resource)
+ : pp_resource_(pp_resource) {}
+
+HostResourceVar::HostResourceVar(const IPC::Message& creation_message)
+ : pp_resource_(0),
+ creation_message_(creation_message) {}
+
+HostResourceVar::~HostResourceVar() {}
+
+PP_Resource HostResourceVar::pp_resource() const {
+ return pp_resource_;
+}
+
+bool HostResourceVar::IsPending() const {
+ return pp_resource_ == 0 && creation_message_.type() != 0;
+}
+
+HostResourceVar* HostResourceVar::AsHostResourceVar() {
+ return this;
+}
+
+// PluginResourceVar
+
+PluginResourceVar::PluginResourceVar() : pp_resource_(0) {}
+
+PluginResourceVar::PluginResourceVar(PP_Resource pp_resource)
+ : pp_resource_(pp_resource) {}
+
+PluginResourceVar::~PluginResourceVar() {}
+
+PP_Resource PluginResourceVar::pp_resource() const {
+ return pp_resource_;
+}
+
+bool PluginResourceVar::IsPending() const {
+ return false;
+}
+
} // namespace ppapi

Powered by Google App Engine
This is Rietveld 408576698