Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
This commit is contained in:
@@ -71,6 +71,15 @@ public:
|
||||
const nsRect& aDirtyRect,
|
||||
const nsDisplayListSet& aLists);
|
||||
|
||||
virtual nscoord GetMinWidth(nsIRenderingContext *aRenderingContext);
|
||||
|
||||
virtual nscoord GetPrefWidth(nsIRenderingContext *aRenderingContext);
|
||||
|
||||
// Differs from GetMinWidth in that it allows one to specify whether
|
||||
// to fall back on 0 for the min width if we have a specified width.
|
||||
nscoord DoGetMinWidth(nsIRenderingContext *aRenderingContext,
|
||||
PRBool aZeroIfWidthSpecified);
|
||||
|
||||
NS_IMETHOD Reflow(nsPresContext* aPresContext,
|
||||
nsHTMLReflowMetrics& aDesiredSize,
|
||||
const nsHTMLReflowState& aReflowState,
|
||||
@@ -122,6 +131,8 @@ public:
|
||||
return GetFirstChild(nsnull)->GetContentInsertionFrame();
|
||||
}
|
||||
|
||||
virtual PRBool IsFrameOfType(PRUint32 aFlags) const;
|
||||
|
||||
protected:
|
||||
virtual PRBool IsReset(PRInt32 type);
|
||||
virtual PRBool IsSubmit(PRInt32 type);
|
||||
@@ -129,8 +140,6 @@ protected:
|
||||
nsHTMLReflowMetrics& aDesiredSize,
|
||||
const nsHTMLReflowState& aReflowState,
|
||||
nsIFrame* aFirstKid,
|
||||
const nsSize& aAvailSize,
|
||||
nsReflowReason aReason,
|
||||
nsMargin aFocusPadding,
|
||||
nsReflowStatus& aStatus);
|
||||
|
||||
@@ -139,11 +148,6 @@ protected:
|
||||
|
||||
PRIntn GetSkipSides() const;
|
||||
nsButtonFrameRenderer mRenderer;
|
||||
|
||||
//Resize Reflow OpitmizationSize;
|
||||
nsSize mCacheSize;
|
||||
nscoord mCachedAscent;
|
||||
nscoord mCachedMaxElementWidth;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user