From 99895a902b5df38ff91a4f089137ff7b5692480a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Fri, 15 Jun 2018 20:14:02 -0700 Subject: [PATCH] Bug 1469112: Use HTMLSlotElement::FromNode more consistently. r=smaug MozReview-Commit-ID: 1k8lVazP0lR --HG-- extra : rebase_source : fb505610b745dc414c2f28a0ba3130eec6160666 --- dom/html/HTMLSlotElement.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/dom/html/HTMLSlotElement.cpp b/dom/html/HTMLSlotElement.cpp index 378c8f26e13d..fa946dbe6bc1 100644 --- a/dom/html/HTMLSlotElement.cpp +++ b/dom/html/HTMLSlotElement.cpp @@ -130,15 +130,15 @@ FlattenAssignedNodes(HTMLSlotElement* aSlot, nsTArray>& aNodes) // If assignedNodes is empty, use children of slot as fallback content. if (assignedNodes.IsEmpty()) { - for (nsIContent* child = aSlot->AsContent()->GetFirstChild(); + for (nsIContent* child = aSlot->GetFirstChild(); child; child = child->GetNextSibling()) { if (!child->IsSlotable()) { continue; } - if (child->IsHTMLElement(nsGkAtoms::slot)) { - FlattenAssignedNodes(HTMLSlotElement::FromNode(child), aNodes); + if (auto* slot = HTMLSlotElement::FromNode(child)) { + FlattenAssignedNodes(slot, aNodes); } else { aNodes.AppendElement(child); } @@ -146,11 +146,9 @@ FlattenAssignedNodes(HTMLSlotElement* aSlot, nsTArray>& aNodes) return; } - for (uint32_t i = 0; i < assignedNodes.Length(); i++) { - nsINode* assignedNode = assignedNodes[i]; - if (assignedNode->IsHTMLElement(nsGkAtoms::slot)) { - FlattenAssignedNodes( - HTMLSlotElement::FromNode(assignedNode->AsContent()), aNodes); + for (const RefPtr& assignedNode : assignedNodes) { + if (auto* slot = HTMLSlotElement::FromNode(assignedNode)) { + FlattenAssignedNodes(slot, aNodes); } else { aNodes.AppendElement(assignedNode); }