summaryrefslogtreecommitdiffstats
path: root/chromium/content/renderer/pepper/plugin_object.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/pepper/plugin_object.cc')
-rw-r--r--chromium/content/renderer/pepper/plugin_object.cc116
1 files changed, 63 insertions, 53 deletions
diff --git a/chromium/content/renderer/pepper/plugin_object.cc b/chromium/content/renderer/pepper/plugin_object.cc
index 55e4c6c08ec..6de7ce19efb 100644
--- a/chromium/content/renderer/pepper/plugin_object.cc
+++ b/chromium/content/renderer/pepper/plugin_object.cc
@@ -43,14 +43,14 @@ NPObject* WrapperClass_Allocate(NPP npp, NPClass* unused) {
void WrapperClass_Deallocate(NPObject* np_object) {
PluginObject* plugin_object = PluginObject::FromNPObject(np_object);
- if (!plugin_object)
- return;
- plugin_object->ppp_class()->Deallocate(plugin_object->ppp_class_data());
- delete plugin_object;
+ if (plugin_object) {
+ plugin_object->ppp_class()->Deallocate(plugin_object->ppp_class_data());
+ delete plugin_object;
+ }
+ delete np_object;
}
-void WrapperClass_Invalidate(NPObject* object) {
-}
+void WrapperClass_Invalidate(NPObject* object) {}
bool WrapperClass_HasMethod(NPObject* object, NPIdentifier method_name) {
NPObjectAccessorWithIdentifier accessor(object, method_name, false);
@@ -60,14 +60,17 @@ bool WrapperClass_HasMethod(NPObject* object, NPIdentifier method_name) {
PPResultAndExceptionToNPResult result_converter(
accessor.object()->GetNPObject(), NULL);
bool rv = accessor.object()->ppp_class()->HasMethod(
- accessor.object()->ppp_class_data(), accessor.identifier(),
+ accessor.object()->ppp_class_data(),
+ accessor.identifier(),
result_converter.exception());
result_converter.CheckExceptionForNoResult();
return rv;
}
-bool WrapperClass_Invoke(NPObject* object, NPIdentifier method_name,
- const NPVariant* argv, uint32_t argc,
+bool WrapperClass_Invoke(NPObject* object,
+ NPIdentifier method_name,
+ const NPVariant* argv,
+ uint32_t argc,
NPVariant* result) {
NPObjectAccessorWithIdentifier accessor(object, method_name, false);
if (!accessor.is_valid())
@@ -75,8 +78,7 @@ bool WrapperClass_Invoke(NPObject* object, NPIdentifier method_name,
PPResultAndExceptionToNPResult result_converter(
accessor.object()->GetNPObject(), result);
- PPVarArrayFromNPVariantArray args(accessor.object()->instance(),
- argc, argv);
+ PPVarArrayFromNPVariantArray args(accessor.object()->instance(), argc, argv);
// For the OOP plugin case we need to grab a reference on the plugin module
// object to ensure that it is not destroyed courtsey an incoming
@@ -84,13 +86,18 @@ bool WrapperClass_Invoke(NPObject* object, NPIdentifier method_name,
// dispatcher.
scoped_refptr<PluginModule> ref(accessor.object()->instance()->module());
- return result_converter.SetResult(accessor.object()->ppp_class()->Call(
- accessor.object()->ppp_class_data(), accessor.identifier(),
- argc, args.array(), result_converter.exception()));
+ return result_converter.SetResult(
+ accessor.object()->ppp_class()->Call(accessor.object()->ppp_class_data(),
+ accessor.identifier(),
+ argc,
+ args.array(),
+ result_converter.exception()));
}
-bool WrapperClass_InvokeDefault(NPObject* np_object, const NPVariant* argv,
- uint32_t argc, NPVariant* result) {
+bool WrapperClass_InvokeDefault(NPObject* np_object,
+ const NPVariant* argv,
+ uint32_t argc,
+ NPVariant* result) {
PluginObject* obj = PluginObject::FromNPObject(np_object);
if (!obj)
return false;
@@ -104,9 +111,12 @@ bool WrapperClass_InvokeDefault(NPObject* np_object, const NPVariant* argv,
// dispatcher.
scoped_refptr<PluginModule> ref(obj->instance()->module());
- result_converter.SetResult(obj->ppp_class()->Call(
- obj->ppp_class_data(), PP_MakeUndefined(), argc, args.array(),
- result_converter.exception()));
+ result_converter.SetResult(
+ obj->ppp_class()->Call(obj->ppp_class_data(),
+ PP_MakeUndefined(),
+ argc,
+ args.array(),
+ result_converter.exception()));
return result_converter.success();
}
@@ -118,13 +128,15 @@ bool WrapperClass_HasProperty(NPObject* object, NPIdentifier property_name) {
PPResultAndExceptionToNPResult result_converter(
accessor.object()->GetNPObject(), NULL);
bool rv = accessor.object()->ppp_class()->HasProperty(
- accessor.object()->ppp_class_data(), accessor.identifier(),
+ accessor.object()->ppp_class_data(),
+ accessor.identifier(),
result_converter.exception());
result_converter.CheckExceptionForNoResult();
return rv;
}
-bool WrapperClass_GetProperty(NPObject* object, NPIdentifier property_name,
+bool WrapperClass_GetProperty(NPObject* object,
+ NPIdentifier property_name,
NPVariant* result) {
NPObjectAccessorWithIdentifier accessor(object, property_name, true);
if (!accessor.is_valid())
@@ -133,11 +145,13 @@ bool WrapperClass_GetProperty(NPObject* object, NPIdentifier property_name,
PPResultAndExceptionToNPResult result_converter(
accessor.object()->GetNPObject(), result);
return result_converter.SetResult(accessor.object()->ppp_class()->GetProperty(
- accessor.object()->ppp_class_data(), accessor.identifier(),
+ accessor.object()->ppp_class_data(),
+ accessor.identifier(),
result_converter.exception()));
}
-bool WrapperClass_SetProperty(NPObject* object, NPIdentifier property_name,
+bool WrapperClass_SetProperty(NPObject* object,
+ NPIdentifier property_name,
const NPVariant* value) {
NPObjectAccessorWithIdentifier accessor(object, property_name, true);
if (!accessor.is_valid())
@@ -147,7 +161,9 @@ bool WrapperClass_SetProperty(NPObject* object, NPIdentifier property_name,
accessor.object()->GetNPObject(), NULL);
PP_Var value_var = NPVariantToPPVar(accessor.object()->instance(), value);
accessor.object()->ppp_class()->SetProperty(
- accessor.object()->ppp_class_data(), accessor.identifier(), value_var,
+ accessor.object()->ppp_class_data(),
+ accessor.identifier(),
+ value_var,
result_converter.exception());
PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(value_var);
return result_converter.CheckExceptionForNoResult();
@@ -161,12 +177,14 @@ bool WrapperClass_RemoveProperty(NPObject* object, NPIdentifier property_name) {
PPResultAndExceptionToNPResult result_converter(
accessor.object()->GetNPObject(), NULL);
accessor.object()->ppp_class()->RemoveProperty(
- accessor.object()->ppp_class_data(), accessor.identifier(),
+ accessor.object()->ppp_class_data(),
+ accessor.identifier(),
result_converter.exception());
return result_converter.CheckExceptionForNoResult();
}
-bool WrapperClass_Enumerate(NPObject* object, NPIdentifier** values,
+bool WrapperClass_Enumerate(NPObject* object,
+ NPIdentifier** values,
uint32_t* count) {
*values = NULL;
*count = 0;
@@ -178,7 +196,8 @@ bool WrapperClass_Enumerate(NPObject* object, NPIdentifier** values,
PP_Var* properties = NULL; // Must be freed!
PPResultAndExceptionToNPResult result_converter(obj->GetNPObject(), NULL);
obj->ppp_class()->GetAllPropertyNames(obj->ppp_class_data(),
- &property_count, &properties,
+ &property_count,
+ &properties,
result_converter.exception());
// Convert the array of PP_Var to an array of NPIdentifiers. If any
@@ -186,7 +205,7 @@ bool WrapperClass_Enumerate(NPObject* object, NPIdentifier** values,
if (!result_converter.has_exception()) {
if (property_count > 0) {
*values = static_cast<NPIdentifier*>(
- malloc(sizeof(NPIdentifier) * property_count));
+ calloc(property_count, sizeof(NPIdentifier)));
*count = 0; // Will be the number of items successfully converted.
for (uint32_t i = 0; i < property_count; ++i) {
if (!((*values)[i] = PPVarToNPIdentifier(properties[i]))) {
@@ -221,8 +240,10 @@ bool WrapperClass_Enumerate(NPObject* object, NPIdentifier** values,
return result_converter.success();
}
-bool WrapperClass_Construct(NPObject* object, const NPVariant* argv,
- uint32_t argc, NPVariant* result) {
+bool WrapperClass_Construct(NPObject* object,
+ const NPVariant* argv,
+ uint32_t argc,
+ NPVariant* result) {
PluginObject* obj = PluginObject::FromNPObject(object);
if (!obj)
return false;
@@ -230,25 +251,17 @@ bool WrapperClass_Construct(NPObject* object, const NPVariant* argv,
PPVarArrayFromNPVariantArray args(obj->instance(), argc, argv);
PPResultAndExceptionToNPResult result_converter(obj->GetNPObject(), result);
return result_converter.SetResult(obj->ppp_class()->Construct(
- obj->ppp_class_data(), argc, args.array(),
- result_converter.exception()));
+ obj->ppp_class_data(), argc, args.array(), result_converter.exception()));
}
const NPClass wrapper_class = {
- NP_CLASS_STRUCT_VERSION,
- WrapperClass_Allocate,
- WrapperClass_Deallocate,
- WrapperClass_Invalidate,
- WrapperClass_HasMethod,
- WrapperClass_Invoke,
- WrapperClass_InvokeDefault,
- WrapperClass_HasProperty,
- WrapperClass_GetProperty,
- WrapperClass_SetProperty,
- WrapperClass_RemoveProperty,
- WrapperClass_Enumerate,
- WrapperClass_Construct
-};
+ NP_CLASS_STRUCT_VERSION, WrapperClass_Allocate,
+ WrapperClass_Deallocate, WrapperClass_Invalidate,
+ WrapperClass_HasMethod, WrapperClass_Invoke,
+ WrapperClass_InvokeDefault, WrapperClass_HasProperty,
+ WrapperClass_GetProperty, WrapperClass_SetProperty,
+ WrapperClass_RemoveProperty, WrapperClass_Enumerate,
+ WrapperClass_Construct};
} // namespace
@@ -293,9 +306,9 @@ PP_Var PluginObject::Create(PepperPluginInstanceImpl* instance,
// This will internally end up calling our AllocateObjectWrapper via the
// WrapperClass_Allocated function which will have created an object wrapper
// appropriate for this class (derived from NPObject).
- NPObjectWrapper* wrapper = static_cast<NPObjectWrapper*>(
- WebBindings::createObject(instance->instanceNPP(),
- const_cast<NPClass*>(&wrapper_class)));
+ NPObjectWrapper* wrapper =
+ static_cast<NPObjectWrapper*>(WebBindings::createObject(
+ instance->instanceNPP(), const_cast<NPClass*>(&wrapper_class)));
// This object will register itself both with the NPObject and with the
// PluginModule. The NPObject will normally handle its lifetime, and it
@@ -316,9 +329,7 @@ PP_Var PluginObject::Create(PepperPluginInstanceImpl* instance,
return obj_var;
}
-NPObject* PluginObject::GetNPObject() const {
- return object_wrapper_;
-}
+NPObject* PluginObject::GetNPObject() const { return object_wrapper_; }
// static
bool PluginObject::IsInstanceOf(NPObject* np_object,
@@ -353,4 +364,3 @@ NPObject* PluginObject::AllocateObjectWrapper() {
}
} // namespace content
-