diff options
Diffstat (limited to 'ppapi/shared_impl/resource_var.cc')
-rw-r--r-- | ppapi/shared_impl/resource_var.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ppapi/shared_impl/resource_var.cc b/ppapi/shared_impl/resource_var.cc index 61709119..7936e70 100644 --- a/ppapi/shared_impl/resource_var.cc +++ b/ppapi/shared_impl/resource_var.cc @@ -4,6 +4,9 @@ #include "ppapi/shared_impl/resource_var.h" +#include "ppapi/shared_impl/ppapi_globals.h" +#include "ppapi/shared_impl/var_tracker.h" + namespace ppapi { ResourceVar::ResourceVar() : pp_resource_(0) {} @@ -21,16 +24,18 @@ ResourceVar* ResourceVar::AsResourceVar() { } PP_VarType ResourceVar::GetType() const { - // TODO(mgiuca): Return PP_VARTYPE_RESOURCE, once that is a valid enum value. - NOTREACHED(); - return PP_VARTYPE_UNDEFINED; + return PP_VARTYPE_RESOURCE; } // static ResourceVar* ResourceVar::FromPPVar(PP_Var var) { - // TODO(mgiuca): Implement this function, once PP_VARTYPE_RESOURCE is - // introduced. - return NULL; + if (var.type != PP_VARTYPE_RESOURCE) + return NULL; + scoped_refptr<Var> var_object( + PpapiGlobals::Get()->GetVarTracker()->GetVar(var)); + if (!var_object.get()) + return NULL; + return var_object->AsResourceVar(); } } // namespace ppapi |