Bug 1409975 - Implement node distribution for shadow tree slots

* Implementation for assignedNodes
* Include slots in the flat tree
* Fix event get-the-parent algorithm for a node
* Update and add reftests for Shadow DOM v1
* Update web platform tests expectations

Tag #1375
This commit is contained in:
Matt A. Tobin 2020-04-17 07:10:54 -04:00 committed by Roy Tam
commit cab78760e5
49 changed files with 775 additions and 429 deletions

View file

@ -1,6 +1,6 @@
[interfaces.html]
type: testharness
prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true]
prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true, dom.webcomponents.enabled:true]
[Document interface: attribute domain]
expected: FAIL
@ -2524,21 +2524,6 @@
[HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions)]
expected: FAIL
[HTMLSlotElement must be primary interface of document.createElement("slot")]
expected: FAIL
[Stringification of document.createElement("slot")]
expected: FAIL
[HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type (0)]
expected: FAIL
[HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes" with the proper type (1)]
expected: FAIL
[HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError]
expected: FAIL
[HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type (6)]
expected: FAIL

View file

@ -1,6 +1,6 @@
[reflection-misc.html]
type: testharness
prefs: [dom.dialog_element.enabled: true]
prefs: [dom.dialog_element.enabled: true, dom.webcomponents.enabled:true]
[html.tabIndex: setAttribute() to object "3" followed by getAttribute()]
expected: FAIL

View file

@ -1,44 +0,0 @@
[HTMLSlotElement-interface.html]
type: testharness
[HTMLSlotElement must be defined on window]
expected: FAIL
["name" attribute on HTMLSlotElement must reflect "name" attribute]
expected: FAIL
[assignedNodes() on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree]
expected: FAIL
[assignedNodes({"flattened":false}) on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree]
expected: FAIL
[assignedNodes({"flattened":true}) on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree]
expected: FAIL
[assignedNodes() must return the list of assigned nodes when none of the assigned nodes themselves are slots]
expected: FAIL
[assignedNodes({"flattened":false}) must return the list of assigned nodes when none of the assigned nodes themselves are slots]
expected: FAIL
[assignedNodes({"flattened":true}) must return the list of assigned nodes when none of the assigned nodes themselves are slots]
expected: FAIL
[assignedNodes() must update when slot and name attributes are modified]
expected: FAIL
[assignedNodes({"flattened":false}) must update when slot and name attributes are modified]
expected: FAIL
[assignedNodes({"flattened":true}) must update when slot and name attributes are modified]
expected: FAIL
[assignedNodes must update when a default slot is introduced dynamically by a slot rename]
expected: FAIL
[assignedNodes must update when slot elements are inserted or removed]
expected: FAIL
[assignedNodes({flatten: true}) must return the distributed nodes, and assignedNodes() and assignedNodes({flatten: false}) must returned the assigned nodes]
expected: FAIL

View file

@ -1,12 +0,0 @@
[Slotable-interface.html]
type: testharness
prefs: [dom.webcomponents.enabled:true]
[assignedSlot must return null when the node does not have an assigned node]
expected: FAIL
[assignedSlot must return the assigned slot]
expected: FAIL
[assignedSlot must return null when the assigned slot element is inside a closed shadow tree]
expected: FAIL

View file

@ -1,38 +0,0 @@
[event-inside-slotted-node.html]
type: testharness
[Firing an event inside a grand child of a detached open mode shadow host]
expected: FAIL
[Firing an event inside a grand child of a detached closed mode shadow host]
expected: FAIL
[Firing an event inside a grand child of an in-document open mode shadow host]
expected: FAIL
[Firing an event inside a grand child of an in-document closed mode shadow host]
expected: FAIL
[Firing an event on a node with two ancestors with a detached open and open shadow trees with an inner open shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached open and open shadow trees with an inner closed shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached open and closed shadow trees with an inner open shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached open and closed shadow trees with an inner closed shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached closed and open shadow trees with an inner open shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached closed and open shadow trees with an inner closed shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached closed and closed shadow trees with an inner open shadow tree]
expected: FAIL
[Firing an event on a node with two ancestors with a detached closed and closed shadow trees with an inner closed shadow tree]
expected: FAIL

View file

@ -1,32 +0,0 @@
[slots-fallback.html]
type: testharness
[Slots fallback: Basic.]
expected: FAIL
[Slots fallback: Slots in Slots.]
expected: FAIL
[Slots fallback: Fallback contents should not be used if a node is assigned.]
expected: FAIL
[Slots fallback: Slots in Slots: Assinged nodes should be used as fallback contents of another slot]
expected: FAIL
[Slots fallback: Complex case.]
expected: FAIL
[Slots fallback: Mutation. Append fallback contents.]
expected: FAIL
[Slots fallback: Mutation. Remove fallback contents.]
expected: FAIL
[Slots fallback: Mutation. Assign a node to a slot so that fallback contens are no longer used.]
expected: FAIL
[Slots fallback: Mutation. Remove an assigned node from a slot so that fallback contens will be used.]
expected: FAIL
[Slots fallback: Mutation. Remove a slot which is a fallback content of another slot.]
expected: FAIL

View file

@ -1,71 +0,0 @@
[slots.html]
type: testharness
[Slots: Basic.]
expected: FAIL
[Slots: Slots in closed.]
expected: FAIL
[Slots: Slots not in a shadow tree.]
expected: FAIL
[Slots: Distributed nooes for Slots not in a shadow tree.]
expected: FAIL
[Slots: Name matching]
expected: FAIL
[Slots: No direct host child.]
expected: FAIL
[Slots: Default Slot.]
expected: FAIL
[Slots: Slot in Slot does not matter in assignment.]
expected: FAIL
[Slots: Slot is assigned to another slot]
expected: FAIL
[Slots: Open > Closed.]
expected: FAIL
[Slots: Closed > Closed.]
expected: FAIL
[Slots: Closed > Open.]
expected: FAIL
[Slots: Complex case: Basi line.]
expected: FAIL
[Slots: Mutation: appendChild.]
expected: FAIL
[Slots: Mutation: Change slot= attribute 1.]
expected: FAIL
[Slots: Mutation: Change slot= attribute 2.]
expected: FAIL
[Slots: Mutation: Change slot= attribute 3.]
expected: FAIL
[Slots: Mutation: Remove a child.]
expected: FAIL
[Slots: Mutation: Add a slot: after.]
expected: FAIL
[Slots: Mutation: Add a slot: before.]
expected: FAIL
[Slots: Mutation: Remove a slot.]
expected: FAIL
[Slots: Mutation: Change slot name= attribute.]
expected: FAIL
[Slots: Mutation: Change slot slot= attribute.]
expected: FAIL