diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index c714bddb983..f947b0b2f80 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1142,7 +1142,6 @@ class CGArgumentConverter(CGThing): "argc": argc, "args": args } - condition = string.Template("${index} < ${argc}").substitute(replacer) replacementVariables = { "val": string.Template("${args}.get(${index})").substitute(replacer), @@ -1164,17 +1163,18 @@ class CGArgumentConverter(CGThing): if not argument.variadic: if argument.optional: + condition = "{args}.get({index}).is_undefined()".format(**replacer) if argument.defaultValue: assert default template = CGIfElseWrapper(condition, - CGGeneric(template), - CGGeneric(default)).define() + CGGeneric(default), + CGGeneric(template)).define() else: assert not default declType = CGWrapper(declType, pre="Option<", post=">") template = CGIfElseWrapper(condition, - CGGeneric("Some(%s)" % template), - CGGeneric("None")).define() + CGGeneric("None"), + CGGeneric("Some(%s)" % template)).define() else: assert not default diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 14a53438de1..e8370ce3f87 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -878,7 +878,7 @@ dependencies = [ [[package]] name = "js" version = "0.1.1" -source = "git+https://github.com/servo/rust-mozjs#6bfe259e0adc51ceabeb95d3af87d9041d16a767" +source = "git+https://github.com/servo/rust-mozjs#07523d8b3dd12276eb94a266e83c0b1d77aa4160" dependencies = [ "heapsize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 10baebc8891..0139b63c692 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -838,7 +838,7 @@ dependencies = [ [[package]] name = "js" version = "0.1.1" -source = "git+https://github.com/servo/rust-mozjs#6bfe259e0adc51ceabeb95d3af87d9041d16a767" +source = "git+https://github.com/servo/rust-mozjs#07523d8b3dd12276eb94a266e83c0b1d77aa4160" dependencies = [ "heapsize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index 60ffd1d4189..e6b625bd4ae 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -814,7 +814,7 @@ dependencies = [ [[package]] name = "js" version = "0.1.1" -source = "git+https://github.com/servo/rust-mozjs#6bfe259e0adc51ceabeb95d3af87d9041d16a767" +source = "git+https://github.com/servo/rust-mozjs#07523d8b3dd12276eb94a266e83c0b1d77aa4160" dependencies = [ "heapsize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/tests/wpt/metadata-css/geometry-1_dev/html/DOMPoint-001.htm.ini b/tests/wpt/metadata-css/geometry-1_dev/html/DOMPoint-001.htm.ini index 210d2bc5df2..1561861922b 100644 --- a/tests/wpt/metadata-css/geometry-1_dev/html/DOMPoint-001.htm.ini +++ b/tests/wpt/metadata-css/geometry-1_dev/html/DOMPoint-001.htm.ini @@ -24,9 +24,6 @@ [testConstructorDictionary5] expected: FAIL - [testConstructor2undefined] - expected: FAIL - [testConstructorDictionary2irregular] expected: FAIL diff --git a/tests/wpt/metadata-css/geometry-1_dev/html/DOMRect-001.htm.ini b/tests/wpt/metadata-css/geometry-1_dev/html/DOMRect-001.htm.ini deleted file mode 100644 index 582463bd683..00000000000 --- a/tests/wpt/metadata-css/geometry-1_dev/html/DOMRect-001.htm.ini +++ /dev/null @@ -1,14 +0,0 @@ -[DOMRect-001.htm] - type: testharness - [testConstructorUndefined1] - expected: FAIL - - [testConstructorIllegal1] - expected: FAIL - - [testConstructorIllegal2] - expected: FAIL - - [testReadOnlyConstructorUndefined1] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini index bde78768f89..b822f365486 100644 --- a/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini +++ b/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini @@ -1,8 +1,5 @@ [Comment-constructor.html] type: testharness - [new Comment(): undefined] - expected: FAIL - [new Comment() should get the correct ownerDocument across globals] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini b/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini index b3d805e284b..456ebf41fb4 100644 --- a/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini +++ b/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini @@ -3,9 +3,6 @@ [createHTMLDocument(): URL parsing] expected: FAIL - [createHTMLDocument test 2: undefined,undefined,""] - expected: FAIL - [createHTMLDocument(): characterSet aliases] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini index bed0da64aa5..253d0a219c0 100644 --- a/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini +++ b/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini @@ -1,8 +1,5 @@ [Text-constructor.html] type: testharness - [new Text(): undefined] - expected: FAIL - [new Text() should get the correct ownerDocument across globals] expected: FAIL diff --git a/tests/wpt/metadata/dom/traversal/NodeIterator.html.ini b/tests/wpt/metadata/dom/traversal/NodeIterator.html.ini deleted file mode 100644 index fe1566b0f5f..00000000000 --- a/tests/wpt/metadata/dom/traversal/NodeIterator.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[NodeIterator.html] - type: testharness - [createNodeIterator() with undefined as arguments] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/traversal/TreeWalker-basic.html.ini b/tests/wpt/metadata/dom/traversal/TreeWalker-basic.html.ini deleted file mode 100644 index 04360d0b6bb..00000000000 --- a/tests/wpt/metadata/dom/traversal/TreeWalker-basic.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[TreeWalker-basic.html] - type: testharness - [Construct a TreeWalker by document.createTreeWalker(root, undefined, undefined).] - expected: FAIL - diff --git a/tests/wpt/metadata/encoding/api-basics.html.ini b/tests/wpt/metadata/encoding/api-basics.html.ini index 0045f9e5794..eb82a3047c9 100644 --- a/tests/wpt/metadata/encoding/api-basics.html.ini +++ b/tests/wpt/metadata/encoding/api-basics.html.ini @@ -1,8 +1,5 @@ [api-basics.html] type: testharness - [Default inputs] - expected: FAIL - [Encode/decode round trip: utf-8] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/documents/dom-tree-accessors/document.title-07.html.ini b/tests/wpt/metadata/html/dom/documents/dom-tree-accessors/document.title-07.html.ini deleted file mode 100644 index 5fd8e536466..00000000000 --- a/tests/wpt/metadata/html/dom/documents/dom-tree-accessors/document.title-07.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[document.title-07.html] - type: testharness - [createHTMLDocument test 2: undefined,undefined,""] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/Close-undefined.htm.ini b/tests/wpt/metadata/websockets/Close-undefined.htm.ini deleted file mode 100644 index 9a1012b3c03..00000000000 --- a/tests/wpt/metadata/websockets/Close-undefined.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Close-undefined.htm] - type: testharness - [W3C WebSocket API - Close WebSocket - Code is undefined] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/Secure-Close-undefined.htm.ini b/tests/wpt/metadata/websockets/Secure-Close-undefined.htm.ini deleted file mode 100644 index 90b506a16fa..00000000000 --- a/tests/wpt/metadata/websockets/Secure-Close-undefined.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Secure-Close-undefined.htm] - type: testharness - [W3C WebSocket API - Close Secure WebSocket - Code is undefined] - expected: FAIL -