7 #include "ppapi/c/dev/ppb_memory_dev.h"
8 #include "ppapi/c/dev/ppb_var_deprecated.h"
19 template <>
const char* interface_name<PPB_Var_Deprecated>() {
20 return PPB_VAR_DEPRECATED_INTERFACE;
25 using namespace deprecated;
29 if (has_interface<PPB_Var_Deprecated>()) {
30 var_ = get_interface<PPB_Var_Deprecated>()->CreateObject(
31 instance.
pp_instance(),
object->GetClass(), object);
33 var_.type = PP_VARTYPE_NULL;
42 }
else if (has_interface<PPB_Var_Deprecated>()) {
44 if (get_interface<PPB_Var_Deprecated>()->IsInstanceOf(
45 var_, ScriptableObject::GetClass(), &
object)) {
53 if (!has_interface<PPB_Var_Deprecated>())
55 return get_interface<PPB_Var_Deprecated>()->HasProperty(
60 if (!has_interface<PPB_Var_Deprecated>())
62 return get_interface<PPB_Var_Deprecated>()->HasMethod(
67 if (!has_interface<PPB_Var_Deprecated>())
69 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->GetProperty(
74 Var* exception)
const {
75 if (!has_interface<PPB_Var_Deprecated>())
78 uint32_t prop_count = 0;
79 get_interface<PPB_Var_Deprecated>()->GetAllPropertyNames(
83 properties->resize(prop_count);
84 for (uint32_t i = 0; i < prop_count; ++i) {
86 (*properties)[i] = temp;
88 const PPB_Memory_Dev* memory_if =
static_cast<const PPB_Memory_Dev*
>(
90 memory_if->MemFree(props);
95 if (!has_interface<PPB_Var_Deprecated>())
97 get_interface<PPB_Var_Deprecated>()->SetProperty(
102 if (!has_interface<PPB_Var_Deprecated>())
104 get_interface<PPB_Var_Deprecated>()->RemoveProperty(
110 if (!has_interface<PPB_Var_Deprecated>())
113 std::vector<PP_Var> args;
115 for (
size_t i = 0; i < argc; i++)
116 args.push_back(argv[i].
pp_var());
117 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
118 var_, method_name.
pp_var(), argc, &args[0],
122 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
123 var_, method_name.
pp_var(), 0, NULL,
129 Var* exception)
const {
130 if (!has_interface<PPB_Var_Deprecated>())
133 std::vector<PP_Var> args;
135 for (
size_t i = 0; i < argc; i++)
136 args.push_back(argv[i].
pp_var());
137 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Construct(
141 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Construct(
147 if (!has_interface<PPB_Var_Deprecated>())
149 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
155 if (!has_interface<PPB_Var_Deprecated>())
158 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
163 const Var& arg2,
Var* exception) {
164 if (!has_interface<PPB_Var_Deprecated>())
167 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
172 const Var& arg2,
const Var& arg3,
Var* exception) {
173 if (!has_interface<PPB_Var_Deprecated>())
176 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
181 const Var& arg2,
const Var& arg3,
const Var& arg4,
183 if (!has_interface<PPB_Var_Deprecated>())
186 return Var(
PassRef(), get_interface<PPB_Var_Deprecated>()->Call(
VarPrivate GetProperty(const Var &name, Var *exception=NULL) const
void RemoveProperty(const Var &name, Var *exception=NULL)
bool HasProperty(const Var &name, Var *exception=NULL) const
deprecated::ScriptableObject * AsScriptableObject() const
void SetProperty(const Var &name, const Var &value, Var *exception=NULL)
bool HasMethod(const Var &name, Var *exception=NULL) const
const void * GetBrowserInterface(const char *interface_name)
const PP_Var & pp_var() const
VarPrivate Construct(uint32_t argc, Var *argv, Var *exception=NULL) const
VarPrivate Call(const Var &method_name, uint32_t argc, Var *argv, Var *exception=NULL)
A generic type used for passing data types between the module and the page.
PP_Instance pp_instance() const
void GetAllPropertyNames(std::vector< Var > *properties, Var *exception=NULL) const