aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConnor Brewster <connor.brewster@eagles.oc.edu>2017-05-30 13:31:51 -0600
committerConnor Brewster <connor.brewster@eagles.oc.edu>2017-05-30 14:04:08 -0600
commit9d36ea50515c594e6c1ade78a01bc2af0c9edb07 (patch)
tree76053402db019f84757db7d0664bd6f900c9bbd8
parent38a6a3bff6f6e0e35eb592891d5e70e7cb897b69 (diff)
downloadservo-9d36ea50515c594e6c1ade78a01bc2af0c9edb07.tar.gz
servo-9d36ea50515c594e6c1ade78a01bc2af0c9edb07.zip
Run custom element tests
-rw-r--r--tests/wpt/include.ini2
-rw-r--r--tests/wpt/metadata/custom-elements/CustomElementRegistry.html.ini113
-rw-r--r--tests/wpt/metadata/custom-elements/Document-createElement.html.ini38
-rw-r--r--tests/wpt/metadata/custom-elements/HTMLElement-constructor.html.ini17
-rw-r--r--tests/wpt/metadata/custom-elements/adopted-callback.html.ini176
-rw-r--r--tests/wpt/metadata/custom-elements/attribute-changed-callback.html.ini35
-rw-r--r--tests/wpt/metadata/custom-elements/connected-callbacks.html.ini125
-rw-r--r--tests/wpt/metadata/custom-elements/custom-element-reaction-queue.html.ini11
-rw-r--r--tests/wpt/metadata/custom-elements/custom-element-registry/define.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/disconnected-callbacks.html.ini125
-rw-r--r--tests/wpt/metadata/custom-elements/htmlconstructor/newtarget.html.ini32
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-in-document-write.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-synchronously.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-elements.html.ini6
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-uses-constructed-element.html.ini11
-rw-r--r--tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini11
-rw-r--r--tests/wpt/metadata/custom-elements/reaction-timing.html.ini11
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Attr.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini110
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini23
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini26
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini59
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Document.html.ini38
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Element.html.ini125
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/ElementContentEditable.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLAnchorElement.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini71
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLOptionElement.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLOptionsCollection.html.ini17
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLOutputElement.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLSelectElement.html.ini17
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLTableElement.html.ini32
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLTableRowElement.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLTableSectionElement.html.ini8
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLTitleElement.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini44
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Node.html.ini44
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini14
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Range.html.ini32
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/Selection.html.ini5
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/ShadowRoot.html.ini11
-rw-r--r--tests/wpt/metadata/custom-elements/upgrading.html.ini56
-rw-r--r--tests/wpt/metadata/custom-elements/upgrading/Node-cloneNode.html.ini26
-rw-r--r--tests/wpt/metadata/custom-elements/upgrading/upgrading-enqueue-reactions.html.ini17
-rw-r--r--tests/wpt/metadata/custom-elements/upgrading/upgrading-parser-created-element.html.ini14
-rw-r--r--tests/wpt/mozilla/meta/mozilla/webgl/context_creation_error.html.ini3
47 files changed, 1577 insertions, 1 deletions
diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini
index 795d3bbe2f5..dc1d79c309b 100644
--- a/tests/wpt/include.ini
+++ b/tests/wpt/include.ini
@@ -13,6 +13,8 @@ skip: true
skip: false
[css-values]
skip: false
+[custom-elements]
+ skip: false
[dom]
skip: false
[domparsing]
diff --git a/tests/wpt/metadata/custom-elements/CustomElementRegistry.html.ini b/tests/wpt/metadata/custom-elements/CustomElementRegistry.html.ini
new file mode 100644
index 00000000000..b6294164843
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/CustomElementRegistry.html.ini
@@ -0,0 +1,113 @@
+[CustomElementRegistry.html]
+ type: testharness
+ [CustomElementRegistry interface must have define as a method]
+ expected: FAIL
+
+ [customElements.define must throw when the element interface is not a constructor]
+ expected: FAIL
+
+ [customElements.define must not throw the constructor is HTMLElement]
+ expected: FAIL
+
+ [customElements.define must throw with an invalid name]
+ expected: FAIL
+
+ [customElements.define must throw when there is already a custom element of the same name]
+ expected: FAIL
+
+ [customElements.define must throw a NotSupportedError when there is already a custom element with the same class]
+ expected: FAIL
+
+ [customElements.define must throw a NotSupportedError when element definition is running flag is set]
+ expected: FAIL
+
+ [customElements.define must check IsConstructor on the constructor before checking the element definition is running flag]
+ expected: FAIL
+
+ [customElements.define must validate the custom element name before checking the element definition is running flag]
+ expected: FAIL
+
+ [customElements.define unset the element definition is running flag before upgrading custom elements]
+ expected: FAIL
+
+ [customElements.define must not throw when defining another custom element in a different global object during Get(constructor, "prototype")]
+ expected: FAIL
+
+ [Custom Elements: CustomElementRegistry interface]
+ expected: FAIL
+
+ [customElements.define must get "prototype" property of the constructor]
+ expected: FAIL
+
+ [customElements.define must rethrow an exception thrown while getting "prototype" property of the constructor]
+ expected: FAIL
+
+ [customElements.define must throw when "prototype" property of the constructor is not an object]
+ expected: FAIL
+
+ [customElements.define must get callbacks of the constructor prototype]
+ expected: FAIL
+
+ [customElements.define must rethrow an exception thrown while getting callbacks on the constructor prototype]
+ expected: FAIL
+
+ [customElements.define must rethrow an exception thrown while converting a callback value to Function callback type]
+ 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 not throw even if "observedAttributes" fails to convert if "attributeChangedCallback" is not defined]
+ 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
+
+ [CustomElementRegistry interface must have get as a method]
+ expected: FAIL
+
+ [customElements.get must return undefined when the registry does not contain an entry with the given name]
+ expected: FAIL
+
+ [customElements.get must return undefined when the registry does not contain an entry with the given name even if the name was not a valid custom element name]
+ expected: FAIL
+
+ [customElements.get return the constructor of the entry with the given name when there is a matching entry.]
+ expected: FAIL
+
+ [customElements.whenDefined must return a promise for a valid custom element name]
+ expected: FAIL
+
+ [customElements.whenDefined must return the same promise each time invoked for a valid custom element name which has not been defined]
+ expected: FAIL
+
+ [customElements.whenDefined must return an unresolved promise when the registry does not contain the entry with the given name]
+ expected: FAIL
+
+ [customElements.whenDefined must return a rejected promise when the given name is not a valid custom element name]
+ expected: FAIL
+
+ [customElements.whenDefined must return a resolved promise when the registry contains the entry with the given name]
+ expected: FAIL
+
+ [customElements.whenDefined must return a new resolved promise each time invoked when the registry contains the entry with the given name]
+ expected: FAIL
+
+ [A promise returned by customElements.whenDefined must be resolved by "define"]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/Document-createElement.html.ini b/tests/wpt/metadata/custom-elements/Document-createElement.html.ini
new file mode 100644
index 00000000000..9978606560f
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/Document-createElement.html.ini
@@ -0,0 +1,38 @@
+[Document-createElement.html]
+ type: testharness
+ [document.createElement must create an instance of custom elements]
+ expected: FAIL
+
+ [document.createElement must report a TypeError when the result of Construct is not a DOM node]
+ expected: FAIL
+
+ [document.createElement must report a TypeError when the result of Construct is a TextNode]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when attribute is added by setAttribute during construction]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when attribute is added by attributes.setNamedItem during construction]
+ expected: FAIL
+
+ [document.createElement must not report a NotSupportedError when attribute is added and removed during construction]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when a Text child is added during construction]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when a Comment child is added during construction]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when an element child is added during construction]
+ expected: FAIL
+
+ [document.createElement must not report a NotSupportedError when an element child is added and removed during construction]
+ expected: FAIL
+
+ [document.createElement must report a NotSupportedError when the element gets inserted into another element during construction]
+ expected: FAIL
+
+ [document.createElement must not report a NotSupportedError when the element is inserted and removed from another element during construction]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/HTMLElement-constructor.html.ini b/tests/wpt/metadata/custom-elements/HTMLElement-constructor.html.ini
new file mode 100644
index 00000000000..40192238558
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/HTMLElement-constructor.html.ini
@@ -0,0 +1,17 @@
+[HTMLElement-constructor.html]
+ type: testharness
+ [HTMLElement constructor must infer the tag name from the element interface]
+ expected: FAIL
+
+ [HTMLElement constructor must allow subclassing a custom element]
+ expected: FAIL
+
+ [HTMLElement constructor must allow subclassing an user-defined subclass of HTMLElement]
+ expected: FAIL
+
+ [HTMLElement constructor must throw a TypeError when NewTarget is equal to itself]
+ expected: FAIL
+
+ [HTMLElement constructor must throw a TypeError when NewTarget is equal to itself via a Proxy object]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/adopted-callback.html.ini b/tests/wpt/metadata/custom-elements/adopted-callback.html.ini
new file mode 100644
index 00000000000..6e0ecac11eb
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/adopted-callback.html.ini
@@ -0,0 +1,176 @@
+[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
+
+ [Inserting the shadow host of a custom element into the document of the template elements must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a 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 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
+
+ [Inserting the shadow host of a custom element into a new document must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into a cloned document must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a 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 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
+
+ [Inserting the shadow host of a custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a 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 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
+
+ [Inserting the shadow host of a custom element into the document of an iframe must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a 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 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
+
+ [Inserting the shadow host of a custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Moving the shadow host of a 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 detached shadow tree that belongs to an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
+ expected: FAIL
+
+ [Custom Elements: adoptedCallback]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/attribute-changed-callback.html.ini b/tests/wpt/metadata/custom-elements/attribute-changed-callback.html.ini
new file mode 100644
index 00000000000..c83a07c9866
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/attribute-changed-callback.html.ini
@@ -0,0 +1,35 @@
+[attribute-changed-callback.html]
+ type: testharness
+ [setAttribute and removeAttribute must enqueue and invoke attributeChangedCallback]
+ expected: FAIL
+
+ [setAttributeNS and removeAttributeNS must enqueue and invoke attributeChangedCallback]
+ expected: FAIL
+
+ [setAttributeNode and removeAttributeNode must enqueue and invoke attributeChangedCallback for an HTML attribute]
+ expected: FAIL
+
+ [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
+
+ [Custom Elements: attributeChangedCallback]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/connected-callbacks.html.ini b/tests/wpt/metadata/custom-elements/connected-callbacks.html.ini
new file mode 100644
index 00000000000..adb9b9c8072
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/connected-callbacks.html.ini
@@ -0,0 +1,125 @@
+[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
+
+ [Inserting the shadow host of a custom element into the document must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into the document of the template elements must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into a new document must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into a cloned document must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into a document created by createHTMLDocument must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into an HTML document created by createDocument must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into the document of an iframe must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Inserting the shadow host of a custom element into an HTML document fetched by XHR must enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [Inserting a custom element into a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke connectedCallback]
+ expected: FAIL
+
+ [Custom Elements: connectedCallback]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/custom-element-reaction-queue.html.ini b/tests/wpt/metadata/custom-elements/custom-element-reaction-queue.html.ini
new file mode 100644
index 00000000000..c4add79aa30
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/custom-element-reaction-queue.html.ini
@@ -0,0 +1,11 @@
+[custom-element-reaction-queue.html]
+ type: testharness
+ [Upgrading a custom element must invoke attributeChangedCallback and connectedCallback before start upgrading another element]
+ expected: FAIL
+
+ [Mutating a undefined custom element while upgrading a custom element must not enqueue or invoke reactions on the mutated element]
+ expected: FAIL
+
+ [Mutating another custom element inside adopted callback must invoke all pending callbacks on the mutated element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/custom-element-registry/define.html.ini b/tests/wpt/metadata/custom-elements/custom-element-registry/define.html.ini
new file mode 100644
index 00000000000..cdde1f90ac1
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/custom-element-registry/define.html.ini
@@ -0,0 +1,5 @@
+[define.html]
+ type: testharness
+ [Custom Elements: Element definition]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/disconnected-callbacks.html.ini b/tests/wpt/metadata/custom-elements/disconnected-callbacks.html.ini
new file mode 100644
index 00000000000..7b713889aa1
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/disconnected-callbacks.html.ini
@@ -0,0 +1,125 @@
+[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
+
+ [Removing the shadow host of a custom element from athe document must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from athe document of the template elements must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from aa new document must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from aa cloned document must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from aa document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from aan HTML document created by createDocument must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from athe document of an iframe must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [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
+
+ [Removing the shadow host of a custom element from aan HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [Removing a custom element from a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke disconnectedCallback]
+ expected: FAIL
+
+ [Custom Elements: disconnectedCallback]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/htmlconstructor/newtarget.html.ini b/tests/wpt/metadata/custom-elements/htmlconstructor/newtarget.html.ini
new file mode 100644
index 00000000000..b3ae6cb5fc5
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/htmlconstructor/newtarget.html.ini
@@ -0,0 +1,32 @@
+[newtarget.html]
+ type: testharness
+ [Use NewTarget's prototype, not the one stored at definition time]
+ expected: FAIL
+
+ [Rethrow any exceptions thrown while getting the prototype]
+ expected: FAIL
+
+ [If prototype is not object (null), derives the fallback from NewTarget's realm (autonomous custom elements)]
+ expected: FAIL
+
+ [If prototype is not object (undefined), derives the fallback from NewTarget's realm (autonomous custom elements)]
+ expected: FAIL
+
+ [If prototype is not object (5), derives the fallback from NewTarget's realm (autonomous custom elements)]
+ expected: FAIL
+
+ [If prototype is not object (string), derives the fallback from NewTarget's realm (autonomous custom elements)]
+ expected: FAIL
+
+ [If prototype is not object (null), derives the fallback from NewTarget's realm (customized built-in elements)]
+ expected: FAIL
+
+ [If prototype is not object (undefined), derives the fallback from NewTarget's realm (customized built-in elements)]
+ expected: FAIL
+
+ [If prototype is not object (5), derives the fallback from NewTarget's realm (customized built-in elements)]
+ expected: FAIL
+
+ [If prototype is not object (string), derives the fallback from NewTarget's realm (customized built-in elements)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-in-document-write.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-in-document-write.html.ini
new file mode 100644
index 00000000000..acf53969d9d
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-in-document-write.html.ini
@@ -0,0 +1,8 @@
+[parser-constructs-custom-element-in-document-write.html]
+ type: testharness
+ [HTML parser must instantiate custom elements inside document.write]
+ expected: FAIL
+
+ [Custom Elements: Changes to the HTML parser]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-synchronously.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-synchronously.html.ini
new file mode 100644
index 00000000000..191462ce811
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-element-synchronously.html.ini
@@ -0,0 +1,8 @@
+[parser-constructs-custom-element-synchronously.html]
+ type: testharness
+ [HTML parser must only append nodes that appear before a custom element before instantiating the custom element]
+ expected: FAIL
+
+ [Custom Elements: Changes to the HTML parser]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-elements.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-elements.html.ini
new file mode 100644
index 00000000000..174e181fc4d
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-constructs-custom-elements.html.ini
@@ -0,0 +1,6 @@
+[parser-constructs-custom-elements.html]
+ type: testharness
+ expected: ERROR
+ [HTML parser must create a defined custom element before executing inline scripts]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini
new file mode 100644
index 00000000000..177da52fce6
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini
@@ -0,0 +1,8 @@
+[parser-sets-attributes-and-children.html]
+ type: testharness
+ [HTML parser must set the attributes or append children before calling constructor]
+ expected: FAIL
+
+ [Custom Elements: Changes to the HTML parser]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-uses-constructed-element.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-uses-constructed-element.html.ini
new file mode 100644
index 00000000000..1c940fa0990
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-uses-constructed-element.html.ini
@@ -0,0 +1,11 @@
+[parser-uses-constructed-element.html]
+ type: testharness
+ [HTML parser must use the returned value of the custom element constructor instead of the one created before super() call]
+ expected: FAIL
+
+ [HTML parser must use the returned value of the custom element constructor instead using the one created in super() call]
+ expected: FAIL
+
+ [Custom Elements: HTML parser must construct a custom element instead of upgrading]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini
new file mode 100644
index 00000000000..bd53f25903e
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini
@@ -0,0 +1,11 @@
+[parser-uses-registry-of-owner-document.html]
+ type: testharness
+ [HTML parser must use the registry of the content document inside an iframe]
+ expected: FAIL
+
+ [HTML parser must use the registry of window.document in a document created by document.implementation.createHTMLDocument()]
+ expected: FAIL
+
+ [Custom Elements: HTML parser must use the owner document's custom element registry]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reaction-timing.html.ini b/tests/wpt/metadata/custom-elements/reaction-timing.html.ini
new file mode 100644
index 00000000000..5b335cb5852
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reaction-timing.html.ini
@@ -0,0 +1,11 @@
+[reaction-timing.html]
+ type: testharness
+ [setAttribute and removeAttribute must enqueue and invoke attributeChangedCallback]
+ expected: FAIL
+
+ [Calling Node.prototype.cloneNode(false) must push a new element queue to the processing stack]
+ expected: FAIL
+
+ [Custom Elements: Custom element reactions must be invoked before returning to author scripts]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini b/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini
new file mode 100644
index 00000000000..5a3ddc4ec85
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini
@@ -0,0 +1,8 @@
+[Attr.html]
+ type: testharness
+ [value on Attr must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [value on Attr must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini b/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini
new file mode 100644
index 00000000000..25a52820a2e
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini
@@ -0,0 +1,110 @@
+[CSSStyleDeclaration.html]
+ type: testharness
+ [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed]
+ expected: FAIL
+
+ [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important but the style attribute is not observed]
+ expected: FAIL
+
+ [setPropertyValue on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [setPropertyValue on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [setPropertyValue on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [setPropertyValue on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [setPropertyPriority on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed]
+ expected: FAIL
+
+ [setPropertyPriority on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important but the style attribute is not observed]
+ expected: FAIL
+
+ [removeProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it removes a property from the observed style attribute]
+ expected: FAIL
+
+ [removeProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it removes a property from the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [cssFloat on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
+ expected: FAIL
+
+ [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed]
+ expected: FAIL
+
+ [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
+ expected: FAIL
+
+ [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini b/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini
new file mode 100644
index 00000000000..4265435e3b6
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini
@@ -0,0 +1,23 @@
+[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/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini b/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini
new file mode 100644
index 00000000000..9cd64315e1b
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini
@@ -0,0 +1,26 @@
+[DOMStringMap.html]
+ type: testharness
+ [setter on DOMStringMap must enqueue an attributeChanged reaction when adding an observed data attribute]
+ expected: FAIL
+
+ [setter on DOMStringMap must not enqueue an attributeChanged reaction when adding an unobserved data attribute]
+ expected: FAIL
+
+ [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute]
+ expected: FAIL
+
+ [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute to the same value]
+ expected: FAIL
+
+ [setter on DOMStringMap must not enqueue an attributeChanged reaction when mutating the value of an unobserved data attribute]
+ expected: FAIL
+
+ [deleter on DOMStringMap must enqueue an attributeChanged reaction when removing an observed data attribute]
+ expected: FAIL
+
+ [deleter on DOMStringMap must not enqueue an attributeChanged reaction when removing an unobserved data attribute]
+ expected: FAIL
+
+ [deleter on DOMStringMap must not enqueue an attributeChanged reaction when it does not remove a data attribute]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini b/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini
new file mode 100644
index 00000000000..5c7a1734d34
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini
@@ -0,0 +1,59 @@
+[DOMTokenList.html]
+ type: testharness
+ [add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [add on DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute]
+ expected: FAIL
+
+ [add on DOMTokenList must not enqueue an attributeChanged reaction when adding a value to an unobserved attribute]
+ expected: FAIL
+
+ [add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute]
+ expected: FAIL
+
+ [remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
+ expected: FAIL
+
+ [remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute]
+ expected: FAIL
+
+ [remove on DOMTokenList must enqueue an attributeChanged reaction even when removing a non-existent value from an attribute]
+ expected: FAIL
+
+ [remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a value from an unobserved attribute]
+ expected: FAIL
+
+ [toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute]
+ expected: FAIL
+
+ [toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
+ expected: FAIL
+
+ [replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute]
+ expected: FAIL
+
+ [replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute]
+ expected: FAIL
+
+ [replace on DOMTokenList must not enqueue an attributeChanged reaction when replacing a value in an unobserved attribute]
+ expected: FAIL
+
+ [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute]
+ expected: FAIL
+
+ [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute]
+ expected: FAIL
+
+ [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when mutating the value of an unobserved attribute]
+ expected: FAIL
+
+ [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/Document.html.ini b/tests/wpt/metadata/custom-elements/reactions/Document.html.ini
new file mode 100644
index 00000000000..a31a31b0d2e
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Document.html.ini
@@ -0,0 +1,38 @@
+[Document.html]
+ type: testharness
+ [importNode on Document must not construct a new custom element when importing a custom element into a window-less document]
+ expected: FAIL
+
+ [importNode on Document must construct a new custom element when importing a custom element from a template]
+ expected: FAIL
+
+ [adoptNode on Document must enqueue an adopted reaction when importing a custom element]
+ expected: FAIL
+
+ [execCommand on Document must enqueue a disconnected reaction when deleting a custom element from a contenteditable element]
+ expected: FAIL
+
+ [title on Document must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [body on Document must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [body on Document must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [open on Document must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [write on Document must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [write on Document must enqueue connectedCallback after constructing a custom element]
+ expected: FAIL
+
+ [writeln on Document must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [writeln on Document must enqueue connectedCallback after constructing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/Element.html.ini b/tests/wpt/metadata/custom-elements/reactions/Element.html.ini
new file mode 100644
index 00000000000..9407ce44d26
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Element.html.ini
@@ -0,0 +1,125 @@
+[Element.html]
+ type: testharness
+ [id on Element must enqueue an attributeChanged reaction when adding id content attribute]
+ expected: FAIL
+
+ [id on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [className on Element must enqueue an attributeChanged reaction when adding class content attribute]
+ expected: FAIL
+
+ [className on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [slot on Element must enqueue an attributeChanged reaction when adding slot content attribute]
+ expected: FAIL
+
+ [slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setAttribute on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setAttributeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+ expected: FAIL
+
+ [removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+ expected: FAIL
+
+ [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+ expected: FAIL
+
+ [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+ expected: FAIL
+
+ [removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+ expected: FAIL
+
+ [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setAttributeNode on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setAttributeNodeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+ expected: FAIL
+
+ [removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute]
+ expected: FAIL
+
+ [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+ expected: FAIL
+
+ [insertAdjacentElement on Element must enqueue a connected reaction]
+ expected: FAIL
+
+ [insertAdjacentElement on Element must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+ expected: FAIL
+
+ [innerHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+ expected: FAIL
+
+ [innerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+ expected: FAIL
+
+ [innerHTML on Element must enqueue a disconnected reaction]
+ expected: FAIL
+
+ [outerHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+ expected: FAIL
+
+ [outerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+ expected: FAIL
+
+ [outerHTML on Element must enqueue a disconnected reaction]
+ expected: FAIL
+
+ [insertAdjacentHTML on Element must enqueue a connected reaction for a newly constructed custom element]
+ expected: FAIL
+
+ [insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/ElementContentEditable.html.ini b/tests/wpt/metadata/custom-elements/reactions/ElementContentEditable.html.ini
new file mode 100644
index 00000000000..611e7e9f241
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/ElementContentEditable.html.ini
@@ -0,0 +1,8 @@
+[ElementContentEditable.html]
+ type: testharness
+ [contentEditable on ElementContentEditable must enqueue an attributeChanged reaction when adding contenteditable content attribute]
+ expected: FAIL
+
+ [contentEditable on ElementContentEditable must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLAnchorElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLAnchorElement.html.ini
new file mode 100644
index 00000000000..4f045309030
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLAnchorElement.html.ini
@@ -0,0 +1,5 @@
+[HTMLAnchorElement.html]
+ type: testharness
+ [text on HTMLAnchorElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini
new file mode 100644
index 00000000000..5fd50683d4c
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini
@@ -0,0 +1,71 @@
+[HTMLElement.html]
+ type: testharness
+ [title on HTMLElement must enqueue an attributeChanged reaction when adding title content attribute]
+ expected: FAIL
+
+ [title on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [lang on HTMLElement must enqueue an attributeChanged reaction when adding lang content attribute]
+ expected: FAIL
+
+ [lang on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [translate on HTMLElement must enqueue an attributeChanged reaction when adding translate content attribute]
+ expected: FAIL
+
+ [translate on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [dir on HTMLElement must enqueue an attributeChanged reaction when adding dir content attribute]
+ expected: FAIL
+
+ [dir on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [hidden on HTMLElement must enqueue an attributeChanged reaction when adding hidden content attribute]
+ expected: FAIL
+
+ [hidden on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [tabIndex on HTMLElement must enqueue an attributeChanged reaction when adding tabindex content attribute]
+ expected: FAIL
+
+ [tabIndex on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [accessKey on HTMLElement must enqueue an attributeChanged reaction when adding accesskey content attribute]
+ expected: FAIL
+
+ [accessKey on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [draggable on HTMLElement must enqueue an attributeChanged reaction when adding draggable content attribute]
+ expected: FAIL
+
+ [draggable on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [dropzone on HTMLElement must enqueue an attributeChanged reaction when adding dropzone content attribute]
+ expected: FAIL
+
+ [dropzone on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [contextMenu on HTMLElement must enqueue an attributeChanged reaction when adding contextmenu content attribute]
+ expected: FAIL
+
+ [contextMenu on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [spellcheck on HTMLElement must enqueue an attributeChanged reaction when adding spellcheck content attribute]
+ expected: FAIL
+
+ [spellcheck on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [innerText on HTMLElement must enqueue a disconnected reaction]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLOptionElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLOptionElement.html.ini
new file mode 100644
index 00000000000..fe5243ef3f3
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLOptionElement.html.ini
@@ -0,0 +1,5 @@
+[HTMLOptionElement.html]
+ type: testharness
+ [text on HTMLOptionElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLOptionsCollection.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLOptionsCollection.html.ini
new file mode 100644
index 00000000000..bf68ae508ac
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLOptionsCollection.html.ini
@@ -0,0 +1,17 @@
+[HTMLOptionsCollection.html]
+ type: testharness
+ [length on HTMLOptionsCollection must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [The indexed setter on HTMLOptionsCollection must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [The indexed setter on HTMLOptionsCollection must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [add on HTMLOptionsCollection must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [remove on HTMLOptionsCollection must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLOutputElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLOutputElement.html.ini
new file mode 100644
index 00000000000..b6383331d38
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLOutputElement.html.ini
@@ -0,0 +1,8 @@
+[HTMLOutputElement.html]
+ type: testharness
+ [value on HTMLOutputElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [defaultValue on HTMLOutputElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLSelectElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLSelectElement.html.ini
new file mode 100644
index 00000000000..b2efcf5e449
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLSelectElement.html.ini
@@ -0,0 +1,17 @@
+[HTMLSelectElement.html]
+ type: testharness
+ [length on HTMLSelectElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [The indexed setter on HTMLSelectElement must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [The indexed setter on HTMLSelectElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [add on HTMLSelectElement must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [remove on HTMLSelectElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLTableElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLTableElement.html.ini
new file mode 100644
index 00000000000..2349ffff761
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLTableElement.html.ini
@@ -0,0 +1,32 @@
+[HTMLTableElement.html]
+ type: testharness
+ [caption on HTMLTableElement must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [caption on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [deleteCaption() on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [tHead on HTMLTableElement must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [tHead on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [deleteTHead() on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [tFoot on HTMLTableElement must enqueue connectedCallback when inserting a custom element]
+ expected: FAIL
+
+ [tFoot on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [deleteTFoot() on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [deleteRow() on HTMLTableElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLTableRowElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLTableRowElement.html.ini
new file mode 100644
index 00000000000..697e2e8a17d
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLTableRowElement.html.ini
@@ -0,0 +1,5 @@
+[HTMLTableRowElement.html]
+ type: testharness
+ [deleteCell() on HTMLTableRowElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLTableSectionElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLTableSectionElement.html.ini
new file mode 100644
index 00000000000..38ece7c0697
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLTableSectionElement.html.ini
@@ -0,0 +1,8 @@
+[HTMLTableSectionElement.html]
+ type: testharness
+ [deleteRow() on HTMLTableSectionElement on thead must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
+ [deleteRow() on HTMLTableSectionElement on tfoot must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLTitleElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLTitleElement.html.ini
new file mode 100644
index 00000000000..07e9cb95fc1
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/HTMLTitleElement.html.ini
@@ -0,0 +1,5 @@
+[HTMLTitleElement.html]
+ type: testharness
+ [text on HTMLTitleElement must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini b/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini
new file mode 100644
index 00000000000..9361e3c2d0f
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini
@@ -0,0 +1,44 @@
+[NamedNodeMap.html]
+ type: testharness
+ [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute]
+ expected: FAIL
+
+ [setNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute]
+ expected: FAIL
+
+ [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute]
+ expected: FAIL
+
+ [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute]
+ expected: FAIL
+
+ [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+ expected: FAIL
+
+ [removeNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute]
+ expected: FAIL
+
+ [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+ expected: FAIL
+
+ [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute]
+ expected: FAIL
+
+ [removeNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute]
+ expected: FAIL
+
+ [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/Node.html.ini b/tests/wpt/metadata/custom-elements/reactions/Node.html.ini
new file mode 100644
index 00000000000..87acc9aa613
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Node.html.ini
@@ -0,0 +1,44 @@
+[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/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini b/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini
new file mode 100644
index 00000000000..ccdf5de7cf0
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini
@@ -0,0 +1,14 @@
+[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/tests/wpt/metadata/custom-elements/reactions/Range.html.ini b/tests/wpt/metadata/custom-elements/reactions/Range.html.ini
new file mode 100644
index 00000000000..5a3c020f1bc
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Range.html.ini
@@ -0,0 +1,32 @@
+[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
+
+ [surroundContents on Range must enqueue a connected reaction]
+ expected: FAIL
+
+ [surroundContents on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
+ expected: FAIL
+
+ [createContextualFragment on Range must construct a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/Selection.html.ini b/tests/wpt/metadata/custom-elements/reactions/Selection.html.ini
new file mode 100644
index 00000000000..43ac3815194
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/Selection.html.ini
@@ -0,0 +1,5 @@
+[Selection.html]
+ type: testharness
+ [deleteFromDocument on Selection must enqueue a disconnected reaction]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/reactions/ShadowRoot.html.ini b/tests/wpt/metadata/custom-elements/reactions/ShadowRoot.html.ini
new file mode 100644
index 00000000000..49b5a34b747
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/reactions/ShadowRoot.html.ini
@@ -0,0 +1,11 @@
+[ShadowRoot.html]
+ type: testharness
+ [innerHTML on ShadowRoot must upgrade a custom element]
+ expected: FAIL
+
+ [innerHTML on ShadowRoot must enqueue connectedCallback on newly upgraded custom elements when the shadow root is connected]
+ expected: FAIL
+
+ [innerHTML on ShadowRoot must enqueue disconnectedCallback when removing a custom element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/upgrading.html.ini b/tests/wpt/metadata/custom-elements/upgrading.html.ini
new file mode 100644
index 00000000000..9a070a44860
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/upgrading.html.ini
@@ -0,0 +1,56 @@
+[upgrading.html]
+ type: testharness
+ [Creating an element in the document of the template elements and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in the document of the template elements and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a new document and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a new document and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a cloned document and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a cloned document and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a document created by createHTMLDocument and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in a document created by createHTMLDocument and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in an HTML document created by createDocument and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in an HTML document created by createDocument and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in an HTML document fetched by XHR and inserting into the document must not enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in an HTML document fetched by XHR and adopting back to a document with browsing context must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Creating an element in the document of an iframe must enqueue a custom element upgrade reaction if there is a matching definition]
+ expected: FAIL
+
+ ["define" in the document of an iframe must not enqueue a custom element upgrade reaction on a disconnected unresolved custom element]
+ expected: FAIL
+
+ [Inserting an unresolved custom element into the document of an iframe must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ ["define" in the document of an iframe must enqueue a custom element upgrade reaction on a connected unresolved custom element]
+ expected: FAIL
+
+ [Adopting and inserting an unresolved custom element into the document of an iframe must enqueue a custom element upgrade reaction]
+ expected: FAIL
+
+ [Custom Elements: Enqueue a custom element upgrade reaction]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/upgrading/Node-cloneNode.html.ini b/tests/wpt/metadata/custom-elements/upgrading/Node-cloneNode.html.ini
new file mode 100644
index 00000000000..3214c6fd3b0
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/upgrading/Node-cloneNode.html.ini
@@ -0,0 +1,26 @@
+[Node-cloneNode.html]
+ type: testharness
+ [Node.prototype.cloneNode(false) must be able to clone a custom element]
+ expected: FAIL
+
+ [Node.prototype.cloneNode(false) must be able to clone a custom element inside an iframe]
+ expected: FAIL
+
+ [Node.prototype.cloneNode(true) must be able to clone a descendent custom element]
+ expected: FAIL
+
+ [Node.prototype.cloneNode(true) must set parentNode, previousSibling, and nextSibling before upgrading custom elements]
+ expected: FAIL
+
+ [HTMLElement constructor must throw an InvalidStateError when the top of the construction stack is marked AlreadyConstructed due to a custom element constructor constructing itself after super() call]
+ expected: FAIL
+
+ [HTMLElement constructor must throw an InvalidStateError when the top of the construction stack is marked AlreadyConstructed due to a custom element constructor constructing itself before super() call]
+ expected: FAIL
+
+ [Upgrading a custom element must throw InvalidStateError when the custom element's constructor returns another element]
+ expected: FAIL
+
+ [Inserting an element must not try to upgrade a custom element when it had already failed to upgrade once]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/upgrading/upgrading-enqueue-reactions.html.ini b/tests/wpt/metadata/custom-elements/upgrading/upgrading-enqueue-reactions.html.ini
new file mode 100644
index 00000000000..6b6638f0b86
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/upgrading/upgrading-enqueue-reactions.html.ini
@@ -0,0 +1,17 @@
+[upgrading-enqueue-reactions.html]
+ type: testharness
+ [Upgrading a custom element must enqueue attributeChangedCallback on each attribute]
+ expected: FAIL
+
+ [Upgrading a custom element not must enqueue attributeChangedCallback on unobserved attributes]
+ expected: FAIL
+
+ [Upgrading a custom element must enqueue connectedCallback if the element in the document]
+ expected: FAIL
+
+ [Upgrading a custom element must enqueue attributeChangedCallback before connectedCallback]
+ expected: FAIL
+
+ [Upgrading a custom element must not invoke attributeChangedCallback and connectedCallback when the element failed to upgrade]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/upgrading/upgrading-parser-created-element.html.ini b/tests/wpt/metadata/custom-elements/upgrading/upgrading-parser-created-element.html.ini
new file mode 100644
index 00000000000..d252ad96aa1
--- /dev/null
+++ b/tests/wpt/metadata/custom-elements/upgrading/upgrading-parser-created-element.html.ini
@@ -0,0 +1,14 @@
+[upgrading-parser-created-element.html]
+ type: testharness
+ [Element.prototype.createElement must add an unresolved custom element to the upgrade candidates map]
+ expected: FAIL
+
+ [HTMLElement constructor must throw an InvalidStateError when the top of the construction stack is marked AlreadyConstructed due to a custom element constructor constructing itself after super() call]
+ expected: FAIL
+
+ [HTMLElement constructor must throw an InvalidStateError when the top of the construction stack is marked AlreadyConstructed due to a custom element constructor constructing itself before super() call]
+ expected: FAIL
+
+ [Upgrading a custom element must throw an InvalidStateError when the returned element is not SameValue as the upgraded element]
+ expected: FAIL
+
diff --git a/tests/wpt/mozilla/meta/mozilla/webgl/context_creation_error.html.ini b/tests/wpt/mozilla/meta/mozilla/webgl/context_creation_error.html.ini
index 6bd695d32a7..bb16d57a91d 100644
--- a/tests/wpt/mozilla/meta/mozilla/webgl/context_creation_error.html.ini
+++ b/tests/wpt/mozilla/meta/mozilla/webgl/context_creation_error.html.ini
@@ -1,4 +1,5 @@
[context_creation_error.html]
type: reftest
[WebGLContextEvent "webglcontextcreationerror" event]
- expected: FAIL \ No newline at end of file
+ expected: FAIL
+