Parameter to Node.contains() should be mandatory
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jul 2016 19:34:58 +0000 (19:34 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jul 2016 19:34:58 +0000 (19:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=160084

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Parameter to Node.contains() should be mandatory as per the
specification:
- https://dom.spec.whatwg.org/#node

The compatibility risk should be low because both Firefox and Chrome
both agree with the specification. Also, it does not make much sense
to call this API without parameter.

No new tests, rebaselined existing tests.

* dom/Node.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/dom/Node.idl

index b937ac8..a4f157e 100644 (file)
@@ -1,5 +1,17 @@
 2016-07-22  Chris Dumez  <cdumez@apple.com>
 
+        Parameter to Node.contains() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160084
+
+        Reviewed by Darin Adler.
+
+        Rebaseline several W3C tests now that more checks are passing.
+
+        * web-platform-tests/dom/interfaces-expected.txt:
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
         First parameter to getElementById() should be mandatory
         https://bugs.webkit.org/show_bug.cgi?id=160087
 
index f430e34..fd15341 100644 (file)
@@ -231,7 +231,7 @@ PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface protot
 PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object 
 PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object 
 PASS Node interface: operation compareDocumentPosition(Node) 
-FAIL Node interface: operation contains(Node) assert_equals: property has wrong .length expected 1 but got 0
+PASS Node interface: operation contains(Node) 
 PASS Node interface: operation lookupPrefix(DOMString) 
 PASS Node interface: operation lookupNamespaceURI(DOMString) 
 PASS Node interface: operation isDefaultNamespace(DOMString) 
@@ -383,9 +383,7 @@ PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMP
 PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -515,9 +513,7 @@ PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTAT
 PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -627,9 +623,7 @@ PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_I
 PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError 
 PASS Node interface: document.doctype must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError 
 PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError 
 PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -725,9 +719,7 @@ PASS Node interface: document.createDocumentFragment() must inherit property "DO
 PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -934,9 +926,7 @@ PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTA
 PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError 
 PASS Node interface: element must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError 
 PASS Node interface: element must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError 
 PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -1099,9 +1089,7 @@ PASS Node interface: document.createTextNode("abc") must inherit property "DOCUM
 PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -1197,9 +1185,7 @@ PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inher
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (40) 
@@ -1293,9 +1279,7 @@ PASS Node interface: document.createComment("abc") must inherit property "DOCUME
 PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (37) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (38) 
-FAIL Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (39) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (40) 
index 2d2d36e..501e7bb 100644 (file)
@@ -364,9 +364,7 @@ PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSI
 PASS Node interface: iframe.contentDocument must inherit property "compareDocumentPosition" with the proper type (35) 
 PASS Node interface: calling compareDocumentPosition(Node) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Node interface: iframe.contentDocument must inherit property "contains" with the proper type (36) 
-FAIL Node interface: calling contains(Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Node interface: iframe.contentDocument must inherit property "lookupPrefix" with the proper type (37) 
 PASS Node interface: calling lookupPrefix(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Node interface: iframe.contentDocument must inherit property "lookupNamespaceURI" with the proper type (38) 
@@ -632,9 +630,7 @@ PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMP
 PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (35) 
 PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "contains" with the proper type (36) 
-FAIL Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (37) 
 PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError 
 PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (38) 
@@ -903,9 +899,7 @@ PASS Node interface: document.implementation.createDocument(null, "", null) must
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "compareDocumentPosition" with the proper type (35) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "contains" with the proper type (36) 
-FAIL Node interface: calling contains(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupPrefix" with the proper type (37) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupNamespaceURI" with the proper type (38) 
@@ -1299,9 +1293,7 @@ PASS Node interface: document.createElement("noscript") must inherit property "D
 PASS Node interface: document.createElement("noscript") must inherit property "compareDocumentPosition" with the proper type (35) 
 PASS Node interface: calling compareDocumentPosition(Node) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Node interface: document.createElement("noscript") must inherit property "contains" with the proper type (36) 
-FAIL Node interface: calling contains(Node) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-            fn.apply(obj, args);
-        }" did not throw
+PASS Node interface: calling contains(Node) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Node interface: document.createElement("noscript") must inherit property "lookupPrefix" with the proper type (37) 
 PASS Node interface: calling lookupPrefix(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Node interface: document.createElement("noscript") must inherit property "lookupNamespaceURI" with the proper type (38) 
index aede1aa..cb41ced 100644 (file)
@@ -1,3 +1,22 @@
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Node.contains() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160084
+
+        Reviewed by Darin Adler.
+
+        Parameter to Node.contains() should be mandatory as per the
+        specification:
+        - https://dom.spec.whatwg.org/#node
+
+        The compatibility risk should be low because both Firefox and Chrome
+        both agree with the specification. Also, it does not make much sense
+        to call this API without parameter.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Node.idl:
+
 2016-07-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
 
         [iOS] REGRESSION(203378): PDFDocumentImage::updateCachedImageIfNeeded() uses the unscaled size when deciding whether to cache the PDF image
index b198447..49acf63 100644 (file)
     unsigned short compareDocumentPosition(Node other);
 
     // Introduced in DOM4
-    // FIXME: other should not be optional.
-    boolean contains(optional Node? other = null);
+    boolean contains(Node? other);
 
     [EnabledAtRuntime=ShadowDOM, ImplementedAs=inDocument] readonly attribute boolean isConnected;