1,295
edits
No edit summary |
No edit summary |
||
Line 38: | Line 38: | ||
return new (aPresShell) ViewportFrame; | return new (aPresShell) ViewportFrame; | ||
} | } | ||
* nsIFrame::Append/Insert/RemoveFrame: http://bugzilla.mozilla.org/show_bug.cgi?id=244581 | * nsIFrame::Append/Insert/RemoveFrame: http://bugzilla.mozilla.org/show_bug.cgi?id=244581 The main goal here is to remove the nsPresContext and nsPresShell parameters, since the frame always knows its own prescontext and you can get the presshell from the prescontext. | ||
The main goal here is to remove the nsPresContext and nsPresShell parameters, since the frame always knows its own prescontext and you can get the presshell from the prescontext. | |||
* Box methods in nsIFrame: http://bugzilla.mozilla.org/show_bug.cgi?id=243370 See the section under "// BOX LAYOUT METHODS" in nsIFrame.h. GetPrefSize, GetMinSize, GetMaxSize, GetFlex, GetOrdinal, GetAscent, IsCollapsed, IsDirty, HasDirtyChildren, GetChildBox, GetNextBox, GetParentBox, GetBorderAndPadding, GetBorder, GetPadding, GetInset, GetMargin, GetLayoutManager, GetContentRect, GetClientRect, GetVAlign, GetHAlign, GetOverflow, GetIndexOf, and ChildrenMustHaveWidgets probably can all return their results directly instead of via an out parameter. GetOrientation and GetDirection can be removed and all callers redirected to IsHorizontal and IsNormalDirection. GetContentRect should be removed since it's trivial, and GetClientRect should be renamed to GetContentRect and return the rect directly. Some of these methods may only have one implementation in which case we can make them non-virtual or even inline. | * Box methods in nsIFrame: http://bugzilla.mozilla.org/show_bug.cgi?id=243370 See the section under "// BOX LAYOUT METHODS" in nsIFrame.h. GetPrefSize, GetMinSize, GetMaxSize, GetFlex, GetOrdinal, GetAscent, IsCollapsed, IsDirty, HasDirtyChildren, GetChildBox, GetNextBox, GetParentBox, GetBorderAndPadding, GetBorder, GetPadding, GetInset, GetMargin, GetLayoutManager, GetContentRect, GetClientRect, GetVAlign, GetHAlign, GetOverflow, GetIndexOf, and ChildrenMustHaveWidgets probably can all return their results directly instead of via an out parameter. GetOrientation and GetDirection can be removed and all callers redirected to IsHorizontal and IsNormalDirection. GetContentRect should be removed since it's trivial, and GetClientRect should be renamed to GetContentRect and return the rect directly. Some of these methods may only have one implementation in which case we can make them non-virtual or even inline. | ||
* Not really deCOMtamination, but anyway: many frames have an mPresContext field. This should be removed, and uses of that field can just call GetPresContext on the frame. | * Not really deCOMtamination, but anyway: many frames have an mPresContext field. This should be removed, and uses of that field can just call GetPresContext on the frame. | ||
* Lots of the non-Box methods of nsIFrame could be cleaned up too. We can remove the nsPresContext parameter from almost all of them. Many of them return their result in an 'out' parameter and should just return the result directly. Understanding the best way to do this for various methods will require some more creativity and understanding of the existing code. | * Lots of the non-Box methods of nsIFrame could be cleaned up too. We can remove the nsPresContext parameter from almost all of them. Many of them return their result in an 'out' parameter and should just return the result directly. Understanding the best way to do this for various methods will require some more creativity and understanding of the existing code. |
edits