Import Cobalt 4.13153
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
index a0e4bc7..9a486e9 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
@@ -287,10 +287,8 @@
object, base::GetTypeId<AnonymousIndexedGetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
index d763c55..0d132c4 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
@@ -378,10 +378,8 @@
object, base::GetTypeId<AnonymousNamedIndexedGetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
index 7e28810..20bae1a 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<ArbitraryInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -258,6 +256,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<ArbitraryInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
index b6d7b8c..c6f9524 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<BaseInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -236,6 +234,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<BaseInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
index 0ef0a1b..67e7e5f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
@@ -196,10 +196,8 @@
object, base::GetTypeId<BooleanTypeTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -256,6 +254,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<BooleanTypeTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -302,6 +309,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<BooleanTypeTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
index 3a7967e..8ebf68c 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
@@ -200,10 +200,8 @@
object, base::GetTypeId<CallbackFunctionInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -255,10 +253,8 @@
object, base::GetTypeId<CallbackFunctionInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -315,6 +311,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackFunctionInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -361,6 +366,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackFunctionInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -407,6 +421,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackFunctionInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -453,6 +476,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackFunctionInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -499,6 +531,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackFunctionInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
index d43b8d1..e510b12 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
@@ -200,10 +200,8 @@
object, base::GetTypeId<CallbackInterfaceInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -260,6 +258,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackInterfaceInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -306,6 +313,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<CallbackInterfaceInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
index 19ec00c..12fda2f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
@@ -199,10 +199,8 @@
object, base::GetTypeId<ConditionalInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -256,10 +254,8 @@
object, base::GetTypeId<ConditionalInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -318,6 +314,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<ConditionalInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -348,6 +353,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<ConditionalInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
index dc0902e..756c696 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<ConstructorWithArgumentsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -231,10 +229,8 @@
object, base::GetTypeId<ConstructorWithArgumentsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -264,10 +260,8 @@
object, base::GetTypeId<ConstructorWithArgumentsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
index 841f7a8..4524287 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
@@ -196,10 +196,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -251,10 +249,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -284,10 +280,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -317,10 +311,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -372,10 +364,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -427,10 +417,8 @@
object, base::GetTypeId<DOMStringTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
index 9814942..286e8b8 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
@@ -378,10 +378,8 @@
object, base::GetTypeId<DerivedGetterSetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -411,10 +409,8 @@
object, base::GetTypeId<DerivedGetterSetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -471,6 +467,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<DerivedGetterSetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -523,6 +528,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<DerivedGetterSetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -581,6 +595,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<DerivedGetterSetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
index bcb9fda..5e26084 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<DerivedInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -236,6 +234,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<DerivedInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
index 28cbd52..5fb88e5 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<DisabledInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -258,6 +256,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<DisabledInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
index 871154e..ea07296 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
@@ -207,10 +207,8 @@
object, base::GetTypeId<EnumerationInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
index 3a99fe0..d9f10ef 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
@@ -197,10 +197,8 @@
object, base::GetTypeId<ExceptionObjectInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -230,10 +228,8 @@
object, base::GetTypeId<ExceptionObjectInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
index 8eb1363..b23ae9f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
@@ -198,10 +198,8 @@
object, base::GetTypeId<ExceptionsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -258,6 +256,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<ExceptionsInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
index c98193f..e197c87 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
@@ -201,6 +201,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<ExtendedIDLAttributesInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
index fe27347..df1b224 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
@@ -209,10 +209,8 @@
object, base::GetTypeId<GarbageCollectionTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -264,10 +262,8 @@
object, base::GetTypeId<GarbageCollectionTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
index d742500..a0ddac4 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
@@ -201,6 +201,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<GlobalInterfaceParent>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
index e62a360..66f6497 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
@@ -302,10 +302,8 @@
object, base::GetTypeId<IndexedGetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -340,6 +338,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<IndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -386,6 +393,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<IndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -438,6 +454,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<IndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
index 3612e1c..56ad080 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
@@ -196,10 +196,8 @@
object, base::GetTypeId<InterfaceWithUnsupportedProperties>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
index 918f252..51f1f54 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
@@ -307,6 +307,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -353,6 +362,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -405,6 +423,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
index 72d99fc..b1d1234 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
@@ -378,10 +378,8 @@
object, base::GetTypeId<NamedIndexedGetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -411,10 +409,8 @@
object, base::GetTypeId<NamedIndexedGetterInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -471,6 +467,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedIndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -523,6 +528,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedIndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -581,6 +595,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedIndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -633,6 +656,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedIndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -691,6 +723,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NamedIndexedGetterInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
index d283446..c7945ee 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
@@ -200,10 +200,8 @@
object, base::GetTypeId<NestedPutForwardsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
index 2580dfc..a2d5622 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
@@ -200,10 +200,8 @@
object, base::GetTypeId<NullableTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -255,10 +253,8 @@
object, base::GetTypeId<NullableTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -310,10 +306,8 @@
object, base::GetTypeId<NullableTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -365,10 +359,8 @@
object, base::GetTypeId<NullableTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -425,6 +417,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -471,6 +472,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -505,6 +515,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -551,6 +570,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -585,6 +613,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -631,6 +668,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -665,6 +711,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -711,6 +766,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NullableTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
index 772085f..c64b5d9 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
@@ -196,10 +196,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -251,10 +249,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -306,10 +302,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -361,10 +355,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -416,10 +408,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -471,10 +461,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -526,10 +514,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -581,10 +567,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -636,10 +620,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -691,10 +673,8 @@
object, base::GetTypeId<NumericTypesTestInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -751,6 +731,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -797,6 +786,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -831,6 +829,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -877,6 +884,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -911,6 +927,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -957,6 +982,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1003,6 +1037,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1037,6 +1080,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1071,6 +1123,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1117,6 +1178,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1151,6 +1221,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1197,6 +1276,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1231,6 +1319,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1277,6 +1374,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1311,6 +1417,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1357,6 +1472,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1403,6 +1527,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1437,6 +1570,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1471,6 +1613,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1517,6 +1668,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<NumericTypesTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
index 84cd31d..d25a5b1 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
@@ -208,10 +208,8 @@
object, base::GetTypeId<ObjectTypeBindingsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -263,10 +261,8 @@
object, base::GetTypeId<ObjectTypeBindingsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -296,10 +292,8 @@
object, base::GetTypeId<ObjectTypeBindingsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -351,10 +345,8 @@
object, base::GetTypeId<ObjectTypeBindingsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
index c264d39..293e7cd 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
@@ -205,6 +205,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -239,6 +248,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -273,6 +291,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -317,6 +344,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -415,6 +451,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -473,6 +518,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -501,6 +555,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -547,6 +610,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -593,6 +665,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -663,6 +744,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -803,6 +893,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -849,6 +948,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -929,6 +1037,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -963,6 +1080,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1011,6 +1137,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1097,6 +1232,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1143,6 +1287,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1171,6 +1324,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -1217,6 +1379,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<OperationsTestInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
index c5946c1..325c6fd 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
@@ -200,10 +200,8 @@
object, base::GetTypeId<PutForwardsInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
index e6a70f8..30cfd0a 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
@@ -196,10 +196,8 @@
object, base::GetTypeId<StringifierAttributeInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
index 6b6dd67..8d33990 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
@@ -201,6 +201,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<StringifierOperationInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
index 644db8f..82de15a 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
@@ -201,6 +201,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<TargetInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -229,6 +238,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<TargetInterface>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
index 698be31..a81efa7 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
@@ -204,10 +204,8 @@
object, base::GetTypeId<UnionTypesInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -259,10 +257,8 @@
object, base::GetTypeId<UnionTypesInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -314,10 +310,8 @@
object, base::GetTypeId<UnionTypesInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -369,10 +363,8 @@
object, base::GetTypeId<UnionTypesInterface>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
index f6d8a45..673aed8 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
@@ -389,10 +389,8 @@
object, base::GetTypeId<Window>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -444,10 +442,8 @@
object, base::GetTypeId<Window>())) {
MozjsExceptionState exception(context);
exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
return false;
}
-
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -482,6 +478,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<Window>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
@@ -518,6 +523,15 @@
NOTREACHED();
return false;
}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<Window>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
MozjsExceptionState exception_state(context);
JS::RootedValue result_value(context);
diff --git a/src/cobalt/bindings/mozjs/templates/interface.cc.template b/src/cobalt/bindings/mozjs/templates/interface.cc.template
index dcc3e7c..23575c7 100644
--- a/src/cobalt/bindings/mozjs/templates/interface.cc.template
+++ b/src/cobalt/bindings/mozjs/templates/interface.cc.template
@@ -15,6 +15,7 @@
#}
{% from 'macros.cc.template' import add_extra_arguments %}
{% from 'macros.cc.template' import call_cobalt_function %}
+{% from 'macros.cc.template' import check_if_object_implements_interface with context %}
{% from 'macros.cc.template' import constructor_implementation with context %}
{% from 'macros.cc.template' import function_implementation with context %}
{% from 'macros.cc.template' import get_impl_class_instance %}
@@ -458,17 +459,7 @@
JSBool get_{{attribute.idl_name}}(
JSContext* context, JS::HandleObject object, JS::HandleId id,
JS::MutableHandleValue vp) {
- MozjsGlobalEnvironment* global_environment =
- static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
- if (!wrapper_factory->DoesObjectImplementInterface(
- object, base::GetTypeId<{{impl_class}}>())) {
- MozjsExceptionState exception(context);
- exception.SetSimpleException(script::kDoesNotImplementInterface);
- vp.set(JS::UndefinedValue());
- return false;
- }
-
+{{ check_if_object_implements_interface() }}
{{ nonstatic_function_prologue(impl_class) }}
{% endif %}
{{ call_cobalt_function(impl_class, attribute.type,
diff --git a/src/cobalt/bindings/mozjs/templates/macros.cc.template b/src/cobalt/bindings/mozjs/templates/macros.cc.template
index 8520293..58b5669 100644
--- a/src/cobalt/bindings/mozjs/templates/macros.cc.template
+++ b/src/cobalt/bindings/mozjs/templates/macros.cc.template
@@ -15,6 +15,21 @@
#}
{#
+ # Checks if object implements interface.
+ #}
+{% macro check_if_object_implements_interface() %}
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+ if (!wrapper_factory->DoesObjectImplementInterface(
+ object, base::GetTypeId<{{impl_class}}>())) {
+ MozjsExceptionState exception(context);
+ exception.SetSimpleException(script::kDoesNotImplementInterface);
+ return false;
+ }
+{%- endmacro %}
+
+{#
# Function body for operation bindings.
# Parameters:
# operation: The operation context object
@@ -36,6 +51,7 @@
NOTREACHED();
return false;
}
+{{ check_if_object_implements_interface() }}
{{ nonstatic_function_prologue(impl_class) }}
{% endif %}
{% call(arguments_list) extract_arguments(operation) %}
diff --git a/src/cobalt/bindings/testing/object_type_bindings_test.cc b/src/cobalt/bindings/testing/object_type_bindings_test.cc
index 7c5cbf0..e80d859 100644
--- a/src/cobalt/bindings/testing/object_type_bindings_test.cc
+++ b/src/cobalt/bindings/testing/object_type_bindings_test.cc
@@ -273,6 +273,18 @@
EXPECT_THAT(result.c_str(), StartsWith("TypeError:"));
}
+TEST_F(UserObjectBindingsTest, CallWrongObjectType) {
+ std::string result;
+ EXPECT_TRUE(EvaluateScript("var obj = new Object()", NULL));
+ EXPECT_TRUE(EvaluateScript("var arb = new ArbitraryInterface()", NULL));
+
+ // Calling a function with the wrong object type is a type error.
+ EXPECT_FALSE(
+ EvaluateScript("obj.arbitraryFunction = arb.arbitraryFunction;\n"
+ "obj.arbitraryFunction();", &result));
+ EXPECT_THAT(result.c_str(), StartsWith("TypeError:"));
+}
+
} // namespace testing
} // namespace bindings
} // namespace cobalt
diff --git a/src/cobalt/build/build.id b/src/cobalt/build/build.id
index d5688f5..b75476d 100644
--- a/src/cobalt/build/build.id
+++ b/src/cobalt/build/build.id
@@ -1 +1 @@
-13110
\ No newline at end of file
+13153
\ No newline at end of file
diff --git a/src/cobalt/render_tree/mesh.h b/src/cobalt/render_tree/mesh.h
new file mode 100644
index 0000000..b87793b
--- /dev/null
+++ b/src/cobalt/render_tree/mesh.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef COBALT_RENDER_TREE_MESH_H_
+#define COBALT_RENDER_TREE_MESH_H_
+
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/logging.h"
+#include "starboard/types.h"
+#include "third_party/glm/glm/vec2.hpp"
+#include "third_party/glm/glm/vec3.hpp"
+
+namespace cobalt {
+namespace render_tree {
+
+// Represents a mesh to which render_trees can be mapped for 3D projection
+// by being applied a filter.
+class Mesh {
+ public:
+ // Vertices interleave position (x, y, z) and texture (u, v) coordinates.
+ struct Vertex {
+ glm::vec3 position_coord;
+ glm::vec2 texture_coord;
+ };
+ COMPILE_ASSERT(sizeof(Vertex) == sizeof(float) * 5,
+ vertex_struct_size_exceeds_5_floats);
+
+ // Defines a subset of the legal values for the draw mode parameter passed
+ // into glDrawArrays() and glDrawElements(). These correspond to GL_TRIANGLES,
+ // GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN. Users of this class can assert their
+ // values correspond exactly to the GL constants in order to convert via
+ // integer casting.
+ enum DrawMode {
+ kDrawModeTriangles = 4,
+ kDrawModeTriangleStrip = 5,
+ kDrawModeTriangleFan = 6
+ };
+
+ Mesh(const std::vector<Vertex>& vertices, const DrawMode mode)
+ : vertices_(vertices), draw_mode_(CheckDrawMode(mode)) {}
+
+ ~Mesh() {}
+
+ const std::vector<Vertex>& vertices() const { return vertices_; }
+
+ DrawMode draw_mode() const { return draw_mode_; }
+
+ private:
+ static const DrawMode CheckDrawMode(DrawMode mode) {
+ switch (mode) {
+ case kDrawModeTriangles:
+ case kDrawModeTriangleStrip:
+ case kDrawModeTriangleFan:
+ return mode;
+ default:
+ NOTREACHED() << "Unsupported render_tree::Mesh DrawMode detected, "
+ "defaulting to kDrawModeTriangleStrip";
+ return kDrawModeTriangleStrip;
+ }
+ }
+
+ const std::vector<Vertex> vertices_;
+ const DrawMode draw_mode_;
+};
+
+} // namespace render_tree
+} // namespace cobalt
+
+#endif // COBALT_RENDER_TREE_MESH_H_
diff --git a/src/cobalt/render_tree/render_tree.gyp b/src/cobalt/render_tree/render_tree.gyp
index 5d6f1a6..d8dfa5e 100644
--- a/src/cobalt/render_tree/render_tree.gyp
+++ b/src/cobalt/render_tree/render_tree.gyp
@@ -47,6 +47,7 @@
'map_to_mesh_filter.h',
'matrix_transform_node.cc',
'matrix_transform_node.h',
+ 'mesh.h',
'node.h',
'node_visitor.h',
'opacity_filter.h',
diff --git a/src/starboard/client_porting/poem/poem.gyp b/src/starboard/client_porting/poem/poem.gyp
index afde08e..def3f4e 100644
--- a/src/starboard/client_porting/poem/poem.gyp
+++ b/src/starboard/client_porting/poem/poem.gyp
@@ -37,6 +37,7 @@
'abs_tests.cc',
'include_all.c',
'main.cc',
+ 'string_poem_test.cc',
],
'dependencies': [
'<(DEPTH)/testing/gtest.gyp:gtest',
diff --git a/src/starboard/client_porting/poem/string_poem.h b/src/starboard/client_porting/poem/string_poem.h
index 97ef46d..61ca795 100644
--- a/src/starboard/client_porting/poem/string_poem.h
+++ b/src/starboard/client_porting/poem/string_poem.h
@@ -19,8 +19,9 @@
#if defined(STARBOARD)
-#include "starboard/string.h"
+#include "starboard/log.h"
#include "starboard/memory.h"
+#include "starboard/string.h"
#ifdef __cplusplus
@@ -31,7 +32,7 @@
// Finds the last occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr, C++ signature
-inline char* PoemFindLastCharacter(char* str, int character) {
+inline char* PoemFindLastCharacterInString(char* str, int character) {
const char* const_str = static_cast<const char*>(str);
const char c = static_cast<char>(character);
return const_cast<char*>(SbStringFindLastCharacter(const_str, c));
@@ -40,7 +41,8 @@
// Finds the last occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr, C++ signature
-inline const char* PoemFindLastCharacter(const char* str, int character) {
+inline const char* PoemFindLastCharacterInString(const char* str,
+ int character) {
const char c = static_cast<char>(character);
return SbStringFindLastCharacter(str, c);
}
@@ -48,7 +50,7 @@
// Finds the first occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr
-inline char* PoemFindCharacter(char* str, int character) {
+inline char* PoemFindCharacterInString(char* str, int character) {
const char* const_str = static_cast<const char*>(str);
const char c = static_cast<char>(character);
return const_cast<char*>(SbStringFindCharacter(const_str, c));
@@ -57,7 +59,7 @@
// Finds the first occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr
-inline const char* PoemFindCharacter(const char* str, int character) {
+inline const char* PoemFindCharacterInString(const char* str, int character) {
const char c = static_cast<char>(character);
return SbStringFindCharacter(str, c);
}
@@ -67,7 +69,8 @@
// Finds the first occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr
-static SB_C_INLINE char* PoemFindCharacter(const char* str, int character) {
+static SB_C_INLINE char* PoemFindCharacterInString(const char* str,
+ int character) {
// C-style cast used for C code
return (char*)(SbStringFindCharacter(str, character));
}
@@ -75,7 +78,8 @@
// Finds the last occurrence of |character| in |str|, returning a pointer to
// the found character in the given string, or NULL if not found.
// Meant to be a drop-in replacement for strchr
-static SB_C_INLINE char* PoemFindLastCharacter(const char* str, int character) {
+static SB_C_INLINE char* PoemFindLastCharacterInString(const char* str,
+ int character) {
// C-style cast used for C code
return (char*)(SbStringFindLastCharacter(str, character));
}
@@ -86,21 +90,60 @@
#endif
// Concatenates |source| onto the end of |out_destination|, presuming it has
-// |destination_size| total characters of storage available. Returns
-// |out_destination|. This method is a drop-in replacement for strncat
-static SB_C_INLINE char* PoemConcat(char* out_destination,
- const char* source,
- int destination_size) {
- SbStringConcat(out_destination, source, destination_size);
+// atleast strlen(out_destination) + |num_chars_to_copy| + 1 total characters of
+// storage available. Returns |out_destination|. This method is a drop-in
+// replacement for strncat.
+// Note: even if num_chars_to_copy == 0, we will still write a NULL character.
+// This is consistent with the language of linux's strncat man page:
+// "Therefore, the size of dest must be at least strlen(dest)+n+1."
+static SB_C_INLINE char* PoemStringConcat(char* out_destination,
+ const char* source,
+ int num_chars_to_copy) {
+ int destination_length = (int)(SbStringGetLength(out_destination));
+ SbStringConcat(out_destination, source,
+ destination_length + num_chars_to_copy + 1);
return out_destination;
}
-// Inline wrapper for an unsafe PoemConcat that assumes |out_destination| is
-// big enough. Returns |out_destination|. Meant to be a drop-in replacement for
-// strcat.
-static SB_C_INLINE char* PoemConcatUnsafe(char* out_destination,
- const char* source) {
- return PoemConcat(out_destination, source, INT_MAX);
+// Inline wrapper for an unsafe PoemStringConcat that assumes |out_destination|
+// is big enough. Returns |out_destination|. Meant to be a drop-in replacement
+// for strcat.
+static SB_C_INLINE char* PoemStringConcatUnsafe(char* out_destination,
+ const char* source) {
+ return PoemStringConcat(out_destination, source, INT_MAX);
+}
+
+// Inline wrapper for a drop-in replacement for |strncpy|. This function
+// copies the null terminated string from src to dest. If the src string is
+// shorter than num_chars_to_copy, then null padding is used.
+// Warning: As with strncpy spec, if there is no null character within the first
+// num_chars_to_copy in src, this function will write a null character at the
+// end.
+static SB_C_INLINE char* PoemStringCopyN(char* dest,
+ const char* src,
+ int num_chars_to_copy) {
+ SB_DCHECK(num_chars_to_copy >= 0);
+ if (num_chars_to_copy < 0) {
+ return dest;
+ }
+
+ char* dest_write_iterator = dest;
+ char* dest_write_iterator_end = dest + num_chars_to_copy;
+ const char* src_iterator = src;
+
+ while ((*src_iterator != '\0') &&
+ (dest_write_iterator != dest_write_iterator_end)) {
+ *dest_write_iterator = *src_iterator;
+
+ ++src_iterator;
+ ++dest_write_iterator;
+ }
+
+ SB_DCHECK(dest_write_iterator_end >= dest_write_iterator);
+ SbMemorySet(dest_write_iterator, '\0',
+ dest_write_iterator_end - dest_write_iterator);
+
+ return dest;
}
#ifdef __cplusplus
@@ -111,12 +154,12 @@
#define strlen(s) SbStringGetLength(s)
#define strcpy(o, s) SbStringCopyUnsafe(o, s)
-#define strncpy(o, s, ds) SbStringCopy(o, s, ds)
-#define strcat(o, s) PoemConcatUnsafe(o, s)
-#define strncat(o, s, ds) PoemConcat(o, s, ds)
+#define strncpy(o, s, ds) PoemStringCopyN(o, s, ds)
+#define strcat(o, s) PoemStringConcatUnsafe(o, s)
+#define strncat(o, s, ds) PoemStringConcat(o, s, ds)
#define strdup(s) SbStringDuplicate(s)
-#define strchr(s, c) PoemFindCharacter(s, c)
-#define strrchr(s, c) PoemFindLastCharacter(s, c)
+#define strchr(s, c) PoemFindCharacterInString(s, c)
+#define strrchr(s, c) PoemFindLastCharacterInString(s, c)
#define strstr(s, c) SbStringFindString(s, c)
#define strncmp(s1, s2, c) SbStringCompare(s1, s2, c)
#define strcmp(s1, s2) SbStringCompareAll(s1, s2)
diff --git a/src/starboard/client_porting/poem/string_poem_test.cc b/src/starboard/client_porting/poem/string_poem_test.cc
new file mode 100644
index 0000000..2243b48
--- /dev/null
+++ b/src/starboard/client_porting/poem/string_poem_test.cc
@@ -0,0 +1,81 @@
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Test basic functionality of string poems.
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+#include "starboard/client_porting/poem/string_poem.h"
+
+namespace starboard {
+namespace nplb {
+namespace {
+
+TEST(StringPoemTest, PoemStringConcat) {
+ char a[64] = "Hello ";
+ char b[] = "Yu";
+
+ strncat(a, b, sizeof(b) + 1);
+
+ EXPECT_STREQ(a, "Hello Yu");
+}
+
+TEST(StringPoemTest, PoemStringCopy) {
+ char a[] = "Hello ";
+ char b[] = "Yu";
+
+ strncpy(a, b, sizeof(b));
+
+ EXPECT_STREQ(a, "Yu");
+}
+
+TEST(StringPoemTest, PoemStringCopyZeroBytes) {
+ char a[] = "Hello ";
+ char b[] = "Yu";
+
+ strncpy(a, b, 0);
+
+ EXPECT_STREQ(a, "Hello ");
+}
+
+TEST(StringPoemTest, PoemStringCopySrcNotNullTerminated) {
+ char a[] = "Hello ";
+ char b[] = "Yu";
+
+ strncpy(a, b, sizeof(b) - 1);
+
+ EXPECT_STREQ(a, "Yullo ");
+}
+
+TEST(StringPoemTest, PoemStringCopyNotEnoughSpace) {
+ char a[] = "Hello";
+ char b[] = "Cobalt";
+
+ strncpy(a, b, sizeof(a) - 1);
+
+ EXPECT_STREQ(a, "Cobal");
+}
+
+TEST(StringPoemTest, PoemStringCopySizeMoreThanNeeded) {
+ char a[] = "Hello";
+ char b[] = "Wu";
+
+ strncpy(a, b, sizeof(a));
+
+ EXPECT_STREQ(a, "Wu");
+}
+
+} // namespace
+} // namespace nplb
+} // namespace starboard
diff --git a/src/third_party/openssl/config/starboard/openssl/opensslconf.h b/src/third_party/openssl/config/starboard/openssl/opensslconf.h
index 2a57ea1..0f290ff 100644
--- a/src/third_party/openssl/config/starboard/openssl/opensslconf.h
+++ b/src/third_party/openssl/config/starboard/openssl/opensslconf.h
@@ -237,7 +237,7 @@
#define OPENSSL_port_abort SbSystemBreakIntoDebugger
#define OPENSSL_port_assert(x) SB_DCHECK(x)
#define OPENSSL_port_atoi SbStringAToI
-#define OPENSSL_port_free SbMemoryFree
+#define OPENSSL_port_free SbMemoryDeallocate
#define OPENSSL_port_getenv(x) NULL
#define OPENSSL_port_isalnum SbCharacterIsAlphanumeric
#define OPENSSL_port_isdigit SbCharacterIsDigit