summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 05:43:45 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 05:43:45 +0000
commit01522ebfe235f7a205350a31edf317659ef6ce1f (patch)
treeecb1be91af1d7c498834e4109676b4bf4072cf94 /webkit
parent267b87c0aa32347450700654e54a5ce620ad2112 (diff)
downloadchromium_src-01522ebfe235f7a205350a31edf317659ef6ce1f.zip
chromium_src-01522ebfe235f7a205350a31edf317659ef6ce1f.tar.gz
chromium_src-01522ebfe235f7a205350a31edf317659ef6ce1f.tar.bz2
Pull latest PPAPI with some cleanup, update the var interface to reflect the
changes. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51832 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/plugins/pepper_var.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/webkit/glue/plugins/pepper_var.cc b/webkit/glue/plugins/pepper_var.cc
index bb2d885..4360b9b 100644
--- a/webkit/glue/plugins/pepper_var.cc
+++ b/webkit/glue/plugins/pepper_var.cc
@@ -687,7 +687,7 @@ void RemoveProperty(PP_Var var,
PP_Var Call(PP_Var var,
PP_Var method_name,
- int32_t argc,
+ uint32_t argc,
PP_Var* argv,
PP_Var* exception) {
TryCatch try_catch(exception);
@@ -703,18 +703,22 @@ PP_Var Call(PP_Var var,
NPIdentifier identifier;
if (method_name.type == PP_VarType_Void) {
identifier = NULL;
- } else {
+ } else if (method_name.type == PP_VarType_String) {
+ // Specifically allow only string functions to be called.
identifier = PPVarToNPIdentifier(method_name);
if (!identifier) {
try_catch.SetException(kInvalidPropertyException);
return PP_MakeVoid();
}
+ } else {
+ try_catch.SetException(kInvalidPropertyException);
+ return PP_MakeVoid();
}
scoped_array<NPVariant> args;
if (argc) {
args.reset(new NPVariant[argc]);
- for (int32_t i = 0; i < argc; ++i)
+ for (uint32_t i = 0; i < argc; ++i)
args[i] = PPVarToNPVariantNoCopy(argv[i]);
}
@@ -741,7 +745,7 @@ PP_Var Call(PP_Var var,
}
PP_Var Construct(PP_Var var,
- int32_t argc,
+ uint32_t argc,
PP_Var* argv,
PP_Var* exception) {
TryCatch try_catch(exception);
@@ -757,7 +761,7 @@ PP_Var Construct(PP_Var var,
scoped_array<NPVariant> args;
if (argc) {
args.reset(new NPVariant[argc]);
- for (int32_t i = 0; i < argc; ++i)
+ for (uint32_t i = 0; i < argc; ++i)
args[i] = PPVarToNPVariantNoCopy(argv[i]);
}