Bug 1292930: stylo: Fix handling of eRestyle_LaterSiblings when not combined with other change hints.
MozReview-Commit-ID: AeLLm64d5aP
--- a/layout/base/ServoRestyleManager.cpp
+++ b/layout/base/ServoRestyleManager.cpp
@@ -185,17 +185,18 @@ ServoRestyleManager::NoteRestyleHint(Ele
// selector matching on all the descendants. There's a bug on Servo to align
// meanings here (#12710) to avoid this potential source of confusion.
} else if (aHint & eRestyle_SomeDescendants) {
MarkChildrenAsDirtyForServo(aElement);
MarkParentsAsHavingDirtyDescendants(aElement);
}
if (aHint & eRestyle_LaterSiblings) {
- for (nsINode* cur = aElement->GetNextSibling(); cur;
+ MarkParentsAsHavingDirtyDescendants(aElement);
+ for (nsIContent* cur = aElement->GetNextSibling(); cur;
cur = cur->GetNextSibling()) {
cur->SetIsDirtyForServo();
}
}
// TODO: Handle all other nsRestyleHint values.
if (aHint & ~HANDLED_RESTYLE_HINTS) {
NS_WARNING(nsPrintfCString("stylo: Unhandled restyle hint %s",