Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 77ba6cd

Browse files
committed
Backed out changeset 55052ae7d067 (bug 1851868) for reftest failure on 1153695.html . CLOSED TREE
1 parent 45f6244 commit 77ba6cd

File tree

87 files changed

+411
-313
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+411
-313
lines changed

layout/base/nsFrameManager.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ void nsFrameManager::Destroy() {
5050
mPresShell->SetIgnoreFrameDestruction(true);
5151

5252
if (mRootFrame) {
53-
FrameDestroyContext context(mRootFrame);
54-
mRootFrame->Destroy(context);
53+
mRootFrame->Destroy();
5554
mRootFrame = nullptr;
5655
}
5756

layout/forms/nsColorControlFrame.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ NS_QUERYFRAME_HEAD(nsColorControlFrame)
3838
NS_QUERYFRAME_ENTRY(nsIAnonymousContentCreator)
3939
NS_QUERYFRAME_TAIL_INHERITING(nsHTMLButtonControlFrame)
4040

41-
void nsColorControlFrame::Destroy(DestroyContext& aContext) {
42-
aContext.AddAnonymousContent(mColorContent.forget());
43-
nsHTMLButtonControlFrame::Destroy(aContext);
41+
void nsColorControlFrame::DestroyFrom(nsIFrame* aDestructRoot,
42+
PostDestroyData& aPostDestroyData) {
43+
aPostDestroyData.AddAnonymousContent(mColorContent.forget());
44+
nsHTMLButtonControlFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
4445
}
4546

4647
#ifdef DEBUG_FRAME_DUMP

layout/forms/nsColorControlFrame.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class nsColorControlFrame final : public nsHTMLButtonControlFrame,
2727
friend nsIFrame* NS_NewColorControlFrame(mozilla::PresShell* aPresShell,
2828
ComputedStyle* aStyle);
2929

30-
void Destroy(DestroyContext&) override;
30+
virtual void DestroyFrom(nsIFrame* aDestructRoot,
31+
PostDestroyData& aPostDestroyData) override;
3132

3233
NS_DECL_QUERYFRAME
3334
NS_DECL_FRAMEARENA_HELPERS(nsColorControlFrame)

layout/forms/nsComboboxControlFrame.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -845,16 +845,17 @@ nsIFrame* nsComboboxControlFrame::CreateFrameForDisplayNode() {
845845
return mDisplayFrame;
846846
}
847847

848-
void nsComboboxControlFrame::Destroy(DestroyContext& aContext) {
848+
void nsComboboxControlFrame::DestroyFrom(nsIFrame* aDestructRoot,
849+
PostDestroyData& aPostDestroyData) {
849850
// Revoke any pending RedisplayTextEvent
850851
mRedisplayTextEvent.Revoke();
851852

852853
mEventListener->Detach();
853854

854855
// Cleanup frames in popup child list
855-
aContext.AddAnonymousContent(mDisplayContent.forget());
856-
aContext.AddAnonymousContent(mButtonContent.forget());
857-
nsBlockFrame::Destroy(aContext);
856+
aPostDestroyData.AddAnonymousContent(mDisplayContent.forget());
857+
aPostDestroyData.AddAnonymousContent(mButtonContent.forget());
858+
nsBlockFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
858859
}
859860

860861
const nsFrameList& nsComboboxControlFrame::GetChildList(

layout/forms/nsComboboxControlFrame.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ class nsComboboxControlFrame final : public nsBlockFrame,
105105
#ifdef DEBUG_FRAME_DUMP
106106
nsresult GetFrameName(nsAString& aResult) const final;
107107
#endif
108-
void Destroy(DestroyContext&) final;
109-
108+
void DestroyFrom(nsIFrame* aDestructRoot,
109+
PostDestroyData& aPostDestroyData) final;
110110
void SetInitialChildList(ChildListID aListID, nsFrameList&& aChildList) final;
111111
const nsFrameList& GetChildList(ChildListID aListID) const final;
112112
void GetChildLists(nsTArray<ChildList>* aLists) const final;

layout/forms/nsFileControlFrame.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ void nsFileControlFrame::Init(nsIContent* aContent, nsContainerFrame* aParent,
5959
mMouseListener = new DnDListener(this);
6060
}
6161

62-
void nsFileControlFrame::Destroy(DestroyContext& aContext) {
62+
void nsFileControlFrame::DestroyFrom(nsIFrame* aDestructRoot,
63+
PostDestroyData& aPostDestroyData) {
6364
NS_ENSURE_TRUE_VOID(mContent);
6465

6566
// Remove the events.
@@ -68,11 +69,11 @@ void nsFileControlFrame::Destroy(DestroyContext& aContext) {
6869
mContent->RemoveSystemEventListener(u"dragover"_ns, mMouseListener, false);
6970
}
7071

71-
aContext.AddAnonymousContent(mTextContent.forget());
72-
aContext.AddAnonymousContent(mBrowseFilesOrDirs.forget());
72+
aPostDestroyData.AddAnonymousContent(mTextContent.forget());
73+
aPostDestroyData.AddAnonymousContent(mBrowseFilesOrDirs.forget());
7374

7475
mMouseListener->ForgetFrame();
75-
nsBlockFrame::Destroy(aContext);
76+
nsBlockFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
7677
}
7778

7879
static already_AddRefed<Element> MakeAnonButton(

layout/forms/nsFileControlFrame.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class nsFileControlFrame final : public nsBlockFrame,
3939
nsresult SetFormProperty(nsAtom* aName, const nsAString& aValue) override;
4040
void SetFocus(bool aOn, bool aRepaint) override;
4141

42-
void Destroy(DestroyContext&) override;
42+
void DestroyFrom(nsIFrame* aDestructRoot,
43+
PostDestroyData& aPostDestroyData) override;
4344

4445
#ifdef DEBUG_FRAME_DUMP
4546
nsresult GetFrameName(nsAString& aResult) const override;

layout/forms/nsGfxButtonControlFrame.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ nsContainerFrame* NS_NewGfxButtonControlFrame(PresShell* aPresShell,
2626

2727
NS_IMPL_FRAMEARENA_HELPERS(nsGfxButtonControlFrame)
2828

29-
void nsGfxButtonControlFrame::Destroy(DestroyContext& aContext) {
30-
aContext.AddAnonymousContent(mTextContent.forget());
31-
nsHTMLButtonControlFrame::Destroy(aContext);
29+
void nsGfxButtonControlFrame::DestroyFrom(nsIFrame* aDestructRoot,
30+
PostDestroyData& aPostDestroyData) {
31+
aPostDestroyData.AddAnonymousContent(mTextContent.forget());
32+
nsHTMLButtonControlFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
3233
}
3334

3435
#ifdef DEBUG_FRAME_DUMP

layout/forms/nsGfxButtonControlFrame.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class nsGfxButtonControlFrame final : public nsHTMLButtonControlFrame,
2727
explicit nsGfxButtonControlFrame(ComputedStyle* aStyle,
2828
nsPresContext* aPresContext);
2929

30-
void Destroy(DestroyContext&) override;
30+
virtual void DestroyFrom(nsIFrame* aDestructRoot,
31+
PostDestroyData& aPostDestroyData) override;
3132

3233
virtual nsresult HandleEvent(nsPresContext* aPresContext,
3334
mozilla::WidgetGUIEvent* aEvent,

layout/forms/nsListControlFrame.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,16 @@ Maybe<nscoord> nsListControlFrame::GetNaturalBaselineBOffset(
7777
return Nothing{};
7878
}
7979
// for Bug 47302 (remove this comment later)
80-
void nsListControlFrame::Destroy(DestroyContext& aContext) {
80+
void nsListControlFrame::DestroyFrom(nsIFrame* aDestructRoot,
81+
PostDestroyData& aPostDestroyData) {
8182
// get the receiver interface from the browser button's content node
8283
NS_ENSURE_TRUE_VOID(mContent);
8384

8485
// Clear the frame pointer on our event listener, just in case the
8586
// event listener can outlive the frame.
8687

8788
mEventListener->Detach();
88-
nsHTMLScrollFrame::Destroy(aContext);
89+
nsHTMLScrollFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
8990
}
9091

9192
void nsListControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,

0 commit comments

Comments
 (0)