Closed
Bug 307419
Opened 20 years ago
Closed 19 years ago
Remove mPresContext in /layout/xul/
Categories
(Core :: XUL, defect)
Core
XUL
Tracking
()
RESOLVED
FIXED
People
(Reporter: vhaarr+bmo, Assigned: vhaarr+bmo)
Details
Attachments
(1 file, 1 obsolete file)
82.87 KB,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
In the spirit of bug 301313 and bug 264453, I removed some mPresContext
variables in layout/xul.
Patch coming.
Assignee | ||
Comment 1•20 years ago
|
||
First stab at layout/xul mPresContext removal.
I'm not even sure we want to do this - ref. dbarons bug 264453 comment 2 - but
I was bored, so I just patched it.
Attachment #195180 -
Flags: review?(bzbarsky)
![]() |
||
Comment 2•20 years ago
|
||
The difference is that frames are not stack-allocated -- they're always around.
I'm not going to be able to get to this patch for a bit, though.
Assignee | ||
Comment 3•20 years ago
|
||
Ah, right.
Well, this isn't exactly an urgent patch, so take your time :-)
![]() |
||
Comment 4•19 years ago
|
||
Comment on attachment 195180 [details] [diff] [review]
version 0.1
>Index: xul/base/src/nsBoxFrame.cpp
> nsBoxFrame::FireDOMEvent(const nsAString& aDOMEventName, nsIContent *aContent)
>+ if (content && GetPresContext()) {
Please store GetPresContext() in a local here -- it's used 3 times in a row.
>Index: xul/base/src/nsListBoxBodyFrame.cpp
> nsListBoxBodyFrame::InternalPositionChanged(PRBool aUp, PRInt32 aDelta)
Same in this function -- either cache it, or get it off the state (with state.PresContext()).
>Index: xul/base/src/nsMenuPopupFrame.cpp
>@@ -252,23 +249,23 @@ nsMenuPopupFrame::MarkStyleChange(nsBoxL
>+ nsIPopupSetFrame* popupSet = GetPopupSetFrame(GetPresContext());
....
>+ nsBoxLayoutState state(GetPresContext());
Local variable, please.
>@@ -303,23 +300,23 @@ nsMenuPopupFrame::MarkDirty(nsBoxLayoutS
Same here.
>@@ -344,23 +341,23 @@ nsMenuPopupFrame::RelayoutDirtyChild(nsB
And here.
>Index: xul/base/src/nsPopupSetFrame.cpp
>@@ -748,17 +746,17 @@ nsPopupSetFrame::RemovePopupFrame(nsIFra
And here -- put the temporary outside the loop!
>Index: xul/base/src/nsSplitterFrame.cpp
> nsSplitterFrameInner::MouseDown(nsIDOMEvent* aMouseEvent)
Again, local, please.
>Index: xul/base/src/tree/src/nsTreeBodyFrame.cpp
> nsTreeBodyFrame::EnsureScrollable(PRBool ensureboth)
Local here, please.
>@@ -826,30 +825,30 @@ nsTreeBodyFrame::CheckOverflow()
And here.
>nsTreeBodyFrame::AdjustClientCoordsToBoxCoordSpace(PRInt32 aX, PRInt32 aY,
And in this method.
>@@ -1907,50 +1906,50 @@ PRInt32 nsTreeBodyFrame::GetRowHeight()
And here.
>@@ -3228,27 +3227,27 @@ nsTreeBodyFrame::PaintDropFeedback(const
And here.
>@@ -3447,27 +3446,27 @@ nsTreeBodyFrame::ScrollInternal(PRInt32
And here.
> nsTreeBodyFrame::ScrollHorzInternal(PRInt32 aPosition)
And here.
>@@ -3560,44 +3559,44 @@ nsTreeBodyFrame::PositionChanged(nsISupp
And here.
Attachment #195180 -
Flags: review?(bzbarsky)
![]() |
||
Updated•19 years ago
|
Attachment #195180 -
Flags: review-
Assignee | ||
Comment 5•19 years ago
|
||
Thanks for pointing out all those silly mistakes. I should've done those before submitting the initial patch.
I think I got them all now.
Attachment #195180 -
Attachment is obsolete: true
Attachment #205864 -
Flags: review?(roc)
Why does listboxbodyframe hold a pointer to the frame constructor? That seems mad. Maybe file a followup bug.
Comment on attachment 205864 [details] [diff] [review]
version 0.2
much better! I'll check in.
Attachment #205864 -
Flags: superreview+
Attachment #205864 -
Flags: review?(roc)
Attachment #205864 -
Flags: review+
Assignee | ||
Comment 8•19 years ago
|
||
(In reply to comment #6)
> Why does listboxbodyframe hold a pointer to the frame constructor? That seems
> mad. Maybe file a followup bug.
Yes, that is weird. I'll make it get a nsCSSFrameConstructor from the PresShell instead in bug 320337.
checked in.
Assignee | ||
Comment 10•19 years ago
|
||
-> FIXED.
Thanks for the reviews and checkin.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•