diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/Cargo.toml | 2 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 4 | ||||
-rw-r--r-- | components/script/dom/testbinding.rs | 2 | ||||
-rw-r--r-- | components/script/dom/webidls/TestBinding.webidl | 3 |
4 files changed, 9 insertions, 2 deletions
diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index ebb27656941..76f8b187537 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -51,7 +51,6 @@ hyper = "0.10" hyper_serde = "0.7" image = "0.16" ipc-channel = "0.9" -mozjs = { version = "0.1.7", features = ["promises"]} jstraceable_derive = {path = "../jstraceable_derive"} lazy_static = "0.2" libc = "0.2" @@ -62,6 +61,7 @@ metrics = {path = "../metrics"} mitochondria = "1.1.2" mime = "0.2.1" mime_guess = "1.8.0" +mozjs = { version = "0.1.8", features = ["promises"]} msg = {path = "../msg"} net_traits = {path = "../net_traits"} nonzero = {path = "../nonzero"} diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index c32c8f2c090..b408d0a670f 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -483,7 +483,8 @@ class CGMethodCall(CGThing): else: # Just throw; we have no idea what we're supposed to # do with this. - caseBody.append(CGGeneric("return Throw(cx, NS_ERROR_XPC_BAD_CONVERT_JS);")) + caseBody.append(CGGeneric("throw_internal_error(cx, \"Could not convert JavaScript argument\");\n" + "return false;")) argCountCases.append(CGCase(str(argCount), CGList(caseBody, "\n"))) @@ -5591,6 +5592,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::JSCLASS_RESERVED_SLOTS_MASK', 'js::JS_CALLEE', 'js::error::throw_type_error', + 'js::error::throw_internal_error', 'js::jsapi::AutoIdVector', 'js::jsapi::Call', 'js::jsapi::CallArgs', diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 9a8f9633072..9e1d5cf7de5 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -601,6 +601,8 @@ impl TestBindingMethods for TestBinding { fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>) {} fn PassOptionalNullableUsvstringWithNonNullDefault(&self, _: Option<USVString>) {} // fn PassOptionalNullableEnumWithNonNullDefault(self, _: Option<TestEnum>) {} + fn PassOptionalOverloaded(&self, a: &TestBinding, _: u32, _: u32) -> DomRoot<TestBinding> { DomRoot::from_ref(a) } + fn PassOptionalOverloaded_(&self, _: &Blob, _: u32) { } fn PassVariadicBoolean(&self, _: Vec<bool>) {} fn PassVariadicBooleanAndDefault(&self, _: bool, _: Vec<bool>) {} diff --git a/components/script/dom/webidls/TestBinding.webidl b/components/script/dom/webidls/TestBinding.webidl index 4fc1ba4d414..7deb4eff4ff 100644 --- a/components/script/dom/webidls/TestBinding.webidl +++ b/components/script/dom/webidls/TestBinding.webidl @@ -409,6 +409,9 @@ interface TestBinding { // void passOptionalNullableEnumWithNonNullDefault(optional TestEnum? arg = "foo"); // void passOptionalNullableUnionWithNonNullDefault(optional (HTMLElement or long)? arg = 7); // void passOptionalNullableUnion2WithNonNullDefault(optional (Event or DOMString)? data = "foo"); + TestBinding passOptionalOverloaded(TestBinding arg0, optional unsigned long arg1 = 0, + optional unsigned long arg2 = 0); + void passOptionalOverloaded(Blob arg0, optional unsigned long arg1 = 0); void passVariadicBoolean(boolean... args); void passVariadicBooleanAndDefault(optional boolean arg = true, boolean... args); |