mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 15:58:39 +09:00
Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
This commit is contained in:
parent
854827bd83
commit
9b868f0298
18 changed files with 52 additions and 166 deletions
|
|
@ -4336,8 +4336,7 @@ CheckPlaceholderInLine(nsIFrame* aBlock, nsLineBox* aLine, nsFloatCache* aFC)
|
|||
"float in a line should never be a continuation");
|
||||
NS_ASSERTION(!(aFC->mFloat->GetStateBits() & NS_FRAME_IS_PUSHED_FLOAT),
|
||||
"float in a line should never be a pushed float");
|
||||
nsIFrame* ph = aBlock->PresContext()->FrameManager()->
|
||||
GetPlaceholderFrameFor(aFC->mFloat->FirstInFlow());
|
||||
nsIFrame* ph = aFC->mFloat->FirstInFlow()->GetPlaceholderFrame();
|
||||
for (nsIFrame* f = ph; f; f = f->GetParent()) {
|
||||
if (f->GetParent() == aBlock)
|
||||
return aLine->Contains(f);
|
||||
|
|
@ -4939,9 +4938,8 @@ nsBlockFrame::DrainSelfPushedFloats()
|
|||
if (f->GetPrevContinuation()) {
|
||||
// FIXME
|
||||
} else {
|
||||
nsPlaceholderFrame *placeholder =
|
||||
presContext->FrameManager()->GetPlaceholderFrameFor(f);
|
||||
nsIFrame *floatOriginalParent = presContext->PresShell()->
|
||||
nsPlaceholderFrame* placeholder = f->GetPlaceholderFrame();
|
||||
nsIFrame* floatOriginalParent = presContext->PresShell()->
|
||||
FrameConstructor()->GetFloatContainingBlock(placeholder);
|
||||
if (floatOriginalParent != this) {
|
||||
// This is a first continuation that was pushed from one of our
|
||||
|
|
@ -5565,7 +5563,7 @@ FindChildContaining(nsBlockFrame* aFrame, nsIFrame* aFindFrame)
|
|||
return nullptr;
|
||||
if (!(child->GetStateBits() & NS_FRAME_OUT_OF_FLOW))
|
||||
break;
|
||||
aFindFrame = aFrame->PresContext()->FrameManager()->GetPlaceholderFrameFor(child);
|
||||
aFindFrame = child->GetPlaceholderFrame();
|
||||
}
|
||||
|
||||
return child;
|
||||
|
|
@ -6847,9 +6845,8 @@ nsBlockFrame::ChildIsDirty(nsIFrame* aChild)
|
|||
AddStateBits(NS_BLOCK_LOOK_FOR_DIRTY_FRAMES);
|
||||
} else {
|
||||
NS_ASSERTION(aChild->IsFloating(), "should be a float");
|
||||
nsIFrame *thisFC = FirstContinuation();
|
||||
nsIFrame *placeholderPath =
|
||||
PresContext()->FrameManager()->GetPlaceholderFrameFor(aChild);
|
||||
nsIFrame* thisFC = FirstContinuation();
|
||||
nsIFrame* placeholderPath = aChild->GetPlaceholderFrame();
|
||||
// SVG code sometimes sends FrameNeedsReflow notifications during
|
||||
// frame destruction, leading to null placeholders, but we're safe
|
||||
// ignoring those.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue