Bug 1405547: Account for mid-unbind conditions in the BitsArePropagated assertion too. r?heycam
I'm not adding a crashtest because the one provided is kinda unreliable, and I
suck and I wasn't able to find a better one.
MozReview-Commit-ID: CmaF0NO4Dff
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -4570,16 +4570,17 @@ NoteDirtyElement(Element* aElement, uint
// See the comment in nsIDocument::SetServoRestyleRoot about the !IsElement()
// check there. Same justification here.
MOZ_ASSERT(aElement == doc->GetServoRestyleRoot() ||
!doc->GetServoRestyleRoot()->IsElement() ||
nsContentUtils::ContentIsFlattenedTreeDescendantOfForStyle(
aElement, doc->GetServoRestyleRoot()));
MOZ_ASSERT(aElement == doc->GetServoRestyleRoot() ||
+ !doc->GetServoRestyleRoot()->IsElement() ||
BitsArePropagated(parent, aBits, doc->GetServoRestyleRoot()));
MOZ_ASSERT(doc->GetServoRestyleRootDirtyBits() & aBits);
}
void
Element::NoteDirtySubtreeForServo()
{
MOZ_ASSERT(IsInComposedDoc());