Bug 1404134: Drop assertion that can be hit mid-unbind. r?heycam
On that test-case we have something like:
<body restyle-root>
<element dirty-descendants>
<element-2>
</element>
</body>
If we change the state of element-2 after unbinding the <body>, which clears the
body's flags, but not the children's flags, there'll be no restyle root, even
though our parent has the relevant flags anyway.
This doesn't compromise correctness in any way, so I'd rather drop the assertion
that shuffle a bunch of stuff so it holds.
MozReview-Commit-ID: KFVTkXclKST
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -4420,17 +4420,16 @@ NoteDirtyElement(Element* aElement, uint
// when it happens. Nothing left to do.
if (!parent->HasServoData()) {
return;
}
// Similarly, if our parent already has the bit we're propagating, we can
// assume everything is already set up.
if (parent->HasAllFlags(aBits)) {
- MOZ_ASSERT(aElement->GetComposedDoc()->GetServoRestyleRoot());
return;
}
// If the parent is styled but is display:none, we're done.
//
// We check for a frame to reduce the cases where we need the FFI call.
if (!parent->GetPrimaryFrame() && Servo_Element_IsDisplayNone(parent)) {
return;