mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1425685 - Implement HTMLSlotElement.assignedElements(); r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D15653 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
7a748ae68f
commit
1990d76d46
@ -141,6 +141,17 @@ void HTMLSlotElement::AssignedNodes(const AssignedNodesOptions& aOptions,
|
||||
aNodes = mAssignedNodes;
|
||||
}
|
||||
|
||||
void HTMLSlotElement::AssignedElements(const AssignedNodesOptions& aOptions,
|
||||
nsTArray<RefPtr<Element>>& aElements) {
|
||||
AutoTArray<RefPtr<nsINode>, 128> assignedNodes;
|
||||
AssignedNodes(aOptions, assignedNodes);
|
||||
for (const RefPtr<nsINode>& assignedNode : assignedNodes) {
|
||||
if (assignedNode->IsElement()) {
|
||||
aElements.AppendElement(assignedNode->AsElement());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const nsTArray<RefPtr<nsINode>>& HTMLSlotElement::AssignedNodes() const {
|
||||
return mAssignedNodes;
|
||||
}
|
||||
|
@ -50,6 +50,9 @@ class HTMLSlotElement final : public nsGenericHTMLElement {
|
||||
void AssignedNodes(const AssignedNodesOptions& aOptions,
|
||||
nsTArray<RefPtr<nsINode>>& aNodes);
|
||||
|
||||
void AssignedElements(const AssignedNodesOptions& aOptions,
|
||||
nsTArray<RefPtr<Element>>& aNodes);
|
||||
|
||||
// Helper methods
|
||||
const nsTArray<RefPtr<nsINode>>& AssignedNodes() const;
|
||||
void InsertAssignedNode(uint32_t aIndex, nsINode* aNode);
|
||||
|
@ -15,6 +15,7 @@
|
||||
interface HTMLSlotElement : HTMLElement {
|
||||
[CEReactions, SetterThrows] attribute DOMString name;
|
||||
sequence<Node> assignedNodes(optional AssignedNodesOptions options);
|
||||
sequence<Element> assignedElements(optional AssignedNodesOptions options);
|
||||
};
|
||||
|
||||
dictionary AssignedNodesOptions {
|
||||
|
@ -631,15 +631,6 @@
|
||||
[HTMLDialogElement interface: operation close(DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLSlotElement interface: operation assignedElements(AssignedNodesOptions)]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedElements(AssignedNodesOptions)" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLSlotElement interface: calling assignedElements(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLCanvasElement interface: operation transferControlToOffscreen()]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
[slots-fallback.html]
|
||||
[Slots fallback: Basic, elements only.]
|
||||
expected: FAIL
|
||||
|
||||
[Slots fallback: Slots in Slots, elements only.]
|
||||
expected: FAIL
|
||||
|
||||
[Slots fallback: Complex case, elements only.]
|
||||
expected: FAIL
|
||||
|
@ -1,10 +0,0 @@
|
||||
[slots.html]
|
||||
[Slots: Basic, elements only.]
|
||||
expected: FAIL
|
||||
|
||||
[Slots: Slots in closed, elements only.]
|
||||
expected: FAIL
|
||||
|
||||
[Slots: Slots not in a shadow tree, elements only.]
|
||||
expected: FAIL
|
||||
|
Loading…
Reference in New Issue
Block a user