aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
Diffstat (limited to 'components/script')
-rw-r--r--components/script/Cargo.toml2
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py4
-rw-r--r--components/script/dom/testbinding.rs2
-rw-r--r--components/script/dom/webidls/TestBinding.webidl3
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);