Bug 1382568: Use range-based for loop instead of array indexing in IsOrHasAncestorWithDisplayNone. r?heycam
MozReview-Commit-ID: H8Gbh523eoO
--- a/dom/html/nsGenericHTMLElement.cpp
+++ b/dom/html/nsGenericHTMLElement.cpp
@@ -2987,24 +2987,23 @@ IsOrHasAncestorWithDisplayNone(Element*
}
elementsToCheck.AppendElement(e);
}
if (elementsToCheck.IsEmpty()) {
return false;
}
- // XXXbholley: This could be done more directly with Servo's style system.
StyleSetHandle styleSet = aPresShell->StyleSet();
RefPtr<nsStyleContext> sc;
- for (int32_t i = elementsToCheck.Length() - 1; i >= 0; --i) {
+ for (auto* element : Reversed(elementsToCheck)) {
if (sc) {
- sc = styleSet->ResolveStyleFor(elementsToCheck[i], sc, LazyComputeBehavior::Assert);
+ sc = styleSet->ResolveStyleFor(element, sc, LazyComputeBehavior::Assert);
} else {
- sc = nsComputedDOMStyle::GetStyleContextNoFlush(elementsToCheck[i],
+ sc = nsComputedDOMStyle::GetStyleContextNoFlush(element,
nullptr, aPresShell);
}
if (sc->StyleDisplay()->mDisplay == StyleDisplay::None) {
return true;
}
}
return false;