summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/web-platform/meta/custom-elements/CustomElementRegistry.html.ini18
-rw-r--r--testing/web-platform/meta/custom-elements/adopted-callback.html.ini87
-rw-r--r--testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini16
-rw-r--r--testing/web-platform/meta/custom-elements/connected-callbacks.html.ini48
-rw-r--r--testing/web-platform/meta/custom-elements/custom-element-registry/define.html.ini26
-rw-r--r--testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini48
-rw-r--r--testing/web-platform/meta/custom-elements/reaction-timing.html.ini5
-rw-r--r--testing/web-platform/meta/custom-elements/reactions/ChildNode.html.ini23
-rw-r--r--testing/web-platform/meta/custom-elements/reactions/Document.html.ini4
-rw-r--r--testing/web-platform/meta/custom-elements/reactions/Node.html.ini44
-rw-r--r--testing/web-platform/meta/custom-elements/reactions/ParentNode.html.ini14
-rw-r--r--testing/web-platform/meta/custom-elements/reactions/Range.html.ini23
-rw-r--r--testing/web-platform/meta/html/dom/interfaces.html.ini2
-rw-r--r--testing/web-platform/meta/html/dom/reflection-misc.html.ini2
-rw-r--r--testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/details.html.ini3
-rw-r--r--testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini3
-rw-r--r--testing/web-platform/meta/html/semantics/interfaces.html.ini2
-rw-r--r--testing/web-platform/meta/svg/interfaces.html.ini1
-rw-r--r--testing/web-platform/tests/custom-elements/attribute-changed-callback.html31
-rw-r--r--testing/web-platform/tests/custom-elements/reactions/with-exceptions.html31
-rw-r--r--testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html50
21 files changed, 115 insertions, 366 deletions
diff --git a/testing/web-platform/meta/custom-elements/CustomElementRegistry.html.ini b/testing/web-platform/meta/custom-elements/CustomElementRegistry.html.ini
index 9e2bf73856..3f9f66d17b 100644
--- a/testing/web-platform/meta/custom-elements/CustomElementRegistry.html.ini
+++ b/testing/web-platform/meta/custom-elements/CustomElementRegistry.html.ini
@@ -1,29 +1,11 @@
[CustomElementRegistry.html]
type: testharness
- [customElements.define must throw a NotSupportedError when there is already a custom element with the same class]
- expected: FAIL
-
[customElements.define must get callbacks of the constructor prototype]
expected: FAIL
[customElements.define must get "observedAttributes" property on the constructor prototype when "attributeChangedCallback" is present]
expected: FAIL
- [customElements.define must rethrow an exception thrown while getting observedAttributes on the constructor prototype]
- expected: FAIL
-
- [customElements.define must rethrow an exception thrown while converting the value of observedAttributes to sequence<DOMString>]
- expected: FAIL
-
- [customElements.define must rethrow an exception thrown while iterating over observedAttributes to sequence<DOMString>]
- expected: FAIL
-
- [customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on observedAttributes]
- expected: FAIL
-
- [customElements.define must define an instantiatable custom element]
- expected: FAIL
-
[customElements.define must upgrade elements in the shadow-including tree order]
expected: FAIL
diff --git a/testing/web-platform/meta/custom-elements/adopted-callback.html.ini b/testing/web-platform/meta/custom-elements/adopted-callback.html.ini
index fdd258bd6b..e35f704acf 100644
--- a/testing/web-platform/meta/custom-elements/adopted-callback.html.ini
+++ b/testing/web-platform/meta/custom-elements/adopted-callback.html.ini
@@ -1,20 +1,5 @@
[adopted-callback.html]
type: testharness
- [Inserting a custom element into the owner document must not enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting a custom element into the document of the template elements must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into the document of the template elements must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -27,18 +12,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into a new document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a new document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -51,18 +24,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a new document must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into a cloned document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a cloned document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -75,18 +36,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -99,18 +48,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -123,18 +60,6 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into the document of an iframe must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into the document of an iframe must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
@@ -147,18 +72,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
- [Inserting a custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving a custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
- expected: FAIL
-
- [Moving an ancestor of custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL
diff --git a/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini b/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini
index 10eea70b20..1b1bea6c97 100644
--- a/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini
+++ b/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini
@@ -12,21 +12,5 @@
[setAttributeNode and removeAttributeNS must enqueue and invoke attributeChangedCallback for an SVG attribute]
expected: FAIL
- [Mutating attributeChangedCallback after calling customElements.define must not affect the callback being invoked]
- expected: FAIL
-
- [attributedChangedCallback must not be invoked when the observed attributes does not contain the attribute]
- expected: FAIL
-
- [Mutating observedAttributes after calling customElements.define must not affect the set of attributes for which attributedChangedCallback is invoked]
- expected: FAIL
-
- [attributedChangedCallback must be enqueued for attributes specified in a non-Array iterable observedAttributes]
- expected: FAIL
-
[attributedChangedCallback must be enqueued for style attribute change by mutating inline style declaration]
expected: FAIL
-
- [attributedChangedCallback must not be enqueued when mutating inline style declaration if the style attribute is not observed]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/connected-callbacks.html.ini b/testing/web-platform/meta/custom-elements/connected-callbacks.html.ini
index d57ab6bdb5..c8a99d6959 100644
--- a/testing/web-platform/meta/custom-elements/connected-callbacks.html.ini
+++ b/testing/web-platform/meta/custom-elements/connected-callbacks.html.ini
@@ -1,11 +1,5 @@
[connected-callbacks.html]
type: testharness
- [Inserting a custom element into the document must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into the document must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in the document must enqueue and invoke connectedCallback]
expected: FAIL
@@ -15,12 +9,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into the document of the template elements must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into the document of the template elements must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke connectedCallback]
expected: FAIL
@@ -30,12 +18,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into a new document must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a new document must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke connectedCallback]
expected: FAIL
@@ -45,12 +27,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a new document must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into a cloned document must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a cloned document must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke connectedCallback]
expected: FAIL
@@ -60,12 +36,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into a document created by createHTMLDocument must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into a document created by createHTMLDocument must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke connectedCallback]
expected: FAIL
@@ -75,12 +45,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into an HTML document created by createDocument must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into an HTML document created by createDocument must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke connectedCallback]
expected: FAIL
@@ -90,12 +54,6 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into the document of an iframe must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into the document of an iframe must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke connectedCallback]
expected: FAIL
@@ -105,12 +63,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must not enqueue and invoke connectedCallback]
expected: FAIL
- [Inserting a custom element into an HTML document fetched by XHR must enqueue and invoke connectedCallback]
- expected: FAIL
-
- [Inserting an ancestor of custom element into an HTML document fetched by XHR must enqueue and invoke connectedCallback]
- expected: FAIL
-
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke connectedCallback]
expected: FAIL
diff --git a/testing/web-platform/meta/custom-elements/custom-element-registry/define.html.ini b/testing/web-platform/meta/custom-elements/custom-element-registry/define.html.ini
deleted file mode 100644
index 122abccd31..0000000000
--- a/testing/web-platform/meta/custom-elements/custom-element-registry/define.html.ini
+++ /dev/null
@@ -1,26 +0,0 @@
-[define.html]
- type: testharness
- [If constructor is HTMLElement, should throw a TypeError]
- expected: FAIL
-
- [If constructor is HTMLButtonElement, should throw a TypeError]
- expected: FAIL
-
- [If constructor is HTMLImageElement, should throw a TypeError]
- expected: FAIL
-
- [If constructor is HTMLMediaElement, should throw a TypeError]
- expected: FAIL
-
- [If constructor is Image, should throw a TypeError]
- expected: FAIL
-
- [If constructor is Audio, should throw a TypeError]
- expected: FAIL
-
- [If constructor is Option, should throw a TypeError]
- expected: FAIL
-
- [If the constructor is already defined, should throw a NotSupportedError]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini b/testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini
index 631dc8b5d9..03c6f99379 100644
--- a/testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini
+++ b/testing/web-platform/meta/custom-elements/disconnected-callbacks.html.ini
@@ -1,11 +1,5 @@
[disconnected-callbacks.html]
type: testharness
- [Removing a custom element from the document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from the document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in the document must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -15,12 +9,6 @@
[Removing a custom element from a detached shadow tree that belongs to the document must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from the document of the template elements must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from the document of the template elements must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in the document of the template elements must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -30,12 +18,6 @@
[Removing a custom element from a detached shadow tree that belongs to the document of the template elements must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from a new document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from a new document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in a new document must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -45,12 +27,6 @@
[Removing a custom element from a detached shadow tree that belongs to a new document must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from a cloned document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from a cloned document must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in a cloned document must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -60,12 +36,6 @@
[Removing a custom element from a detached shadow tree that belongs to a cloned document must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from a document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from a document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in a document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -75,12 +45,6 @@
[Removing a custom element from a detached shadow tree that belongs to a document created by createHTMLDocument must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from an HTML document created by createDocument must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from an HTML document created by createDocument must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in an HTML document created by createDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -90,12 +54,6 @@
[Removing a custom element from a detached shadow tree that belongs to an HTML document created by createDocument must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from the document of an iframe must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from the document of an iframe must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in the document of an iframe must enqueue and invoke disconnectedCallback]
expected: FAIL
@@ -105,12 +63,6 @@
[Removing a custom element from a detached shadow tree that belongs to the document of an iframe must not enqueue and invoke disconnectedCallback]
expected: FAIL
- [Removing a custom element from an HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
- [Removing an ancestor of custom element from an HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
- expected: FAIL
-
[Removing a custom element from a shadow tree in an HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
expected: FAIL
diff --git a/testing/web-platform/meta/custom-elements/reaction-timing.html.ini b/testing/web-platform/meta/custom-elements/reaction-timing.html.ini
deleted file mode 100644
index 0697f70140..0000000000
--- a/testing/web-platform/meta/custom-elements/reaction-timing.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[reaction-timing.html]
- type: testharness
- [Calling Node.prototype.cloneNode(false) must push a new element queue to the processing stack]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/reactions/ChildNode.html.ini b/testing/web-platform/meta/custom-elements/reactions/ChildNode.html.ini
deleted file mode 100644
index 4265435e3b..0000000000
--- a/testing/web-platform/meta/custom-elements/reactions/ChildNode.html.ini
+++ /dev/null
@@ -1,23 +0,0 @@
-[ChildNode.html]
- type: testharness
- [before on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [before on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [after on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [after on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [replaceWith on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [replaceWith on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [replaceWith on ChildNode must enqueue a disconnected reaction]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/reactions/Document.html.ini b/testing/web-platform/meta/custom-elements/reactions/Document.html.ini
index 71f9e29a41..0c42955de2 100644
--- a/testing/web-platform/meta/custom-elements/reactions/Document.html.ini
+++ b/testing/web-platform/meta/custom-elements/reactions/Document.html.ini
@@ -2,7 +2,3 @@
type: testharness
[importNode on Document must construct a new custom element when importing a custom element]
expected: FAIL
-
- [adoptNode on Document must enqueue an adopted reaction when importing a custom element]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/reactions/Node.html.ini b/testing/web-platform/meta/custom-elements/reactions/Node.html.ini
deleted file mode 100644
index 87acc9aa61..0000000000
--- a/testing/web-platform/meta/custom-elements/reactions/Node.html.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-[Node.html]
- type: testharness
- [nodeValue on Node must enqueue an attributeChanged reaction when replacing an existing attribute]
- expected: FAIL
-
- [nodeValue on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
- expected: FAIL
-
- [textContent on Node must enqueue an attributeChanged reaction when replacing an existing attribute]
- expected: FAIL
-
- [textContent on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
- expected: FAIL
-
- [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element with an observed attribute]
- expected: FAIL
-
- [cloneNode on Node must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute]
- expected: FAIL
-
- [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
- expected: FAIL
-
- [insertBefore on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [insertBefore on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [appendChild on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [appendChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [replaceChild on ChildNode must enqueue a connected reaction]
- expected: FAIL
-
- [replaceChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [removeChild on ChildNode must enqueue a disconnected reaction]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/reactions/ParentNode.html.ini b/testing/web-platform/meta/custom-elements/reactions/ParentNode.html.ini
deleted file mode 100644
index ccdf5de7cf..0000000000
--- a/testing/web-platform/meta/custom-elements/reactions/ParentNode.html.ini
+++ /dev/null
@@ -1,14 +0,0 @@
-[ParentNode.html]
- type: testharness
- [prepend on ParentNode must enqueue a connected reaction]
- expected: FAIL
-
- [prepend on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
- [append on ParentNode must enqueue a connected reaction]
- expected: FAIL
-
- [append on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/custom-elements/reactions/Range.html.ini b/testing/web-platform/meta/custom-elements/reactions/Range.html.ini
deleted file mode 100644
index 4ca3fcde79..0000000000
--- a/testing/web-platform/meta/custom-elements/reactions/Range.html.ini
+++ /dev/null
@@ -1,23 +0,0 @@
-[Range.html]
- type: testharness
- [deleteContents on Range must enqueue a disconnected reaction]
- expected: FAIL
-
- [extractContents on Range must enqueue a disconnected reaction]
- expected: FAIL
-
- [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element with an observed attribute]
- expected: FAIL
-
- [cloneContents on Range must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute]
- expected: FAIL
-
- [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
- expected: FAIL
-
- [insertNode on Range must enqueue a connected reaction]
- expected: FAIL
-
- [insertNode on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/html/dom/interfaces.html.ini b/testing/web-platform/meta/html/dom/interfaces.html.ini
index 16a03337ed..db6a464d0a 100644
--- a/testing/web-platform/meta/html/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/html/dom/interfaces.html.ini
@@ -1,6 +1,6 @@
[interfaces.html]
type: testharness
- prefs: [dom.forms.inputmode:true, dom.details_element.enabled:true, dom.dialog_element.enabled:true]
+ prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true]
[Document interface: attribute domain]
expected: FAIL
diff --git a/testing/web-platform/meta/html/dom/reflection-misc.html.ini b/testing/web-platform/meta/html/dom/reflection-misc.html.ini
index b0909cc6d6..bc65d4191b 100644
--- a/testing/web-platform/meta/html/dom/reflection-misc.html.ini
+++ b/testing/web-platform/meta/html/dom/reflection-misc.html.ini
@@ -1,6 +1,6 @@
[reflection-misc.html]
type: testharness
- prefs: [dom.details_element.enabled: true, dom.dialog_element.enabled: true]
+ prefs: [dom.dialog_element.enabled: true]
[html.tabIndex: setAttribute() to object "3" followed by getAttribute()]
expected: FAIL
diff --git a/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/details.html.ini b/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/details.html.ini
deleted file mode 100644
index 6ffca742cc..0000000000
--- a/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/details.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[details.html]
- type: testharness
- prefs: [dom.details_element.enabled:true]
diff --git a/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
deleted file mode 100644
index 335ffd5b3a..0000000000
--- a/testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[toggleEvent.html]
- type: testharness
- prefs: [dom.details_element.enabled:true]
diff --git a/testing/web-platform/meta/html/semantics/interfaces.html.ini b/testing/web-platform/meta/html/semantics/interfaces.html.ini
index 23f55fbe48..f191cad52f 100644
--- a/testing/web-platform/meta/html/semantics/interfaces.html.ini
+++ b/testing/web-platform/meta/html/semantics/interfaces.html.ini
@@ -1,6 +1,6 @@
[interfaces.html]
type: testharness
- prefs: [dom.details_element.enabled: true, dom.dialog_element.enabled: true]
+ prefs: [dom.dialog_element.enabled: true]
[Interfaces for image]
expected: FAIL
diff --git a/testing/web-platform/meta/svg/interfaces.html.ini b/testing/web-platform/meta/svg/interfaces.html.ini
index 292ca6b749..410f20f695 100644
--- a/testing/web-platform/meta/svg/interfaces.html.ini
+++ b/testing/web-platform/meta/svg/interfaces.html.ini
@@ -1,6 +1,5 @@
[interfaces.html]
type: testharness
- prefs: [dom.details_element.enabled:true]
[SVGGeometryElement interface: existence and properties of interface object]
expected: FAIL
diff --git a/testing/web-platform/tests/custom-elements/attribute-changed-callback.html b/testing/web-platform/tests/custom-elements/attribute-changed-callback.html
index bd467912b9..5090bfbfbf 100644
--- a/testing/web-platform/tests/custom-elements/attribute-changed-callback.html
+++ b/testing/web-platform/tests/custom-elements/attribute-changed-callback.html
@@ -11,6 +11,7 @@
</head>
<body>
<div id="log"></div>
+<parser-created-element title></parser-created-element>
<script>
var customElement = define_new_custom_element(['title', 'id', 'r']);
@@ -218,6 +219,36 @@ test(function () {
assert_attribute_log_entry(calls[0], {name: 'title', oldValue: null, newValue: 'hello', namespace: null});
}, 'attributedChangedCallback must not be enqueued when mutating inline style declaration if the style attribute is not observed');
+test(function () {
+ var calls = [];
+ class CustomElement extends HTMLElement { }
+ CustomElement.prototype.attributeChangedCallback = function (...args) {
+ calls.push(create_attribute_changed_callback_log(this, ...args));
+ }
+ CustomElement.observedAttributes = ['title'];
+ customElements.define('parser-created-element', CustomElement);
+ assert_attribute_log_entry(calls[0], {name: 'title', oldValue: null, newValue: '', namespace: null});
+}, 'Upgrading a parser created element must enqueue and invoke attributeChangedCallback for an HTML attribute');
+
+test(function () {
+ var calls = [];
+ class CustomElement extends HTMLElement { }
+ CustomElement.prototype.attributeChangedCallback = function (...args) {
+ calls.push(create_attribute_changed_callback_log(this, ...args));
+ }
+ CustomElement.observedAttributes = ['title'];
+ customElements.define('cloned-element-with-attribute', CustomElement);
+
+ var instance = document.createElement('cloned-element-with-attribute');
+ assert_equals(calls.length, 0);
+ instance.title = '';
+ assert_attribute_log_entry(calls[0], {name: 'title', oldValue: null, newValue: '', namespace: null});
+
+ calls = [];
+ var clone = instance.cloneNode(false);
+ assert_attribute_log_entry(calls[0], {name: 'title', oldValue: null, newValue: '', namespace: null});
+}, 'Upgrading a cloned element must enqueue and invoke attributeChangedCallback for an HTML attribute');
+
</script>
</body>
</html>
diff --git a/testing/web-platform/tests/custom-elements/reactions/with-exceptions.html b/testing/web-platform/tests/custom-elements/reactions/with-exceptions.html
new file mode 100644
index 0000000000..82e0f59c93
--- /dev/null
+++ b/testing/web-platform/tests/custom-elements/reactions/with-exceptions.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Custom Elements: CEReactions interaction with exceptions</title>
+<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
+<meta name="help" content="https://html.spec.whatwg.org/multipage/#cereactions">
+<meta name="help" content="https://github.com/whatwg/html/pull/3235">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/custom-elements-helpers.js"></script>
+
+<div id="log"></div>
+
+<script>
+"use strict";
+// Basically from https://github.com/whatwg/html/issues/3217#issuecomment-343633273
+test_with_window((contentWindow, contentDocument) => {
+ let reactionRan = false;
+ contentWindow.customElements.define("custom-element", class extends contentWindow.HTMLElement {
+ disconnectedCallback() {
+ reactionRan = true;
+ }
+ });
+ const text = contentDocument.createTextNode("");
+ contentDocument.documentElement.appendChild(text);
+ const element = contentDocument.createElement("custom-element");
+ contentDocument.documentElement.appendChild(element);
+ assert_throws("HierarchyRequestError", () => text.before("", contentDocument.documentElement));
+ assert_true(reactionRan);
+}, "Reaction must run even after the exception is thrown");
+</script>
diff --git a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html
index 07f1edf939..7d8548885a 100644
--- a/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html
+++ b/testing/web-platform/tests/html/dom/documents/dom-tree-accessors/Document.body.html
@@ -166,4 +166,54 @@ test(function() {
doc.body = new_frameset;
assert_equals(doc.body, new_frameset, "test6-3, append frameset to a new document");
}, "Setting document.body to a new frameset element.");
+
+test(function() {
+ var doc = createDocument();
+ var html = doc.appendChild(doc.createElement("html"));
+ var f =
+ html.appendChild(doc.createElement("frameset"));
+ assert_equals(doc.body, f);
+
+ var b = doc.createElement("body");
+ doc.body = b;
+
+ assert_equals(f.parentNode, null,
+ "Frameset should have been removed from the tree");
+ assert_equals(doc.body, b, "Body should be the new doc.body");
+}, "Setting document.body to a body will replace an existing frameset if there is one.");
+
+test(function() {
+ var doc = createDocument();
+ var html = doc.appendChild(doc.createElement("html"));
+ var b =
+ html.appendChild(doc.createElement("body"));
+ assert_equals(doc.body, b);
+
+ var f = doc.createElement("frameset");
+ doc.body = f;
+
+ assert_equals(b.parentNode, null,
+ "Body should have been removed from the tree");
+ assert_equals(doc.body, f, "Frameset should be the new doc.body");
+}, "Setting document.body to a frameset will replace an existing body if there is one.");
+
+test(function() {
+ var doc = createDocument();
+ var html = doc.appendChild(doc.createElement("html"));
+ var b =
+ html.appendChild(doc.createElement("body"));
+ var f1 = html.appendChild(doc.createElement("frameset"));
+ assert_equals(doc.body, b);
+
+ var f2 = doc.createElement("frameset");
+ doc.body = f2;
+
+ assert_equals(b.parentNode, null,
+ "Body should have been removed from the tree");
+ assert_equals(f1.parentNode, html,
+ "Frameset following body should still be in the tree.");
+ assert_equals(doc.body, f2, "New frameset should be the new doc.body");
+ assert_equals(f2.nextSibling, f1, "New frameset should have replaced the body");
+}, "Setting document.body to a frameset will replace the first existing body/frameset.");
+
</script>