Simplify the overflow child frame reparenting in

nsInlineFrame::DestroyFrom.
This commit is contained in:
Mats Palmgren 2019-11-29 00:19:03 +01:00 committed by Roy Tam
commit a67d5f872c
2 changed files with 2 additions and 7 deletions

View file

@ -199,8 +199,7 @@ nsInlineFrame::DestroyFrom(nsIFrame* aDestructRoot)
// Fixup the parent pointers for any child frames on the OverflowList.
// nsIFrame::DestroyFrom depends on that to find the sticky scroll
// container (an ancestor).
nsIFrame* lineContainer = nsLayoutUtils::FindNearestBlockAncestor(this);
DrainSelfOverflowListInternal(eForDestroy, lineContainer);
overflowFrames->ApplySetParent(this);
}
nsContainerFrame::DestroyFrom(aDestructRoot);
}
@ -508,8 +507,7 @@ nsInlineFrame::DrainSelfOverflowListInternal(DrainFlags aFlags,
if (aLineContainer && aLineContainer->GetPrevContinuation()) {
ReparentFloatsForInlineChild(aLineContainer, firstChild, true);
}
const bool doReparentSC =
(aFlags & eInFirstLine) && !(aFlags & eForDestroy);
const bool doReparentSC = (aFlags & eInFirstLine);
RestyleManagerHandle restyleManager = PresContext()->RestyleManager();
for (nsIFrame* f = firstChild; f; f = f->GetNextSibling()) {
f->SetParent(this);