Index: ppapi/shared_impl/var.cc |
diff --git a/ppapi/shared_impl/var.cc b/ppapi/shared_impl/var.cc |
index 3bec5ce3ade7468bef7c7ae7a9b4ec62e3c5d95a..ecfb71484678dadcfff8558891fc5beeff3ed096 100644 |
--- a/ppapi/shared_impl/var.cc |
+++ b/ppapi/shared_impl/var.cc |
@@ -99,13 +99,17 @@ void Var::AssignVarID(int32 id) { |
StringVar::StringVar(const std::string& str) |
: value_(str) { |
+ GetOrCreateVarID(); |
} |
StringVar::StringVar(const char* str, uint32 len) |
: value_(str, len) { |
+ GetOrCreateVarID(); |
dmichael (off chromium)
2011/12/12 18:28:50
I think we shouldn't have this ref-count here. If
|
} |
StringVar::~StringVar() { |
+ VarTracker* tracker = PpapiGlobals::Get()->GetVarTracker(); |
+ tracker->ReleaseVar(GetExistingVarID()); |
} |
StringVar* StringVar::AsStringVar() { |
@@ -113,7 +117,7 @@ StringVar* StringVar::AsStringVar() { |
} |
PP_Var StringVar::GetPPVar() { |
- int32 id = GetOrCreateVarID(); |
+ int32 id = GetExistingVarID(); |
if (!id) |
return PP_MakeNull(); |
@@ -153,4 +157,3 @@ StringVar* StringVar::FromPPVar(PP_Var var) { |
} |
} // namespace ppapi |
- |