Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(499)

Unified Diff: webkit/glue/plugins/pepper_var.cc

Issue 4310002: Make PPAPI headers compile with C compilers (gcc on Linux & Mac and MSVS on W... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/glue/plugins/pepper_url_util.cc ('k') | webkit/glue/plugins/pepper_video_decoder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/plugins/pepper_var.cc
===================================================================
--- webkit/glue/plugins/pepper_var.cc (revision 65116)
+++ webkit/glue/plugins/pepper_var.cc (working copy)
@@ -13,6 +13,7 @@
#include "ppapi/c/ppb_var.h"
#include "ppapi/c/pp_var.h"
#include "third_party/WebKit/WebKit/chromium/public/WebBindings.h"
+#include "webkit/glue/plugins/pepper_common.h"
#include "webkit/glue/plugins/pepper_plugin_instance.h"
#include "webkit/glue/plugins/pepper_plugin_module.h"
#include "webkit/glue/plugins/pepper_plugin_object.h"
@@ -297,20 +298,24 @@
return result;
}
+PP_Var BoolToPPVar(bool value) {
+ return PP_MakeBool(BoolToPPBool(value));
+}
+
void DefineProperty(struct PP_Var object,
struct PP_ObjectProperty property,
PP_Var* exception) {
PP_Var params[] = {
object, property.name,
- PP_MakeBool(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_HASVALUE)),
+ BoolToPPVar(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_HASVALUE)),
property.value,
- PP_MakeBool(property.getter.type == PP_VARTYPE_OBJECT),
+ BoolToPPVar(property.getter.type == PP_VARTYPE_OBJECT),
property.getter,
- PP_MakeBool(property.setter.type == PP_VARTYPE_OBJECT),
+ BoolToPPVar(property.setter.type == PP_VARTYPE_OBJECT),
property.setter,
- PP_MakeBool(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_READONLY)),
- PP_MakeBool(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_DONTDELETE)),
- PP_MakeBool(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_DONTENUM))
+ BoolToPPVar(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_READONLY)),
+ BoolToPPVar(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_DONTDELETE)),
+ BoolToPPVar(!!(property.modifiers & PP_OBJECTPROPERTY_MODIFIER_DONTENUM))
};
RunJSFunction(object,
@@ -329,16 +334,23 @@
params, sizeof(params) / sizeof(PP_Var), exception);
}
-bool HasProperty(PP_Var var,
- PP_Var name,
- PP_Var* exception) {
+PP_Bool HasProperty(PP_Var var,
+ PP_Var name,
+ PP_Var* exception) {
ObjectAccessorWithIdentifierTryCatch accessor(var, name, exception);
if (accessor.has_exception())
- return false;
- return WebBindings::hasProperty(NULL, accessor.object()->np_object(),
- accessor.identifier());
+ return PP_FALSE;
+ return BoolToPPBool(WebBindings::hasProperty(NULL,
+ accessor.object()->np_object(),
+ accessor.identifier()));
}
+bool HasPropertyDeprecated(PP_Var var,
+ PP_Var name,
+ PP_Var* exception) {
+ return PPBoolToBool(HasProperty(var, name, exception));
+}
+
bool HasMethodDeprecated(PP_Var var,
PP_Var name,
PP_Var* exception) {
@@ -418,15 +430,17 @@
accessor.SetException(kUnableToSetPropertyException);
}
-bool DeleteProperty(PP_Var var,
- PP_Var name,
- PP_Var* exception) {
+PP_Bool DeleteProperty(PP_Var var,
+ PP_Var name,
+ PP_Var* exception) {
ObjectAccessorWithIdentifierTryCatch accessor(var, name, exception);
if (accessor.has_exception())
- return false;
+ return PP_FALSE;
- return WebBindings::removeProperty(NULL, accessor.object()->np_object(),
- accessor.identifier());
+ return BoolToPPBool(
+ WebBindings::removeProperty(NULL,
+ accessor.object()->np_object(),
+ accessor.identifier()));
}
void DeletePropertyDeprecated(PP_Var var,
@@ -441,10 +455,12 @@
accessor.SetException(kUnableToRemovePropertyException);
}
-bool IsCallable(struct PP_Var object) {
+PP_Bool IsCallable(struct PP_Var object) {
PP_Var result = RunJSFunction(object,
"(function() { return typeof(this) == 'function' })", NULL, 0, NULL);
- return result.type == PP_VARTYPE_BOOL && result.value.as_bool;
+ if (result.type == PP_VARTYPE_BOOL)
+ return result.value.as_bool;
+ return PP_FALSE;
}
struct PP_Var Call(struct PP_Var object,
@@ -597,7 +613,7 @@
&Var::PluginReleasePPVar,
&VarFromUtf8,
&VarToUtf8,
- &HasProperty,
+ &HasPropertyDeprecated,
&HasMethodDeprecated,
&GetProperty,
&EnumerateProperties,
@@ -644,7 +660,7 @@
case NPVariantType_Null:
return PP_MakeNull();
case NPVariantType_Bool:
- return PP_MakeBool(NPVARIANT_TO_BOOLEAN(*variant));
+ return BoolToPPVar(NPVARIANT_TO_BOOLEAN(*variant));
case NPVariantType_Int32:
return PP_MakeInt32(NPVARIANT_TO_INT32(*variant));
case NPVariantType_Double:
« no previous file with comments | « webkit/glue/plugins/pepper_url_util.cc ('k') | webkit/glue/plugins/pepper_video_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698