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:
dbaron@dbaron.org
2006-12-08 05:38:33 +00:00
parent 0f0fb052ce
commit d21cb374bd
201 changed files with 8724 additions and 18251 deletions
+11 -7
View File
@@ -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