summaryrefslogtreecommitdiff
path: root/layout/generic/nsPlaceholderFrame.cpp
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-17 06:07:51 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-17 06:07:51 -0400
commit0c99ad16fbb5c3b90ee140235159f9a0ee72397b (patch)
treea8ac891f2d7dd3864bd461feaebafd06988e21e3 /layout/generic/nsPlaceholderFrame.cpp
parent2bcd8923f776e1c7bc716bd42c7e7912c4fe8709 (diff)
downloaduxp-0c99ad16fbb5c3b90ee140235159f9a0ee72397b.tar.gz
Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
Diffstat (limited to 'layout/generic/nsPlaceholderFrame.cpp')
-rw-r--r--layout/generic/nsPlaceholderFrame.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/layout/generic/nsPlaceholderFrame.cpp b/layout/generic/nsPlaceholderFrame.cpp
index bd380a2d98..62370a06a4 100644
--- a/layout/generic/nsPlaceholderFrame.cpp
+++ b/layout/generic/nsPlaceholderFrame.cpp
@@ -156,16 +156,15 @@ nsPlaceholderFrame::DestroyFrom(nsIFrame* aDestructRoot)
{
nsIFrame* oof = mOutOfFlowFrame;
if (oof) {
- // Unregister out-of-flow frame
- nsFrameManager* fm = PresContext()->GetPresShell()->FrameManager();
- fm->UnregisterPlaceholderFrame(this);
mOutOfFlowFrame = nullptr;
+ oof->DeleteProperty(nsIFrame::PlaceholderFrameProperty());
// If aDestructRoot is not an ancestor of the out-of-flow frame,
// then call RemoveFrame on it here.
// Also destroy it here if it's a popup frame. (Bug 96291)
if ((GetStateBits() & PLACEHOLDER_FOR_POPUP) ||
!nsLayoutUtils::IsProperAncestorFrame(aDestructRoot, oof)) {
ChildListID listId = nsLayoutUtils::GetChildListNameFor(oof);
+ nsFrameManager* fm = PresContext()->GetPresShell()->FrameManager();
fm->RemoveFrame(listId, oof);
}
// else oof will be destroyed by its parent