From df3aef5b18e2a1f51824f8bc602f15af2c8688b8 Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Mon, 12 Oct 1998 17:00:32 +0000 Subject: [PATCH] Removed nsCSSLayout::GetStyleSize and converted callers to use state in the html reflow state git-svn-id: svn://10.0.0.236/trunk@12578 18797224-902f-48f8-a5cc-f745e15eee43 --- .../content/html/style/src/nsCSSLayout.cpp | 188 ------------------ mozilla/layout/forms/nsFormControlFrame.cpp | 19 +- mozilla/layout/generic/nsBlockFrame.cpp | 65 +++--- mozilla/layout/generic/nsBlockReflowState.cpp | 65 +++--- mozilla/layout/generic/nsBlockReflowState.h | 65 +++--- mozilla/layout/generic/nsFrameFrame.cpp | 21 +- mozilla/layout/generic/nsImageFrame.cpp | 44 ++-- mozilla/layout/generic/nsLineLayout.cpp | 1 - mozilla/layout/generic/nsObjectFrame.cpp | 11 +- mozilla/layout/generic/nsPlaceholderFrame.cpp | 1 - mozilla/layout/html/base/src/nsBlockFrame.cpp | 65 +++--- .../html/base/src/nsBlockReflowState.cpp | 65 +++--- .../layout/html/base/src/nsBlockReflowState.h | 65 +++--- mozilla/layout/html/base/src/nsBodyFrame.cpp | 13 +- mozilla/layout/html/base/src/nsHRFrame.cpp | 13 +- mozilla/layout/html/base/src/nsIHTMLReflow.h | 12 ++ mozilla/layout/html/base/src/nsImageFrame.cpp | 44 ++-- mozilla/layout/html/base/src/nsLineLayout.cpp | 1 - .../layout/html/base/src/nsObjectFrame.cpp | 11 +- .../html/base/src/nsPlaceholderFrame.cpp | 1 - .../layout/html/base/src/nsScrollFrame.cpp | 21 +- .../layout/html/document/src/nsFrameFrame.cpp | 21 +- .../html/forms/src/nsFormControlFrame.cpp | 19 +- mozilla/layout/html/style/src/nsCSSLayout.cpp | 188 ------------------ mozilla/layout/html/style/src/nsCSSLayout.h | 16 -- .../html/table/src/nsTableCellFrame.cpp | 1 - .../html/table/src/nsTableOuterFrame.cpp | 1 - mozilla/layout/tables/nsTableCellFrame.cpp | 1 - mozilla/layout/tables/nsTableOuterFrame.cpp | 1 - 29 files changed, 348 insertions(+), 691 deletions(-) diff --git a/mozilla/content/html/style/src/nsCSSLayout.cpp b/mozilla/content/html/style/src/nsCSSLayout.cpp index 9083aa529c8..0f5823b5faa 100644 --- a/mozilla/content/html/style/src/nsCSSLayout.cpp +++ b/mozilla/content/html/style/src/nsCSSLayout.cpp @@ -121,191 +121,3 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX, kid->GetNextSibling(kid); } } - -#if XXX -// XXX if this can handle proportional widths then do so -// XXX check against other possible values and update -static PRBool -GetStyleDimension(nsIPresContext* aPresContext, - const nsHTMLReflowState& aReflowState, - const nsStylePosition* aStylePos, - const nsStyleCoord& aCoord, - nscoord& aResult) -{ - PRBool rv = PR_FALSE; - - PRIntn unit = aCoord.GetUnit(); - if (eStyleUnit_Coord == unit) { - aResult = aCoord.GetCoordValue(); - rv = PR_TRUE; - } - // XXX This isn't correct to use the containg block's width for a percentage - // height. According to the CSS2 spec: "The percentage is calculated with respect - // to the height of the generated box's containing block. If the height of the - // containing block is not specified explicitly (i.e., it depends on content - // height), the value is interpreted like 'auto'". - else if (eStyleUnit_Percent == unit) { - // CSS2 has specified that percentage width/height values are basd - // on the containing block's width. - // XXX need to subtract out padding, also this needs - // to be synced with nsFrame's IsPercentageBase - const nsReflowState* rs = &aReflowState; - while (nsnull != rs) { - nsIFrame* block = nsnull; - rs->frame->QueryInterface(kBlockFrameCID, (void**) &block); - if (nsnull != block) { - if (NS_UNCONSTRAINEDSIZE == rs->maxSize.width) { - // When we find an unconstrained block it means that pass1 - // table reflow is occuring. In this case the percentage - // value is unknown so assume it's epsilon for now. - aResult = 1; - } - else { - // We found the nearest containing block which defines what a - // percentage size is relative to. Use the width that it will - // reflow to as the basis for computing our width. - aResult = nscoord(rs->maxSize.width * aCoord.GetPercentValue()); - } - rv = PR_TRUE; - break; - } - aResult = 0; - rs = rs->parentReflowState; - } - } - else { - aResult = 0; - } - - // Negative width's are ignored - if (aResult <= 0) { - rv = PR_FALSE; - } - return rv; -} -#endif - - // XXX if display == row || rowspan ignore width - // XXX if display == col || colspan ignore height -PRIntn -nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext, - const nsHTMLReflowState& aReflowState, - nsSize& aStyleSize) -{ - PRIntn rv = NS_SIZE_HAS_NONE; - - const nsStylePosition* pos; - nsresult result = - aReflowState.frame->GetStyleData(eStyleStruct_Position, - (const nsStyleStruct*&)pos); - if (NS_OK == result) { - nscoord containingBlockWidth, containingBlockHeight; - nscoord width = -1, height = -1; - PRIntn widthUnit = pos->mWidth.GetUnit(); - PRIntn heightUnit = pos->mHeight.GetUnit(); - - // When a percentage is specified we need to find the containing - // block to use as the basis for the percentage computation. - if ((eStyleUnit_Percent == widthUnit) || - (eStyleUnit_Percent == heightUnit)) { - // Find the containing block for this frame - nsIFrame* containingBlock = nsnull; - // XXX this cast is just plain wrong - const nsHTMLReflowState* rs = (const nsHTMLReflowState*) - aReflowState.parentReflowState; - while (nsnull != rs) { - if (nsnull != rs->frame) { - PRBool isContainingBlock; - if (NS_OK == rs->frame->IsPercentageBase(isContainingBlock)) { - if (isContainingBlock) { - containingBlock = rs->frame; - break; - } - } - } - // XXX this cast is just plain wrong - rs = (const nsHTMLReflowState*) rs->parentReflowState; - } - - // If there is no containing block then pretend the width or - // height units are auto. - if (nsnull == containingBlock) { - if (eStyleUnit_Percent == widthUnit) { - widthUnit = eStyleUnit_Auto; - } - if (eStyleUnit_Percent == heightUnit) { - heightUnit = eStyleUnit_Auto; - } - } - else { - if (eStyleUnit_Percent == widthUnit) { - if (eHTMLFrameConstraint_Unconstrained == rs->widthConstraint) { - if (NS_UNCONSTRAINEDSIZE == rs->maxSize.width) { - // When we don't know the width (yet) of the containing - // block we use a dummy value, assuming that the frame - // depending on the percentage value will be reflowed a - // second time. - containingBlockWidth = 1; - } - else { - containingBlockWidth = rs->maxSize.width; - } - } - else { - containingBlockWidth = rs->minWidth; - } - } - if (eStyleUnit_Percent == heightUnit) { - if (eHTMLFrameConstraint_Unconstrained == rs->heightConstraint) { - if (NS_UNCONSTRAINEDSIZE == rs->maxSize.height) { - // CSS2 spec, 10.5: if the height of the containing block - // is not specified explicitly then the value is - // interpreted like auto. - heightUnit = eStyleUnit_Auto; - } - else { - containingBlockHeight = rs->maxSize.height; - } - } - else { - containingBlockHeight = rs->minHeight; - } - } - } - } - - switch (widthUnit) { - case eStyleUnit_Coord: - width = pos->mWidth.GetCoordValue(); - break; - case eStyleUnit_Percent: - width = nscoord(pos->mWidth.GetPercentValue() * containingBlockWidth); - break; - case eStyleUnit_Auto: - // XXX See section 10.3 of the css2 spec and then write this code! - break; - } - switch (heightUnit) { - case eStyleUnit_Coord: - height = pos->mHeight.GetCoordValue(); - break; - case eStyleUnit_Percent: - height = nscoord(pos->mHeight.GetPercentValue() * containingBlockHeight); - break; - case eStyleUnit_Auto: - // XXX See section 10.6 of the css2 spec and then write this code! - break; - } - - if (width > 0) { - aStyleSize.width = width; - rv |= NS_SIZE_HAS_WIDTH; - } - if (height > 0) { - aStyleSize.height = height; - rv |= NS_SIZE_HAS_HEIGHT; - } - } - - return rv; -} diff --git a/mozilla/layout/forms/nsFormControlFrame.cpp b/mozilla/layout/forms/nsFormControlFrame.cpp index 68c6a72c4ec..a05ab7f2d8e 100644 --- a/mozilla/layout/forms/nsFormControlFrame.cpp +++ b/mozilla/layout/forms/nsFormControlFrame.cpp @@ -44,7 +44,6 @@ #include "nsISupports.h" #include "nsStyleConsts.h" #include "nsUnitConversion.h" -#include "nsCSSLayout.h" #include "nsStyleUtil.h" #include "nsFormFrame.h" #include "nsIContent.h" @@ -556,15 +555,21 @@ NS_METHOD nsFormControlFrame::HandleEvent(nsIPresContext& aPresContext, return NS_OK; } -void nsFormControlFrame::GetStyleSize(nsIPresContext& aPresContext, - const nsHTMLReflowState& aReflowState, - nsSize& aSize) +void +nsFormControlFrame::GetStyleSize(nsIPresContext& aPresContext, + const nsHTMLReflowState& aReflowState, + nsSize& aSize) { - PRIntn ss = nsCSSLayout::GetStyleSize(&aPresContext, aReflowState, aSize); - if (0 == (ss & NS_SIZE_HAS_WIDTH)) { + if (aReflowState.HaveConstrainedWidth()) { + aSize.width = aReflowState.minWidth; + } + else { aSize.width = CSS_NOTSET; } - if (0 == (ss & NS_SIZE_HAS_HEIGHT)) { + if (aReflowState.HaveConstrainedHeight()) { + aSize.height = aReflowState.minHeight; + } + else { aSize.height = CSS_NOTSET; } } diff --git a/mozilla/layout/generic/nsBlockFrame.cpp b/mozilla/layout/generic/nsBlockFrame.cpp index f75b702afc5..a528baaebf4 100644 --- a/mozilla/layout/generic/nsBlockFrame.cpp +++ b/mozilla/layout/generic/nsBlockFrame.cpp @@ -20,7 +20,6 @@ #include "nsFrameReflowState.h" #include "nsLineLayout.h" #include "nsInlineReflow.h" -#include "nsCSSLayout.h" #include "nsAbsoluteFrame.h" #include "nsPlaceholderFrame.h" #include "nsStyleConsts.h" @@ -3871,45 +3870,55 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, nsBlockReflowState& aState, nsIFrame* aFloaterFrame) { - // Prepare the reflow state for the floater frame. Note that initially - // it's maxSize will be 0,0 until we compute it (we need the reflowState - // for nsLayout::GetStyleSize so we have to do this first) + // Prepare the reflow state for the floater frame. Note that + // initially it's maxSize will be 0,0 until we compute it. nsSize kidAvailSize(0, 0); nsHTMLReflowState reflowState(aPresContext, aFloaterFrame, aState, kidAvailSize, eReflowReason_Initial); - // Compute the available space for the floater. Use the default - // 'auto' width and height values - nsSize styleSize; - PRIntn styleSizeFlags = - nsCSSLayout::GetStyleSize(&aPresContext, reflowState, styleSize); + // If either dimension is constrained then get the border and + // padding values in advance. + nsMargin bp(0, 0, 0, 0); + if (reflowState.HaveConstrainedWidth() || + reflowState.HaveConstrainedHeight()) { + const nsStyleSpacing* spacing; + if (NS_OK == aFloaterFrame->GetStyleData(eStyleStruct_Spacing, + (const nsStyleStruct*&)spacing)) { + spacing->CalcBorderPaddingFor(aFloaterFrame, bp); + } + } - // XXX The width and height are for the content area only. Add in space for - // border and padding - if (styleSizeFlags & NS_SIZE_HAS_WIDTH) { - kidAvailSize.width = styleSize.width; + // Compute the available width for the floater + if (reflowState.HaveConstrainedWidth()) { + // When the floater has a contrained width, give it just enough + // space for its styled width plus its borders and paddings. + kidAvailSize.width = reflowState.minWidth + bp.left + bp.right; } else { // If we are floating something and we don't know the width then - // find a maximum width for it to reflow into. - - // XXX if the child is a block (instead of a table, say) then this - // will do the wrong thing. A better choice would be - // NS_UNCONSTRAINEDSIZE, but that has special meaning to tables. - const nsReflowState* rsp = &aState; + // find a maximum width for it to reflow into. Walk upwards until + // we find something with an unconstrained width. + const nsHTMLReflowState* rsp = &aState; kidAvailSize.width = 0; while (nsnull != rsp) { - if ((0 != rsp->maxSize.width) && - (NS_UNCONSTRAINEDSIZE != rsp->maxSize.width)) { - kidAvailSize.width = rsp->maxSize.width; + if (eHTMLFrameConstraint_Unconstrained != rsp->widthConstraint) { + kidAvailSize.width = rsp->minWidth; break; } - rsp = rsp->parentReflowState; + else if (NS_UNCONSTRAINEDSIZE != rsp->widthConstraint) { + kidAvailSize.width = rsp->maxSize.width; + if (kidAvailSize.width > 0) { + break; + } + } + // XXX This cast is unfortunate! + rsp = (const nsHTMLReflowState*) rsp->parentReflowState; } - NS_ASSERTION(0 != kidAvailSize.width, "no width for block found"); } - if (styleSizeFlags & NS_SIZE_HAS_HEIGHT) { - kidAvailSize.height = styleSize.height; + + // Compute the available height for the floater + if (reflowState.HaveConstrainedHeight()) { + kidAvailSize.height = reflowState.minHeight + bp.top + bp.bottom; } else { kidAvailSize.height = NS_UNCONSTRAINEDSIZE; @@ -3917,9 +3926,9 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, reflowState.maxSize = kidAvailSize; // Resize reflow the anchored item into the available space - // XXX Check for complete? nsIHTMLReflow* floaterReflow; - if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, (void**)&floaterReflow)) { + if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, + (void**)&floaterReflow)) { nsHTMLReflowMetrics desiredSize(nsnull); nsReflowStatus status; floaterReflow->WillReflow(aPresContext); diff --git a/mozilla/layout/generic/nsBlockReflowState.cpp b/mozilla/layout/generic/nsBlockReflowState.cpp index f75b702afc5..a528baaebf4 100644 --- a/mozilla/layout/generic/nsBlockReflowState.cpp +++ b/mozilla/layout/generic/nsBlockReflowState.cpp @@ -20,7 +20,6 @@ #include "nsFrameReflowState.h" #include "nsLineLayout.h" #include "nsInlineReflow.h" -#include "nsCSSLayout.h" #include "nsAbsoluteFrame.h" #include "nsPlaceholderFrame.h" #include "nsStyleConsts.h" @@ -3871,45 +3870,55 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, nsBlockReflowState& aState, nsIFrame* aFloaterFrame) { - // Prepare the reflow state for the floater frame. Note that initially - // it's maxSize will be 0,0 until we compute it (we need the reflowState - // for nsLayout::GetStyleSize so we have to do this first) + // Prepare the reflow state for the floater frame. Note that + // initially it's maxSize will be 0,0 until we compute it. nsSize kidAvailSize(0, 0); nsHTMLReflowState reflowState(aPresContext, aFloaterFrame, aState, kidAvailSize, eReflowReason_Initial); - // Compute the available space for the floater. Use the default - // 'auto' width and height values - nsSize styleSize; - PRIntn styleSizeFlags = - nsCSSLayout::GetStyleSize(&aPresContext, reflowState, styleSize); + // If either dimension is constrained then get the border and + // padding values in advance. + nsMargin bp(0, 0, 0, 0); + if (reflowState.HaveConstrainedWidth() || + reflowState.HaveConstrainedHeight()) { + const nsStyleSpacing* spacing; + if (NS_OK == aFloaterFrame->GetStyleData(eStyleStruct_Spacing, + (const nsStyleStruct*&)spacing)) { + spacing->CalcBorderPaddingFor(aFloaterFrame, bp); + } + } - // XXX The width and height are for the content area only. Add in space for - // border and padding - if (styleSizeFlags & NS_SIZE_HAS_WIDTH) { - kidAvailSize.width = styleSize.width; + // Compute the available width for the floater + if (reflowState.HaveConstrainedWidth()) { + // When the floater has a contrained width, give it just enough + // space for its styled width plus its borders and paddings. + kidAvailSize.width = reflowState.minWidth + bp.left + bp.right; } else { // If we are floating something and we don't know the width then - // find a maximum width for it to reflow into. - - // XXX if the child is a block (instead of a table, say) then this - // will do the wrong thing. A better choice would be - // NS_UNCONSTRAINEDSIZE, but that has special meaning to tables. - const nsReflowState* rsp = &aState; + // find a maximum width for it to reflow into. Walk upwards until + // we find something with an unconstrained width. + const nsHTMLReflowState* rsp = &aState; kidAvailSize.width = 0; while (nsnull != rsp) { - if ((0 != rsp->maxSize.width) && - (NS_UNCONSTRAINEDSIZE != rsp->maxSize.width)) { - kidAvailSize.width = rsp->maxSize.width; + if (eHTMLFrameConstraint_Unconstrained != rsp->widthConstraint) { + kidAvailSize.width = rsp->minWidth; break; } - rsp = rsp->parentReflowState; + else if (NS_UNCONSTRAINEDSIZE != rsp->widthConstraint) { + kidAvailSize.width = rsp->maxSize.width; + if (kidAvailSize.width > 0) { + break; + } + } + // XXX This cast is unfortunate! + rsp = (const nsHTMLReflowState*) rsp->parentReflowState; } - NS_ASSERTION(0 != kidAvailSize.width, "no width for block found"); } - if (styleSizeFlags & NS_SIZE_HAS_HEIGHT) { - kidAvailSize.height = styleSize.height; + + // Compute the available height for the floater + if (reflowState.HaveConstrainedHeight()) { + kidAvailSize.height = reflowState.minHeight + bp.top + bp.bottom; } else { kidAvailSize.height = NS_UNCONSTRAINEDSIZE; @@ -3917,9 +3926,9 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, reflowState.maxSize = kidAvailSize; // Resize reflow the anchored item into the available space - // XXX Check for complete? nsIHTMLReflow* floaterReflow; - if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, (void**)&floaterReflow)) { + if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, + (void**)&floaterReflow)) { nsHTMLReflowMetrics desiredSize(nsnull); nsReflowStatus status; floaterReflow->WillReflow(aPresContext); diff --git a/mozilla/layout/generic/nsBlockReflowState.h b/mozilla/layout/generic/nsBlockReflowState.h index f75b702afc5..a528baaebf4 100644 --- a/mozilla/layout/generic/nsBlockReflowState.h +++ b/mozilla/layout/generic/nsBlockReflowState.h @@ -20,7 +20,6 @@ #include "nsFrameReflowState.h" #include "nsLineLayout.h" #include "nsInlineReflow.h" -#include "nsCSSLayout.h" #include "nsAbsoluteFrame.h" #include "nsPlaceholderFrame.h" #include "nsStyleConsts.h" @@ -3871,45 +3870,55 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, nsBlockReflowState& aState, nsIFrame* aFloaterFrame) { - // Prepare the reflow state for the floater frame. Note that initially - // it's maxSize will be 0,0 until we compute it (we need the reflowState - // for nsLayout::GetStyleSize so we have to do this first) + // Prepare the reflow state for the floater frame. Note that + // initially it's maxSize will be 0,0 until we compute it. nsSize kidAvailSize(0, 0); nsHTMLReflowState reflowState(aPresContext, aFloaterFrame, aState, kidAvailSize, eReflowReason_Initial); - // Compute the available space for the floater. Use the default - // 'auto' width and height values - nsSize styleSize; - PRIntn styleSizeFlags = - nsCSSLayout::GetStyleSize(&aPresContext, reflowState, styleSize); + // If either dimension is constrained then get the border and + // padding values in advance. + nsMargin bp(0, 0, 0, 0); + if (reflowState.HaveConstrainedWidth() || + reflowState.HaveConstrainedHeight()) { + const nsStyleSpacing* spacing; + if (NS_OK == aFloaterFrame->GetStyleData(eStyleStruct_Spacing, + (const nsStyleStruct*&)spacing)) { + spacing->CalcBorderPaddingFor(aFloaterFrame, bp); + } + } - // XXX The width and height are for the content area only. Add in space for - // border and padding - if (styleSizeFlags & NS_SIZE_HAS_WIDTH) { - kidAvailSize.width = styleSize.width; + // Compute the available width for the floater + if (reflowState.HaveConstrainedWidth()) { + // When the floater has a contrained width, give it just enough + // space for its styled width plus its borders and paddings. + kidAvailSize.width = reflowState.minWidth + bp.left + bp.right; } else { // If we are floating something and we don't know the width then - // find a maximum width for it to reflow into. - - // XXX if the child is a block (instead of a table, say) then this - // will do the wrong thing. A better choice would be - // NS_UNCONSTRAINEDSIZE, but that has special meaning to tables. - const nsReflowState* rsp = &aState; + // find a maximum width for it to reflow into. Walk upwards until + // we find something with an unconstrained width. + const nsHTMLReflowState* rsp = &aState; kidAvailSize.width = 0; while (nsnull != rsp) { - if ((0 != rsp->maxSize.width) && - (NS_UNCONSTRAINEDSIZE != rsp->maxSize.width)) { - kidAvailSize.width = rsp->maxSize.width; + if (eHTMLFrameConstraint_Unconstrained != rsp->widthConstraint) { + kidAvailSize.width = rsp->minWidth; break; } - rsp = rsp->parentReflowState; + else if (NS_UNCONSTRAINEDSIZE != rsp->widthConstraint) { + kidAvailSize.width = rsp->maxSize.width; + if (kidAvailSize.width > 0) { + break; + } + } + // XXX This cast is unfortunate! + rsp = (const nsHTMLReflowState*) rsp->parentReflowState; } - NS_ASSERTION(0 != kidAvailSize.width, "no width for block found"); } - if (styleSizeFlags & NS_SIZE_HAS_HEIGHT) { - kidAvailSize.height = styleSize.height; + + // Compute the available height for the floater + if (reflowState.HaveConstrainedHeight()) { + kidAvailSize.height = reflowState.minHeight + bp.top + bp.bottom; } else { kidAvailSize.height = NS_UNCONSTRAINEDSIZE; @@ -3917,9 +3926,9 @@ nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext, reflowState.maxSize = kidAvailSize; // Resize reflow the anchored item into the available space - // XXX Check for complete? nsIHTMLReflow* floaterReflow; - if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, (void**)&floaterReflow)) { + if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID, + (void**)&floaterReflow)) { nsHTMLReflowMetrics desiredSize(nsnull); nsReflowStatus status; floaterReflow->WillReflow(aPresContext); diff --git a/mozilla/layout/generic/nsFrameFrame.cpp b/mozilla/layout/generic/nsFrameFrame.cpp index a3762d2c2c3..4c68b776c90 100644 --- a/mozilla/layout/generic/nsFrameFrame.cpp +++ b/mozilla/layout/generic/nsFrameFrame.cpp @@ -35,7 +35,6 @@ #include "nsStyleCoord.h" #include "nsIStyleContext.h" #include "nsStyleConsts.h" -#include "nsCSSLayout.h" #include "nsIDocumentLoader.h" #include "nsIPref.h" #include "nsFrameSetFrame.h" @@ -236,19 +235,19 @@ nsHTMLFrameOuterFrame::GetDesiredSize(nsIPresContext* aPresContext, // processing does not use this routine, only