Bug 1467526 - Add a few MOZ_DIAGNOSTIC_ASSERT in nsLineBox::DeleteLineList to enforce our invariants better. r=emilio

This commit is contained in:
Mats Palmgren 2018-06-07 20:20:34 +02:00
parent 1a8d574976
commit e95647ed68

View File

@ -396,12 +396,14 @@ nsLineBox::DeleteLineList(nsPresContext* aPresContext, nsLineList& aLines,
}
while (line->GetChildCount() > 0) {
nsIFrame* child = aFrames->RemoveFirstChild();
MOZ_ASSERT(child == line->mFirstChild, "Lines out of sync");
MOZ_DIAGNOSTIC_ASSERT(child->PresContext() == aPresContext);
MOZ_DIAGNOSTIC_ASSERT(child == line->mFirstChild, "Lines out of sync");
line->mFirstChild = aFrames->FirstChild();
line->NoteFrameRemoved(child);
child->DestroyFrom(aDestructRoot, aPostDestroyData);
}
MOZ_DIAGNOSTIC_ASSERT(line == aLines.front(),
"destroying child frames messed up our lines!");
aLines.pop_front();
line->Destroy(shell);
}