Bug 1096260 - Convert flags parameter of nsIFrame::ComputeSize from uint32_t to a typed enum, and update callers accordingly. r=dholbert

This commit is contained in:
Jonathan Kew
2014-11-11 11:02:41 +00:00
parent 2b08bacba8
commit b15e11bc92
26 changed files with 42 additions and 34 deletions

View File

@@ -318,7 +318,7 @@ nsFieldSetFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
LogicalSize result = LogicalSize result =
nsContainerFrame::ComputeSize(aRenderingContext, aWM, nsContainerFrame::ComputeSize(aRenderingContext, aWM,

View File

@@ -29,7 +29,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual nscoord GetLogicalBaseline(mozilla::WritingMode aWritingMode) const MOZ_OVERRIDE; virtual nscoord GetLogicalBaseline(mozilla::WritingMode aWritingMode) const MOZ_OVERRIDE;
/** /**

View File

@@ -641,7 +641,7 @@ FloatMarginISize(const nsHTMLReflowState& aCBReflowState,
aFloatOffsetState.ComputedLogicalBorderPadding().Size(wm) - aFloatOffsetState.ComputedLogicalBorderPadding().Size(wm) -
aFloatOffsetState.ComputedLogicalPadding().Size(wm), aFloatOffsetState.ComputedLogicalPadding().Size(wm),
aFloatOffsetState.ComputedLogicalPadding().Size(wm), aFloatOffsetState.ComputedLogicalPadding().Size(wm),
true); nsIFrame::ComputeSizeFlags::eShrinkWrap);
return floatSize.ISize(wm) + return floatSize.ISize(wm) +
aFloatOffsetState.ComputedLogicalMargin().IStartEnd(wm) + aFloatOffsetState.ComputedLogicalMargin().IStartEnd(wm) +

View File

@@ -147,7 +147,7 @@ nsFirstLetterFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
if (GetPrevInFlow()) { if (GetPrevInFlow()) {
// We're wrapping the text *after* the first letter, so behave like an // We're wrapping the text *after* the first letter, so behave like an

View File

@@ -58,7 +58,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual void Reflow(nsPresContext* aPresContext, virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize, nsHTMLReflowMetrics& aDesiredSize,

View File

@@ -4074,12 +4074,12 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
LogicalSize result = ComputeAutoSize(aRenderingContext, aWM, LogicalSize result = ComputeAutoSize(aRenderingContext, aWM,
aCBSize, aAvailableISize, aCBSize, aAvailableISize,
aMargin, aBorder, aPadding, aMargin, aBorder, aPadding,
aFlags & eShrinkWrap); aFlags & ComputeSizeFlags::eShrinkWrap);
LogicalSize boxSizingAdjust(aWM); LogicalSize boxSizingAdjust(aWM);
const nsStylePosition *stylePos = StylePosition(); const nsStylePosition *stylePos = StylePosition();
@@ -8399,7 +8399,7 @@ nsFrame::BoxReflow(nsBoxLayoutState& aState,
reflowState.ComputedLogicalBorderPadding().Size(wm) - reflowState.ComputedLogicalBorderPadding().Size(wm) -
reflowState.ComputedLogicalPadding().Size(wm), reflowState.ComputedLogicalPadding().Size(wm),
reflowState.ComputedLogicalPadding().Size(wm), reflowState.ComputedLogicalPadding().Size(wm),
false).Height(wm)); ComputeSizeFlags::eDefault).Height(wm));
} }
} }

View File

@@ -257,7 +257,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
// Compute tight bounds assuming this frame honours its border, background // Compute tight bounds assuming this frame honours its border, background
// and outline, its children's tight bounds, and nothing else. // and outline, its children's tight bounds, and nothing else.

View File

@@ -161,7 +161,7 @@ nsHTMLCanvasFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
nsIntSize size = GetCanvasSize(); nsIntSize size = GetCanvasSize();

View File

@@ -68,7 +68,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual void Reflow(nsPresContext* aPresContext, virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize, nsHTMLReflowMetrics& aDesiredSize,

View File

@@ -1461,9 +1461,11 @@ nsHTMLReflowState::InitAbsoluteConstraints(nsPresContext* aPresContext,
bool widthIsAuto = eStyleUnit_Auto == mStylePosition->mWidth.GetUnit(); bool widthIsAuto = eStyleUnit_Auto == mStylePosition->mWidth.GetUnit();
bool heightIsAuto = eStyleUnit_Auto == mStylePosition->mHeight.GetUnit(); bool heightIsAuto = eStyleUnit_Auto == mStylePosition->mHeight.GetUnit();
uint32_t computeSizeFlags = 0; typedef nsIFrame::ComputeSizeFlags ComputeSizeFlags;
ComputeSizeFlags computeSizeFlags = ComputeSizeFlags::eDefault;
if (leftIsAuto || rightIsAuto) { if (leftIsAuto || rightIsAuto) {
computeSizeFlags |= nsIFrame::eShrinkWrap; computeSizeFlags =
ComputeSizeFlags(computeSizeFlags | ComputeSizeFlags::eShrinkWrap);
} }
{ {
@@ -2117,7 +2119,9 @@ nsHTMLReflowState::InitConstraints(nsPresContext* aPresContext,
AutoMaybeDisableFontInflation an(frame); AutoMaybeDisableFontInflation an(frame);
bool isBlock = NS_CSS_FRAME_TYPE_BLOCK == NS_FRAME_GET_TYPE(mFrameType); bool isBlock = NS_CSS_FRAME_TYPE_BLOCK == NS_FRAME_GET_TYPE(mFrameType);
uint32_t computeSizeFlags = isBlock ? 0 : nsIFrame::eShrinkWrap; typedef nsIFrame::ComputeSizeFlags ComputeSizeFlags;
ComputeSizeFlags computeSizeFlags =
isBlock ? ComputeSizeFlags::eDefault : ComputeSizeFlags::eShrinkWrap;
// Make sure legend frames with display:block and width:auto still // Make sure legend frames with display:block and width:auto still
// shrink-wrap. // shrink-wrap.
@@ -2126,17 +2130,20 @@ nsHTMLReflowState::InitConstraints(nsPresContext* aPresContext,
frame->StyleContext()->GetPseudo() != nsCSSAnonBoxes::scrolledContent) || frame->StyleContext()->GetPseudo() != nsCSSAnonBoxes::scrolledContent) ||
(aFrameType == nsGkAtoms::scrollFrame && (aFrameType == nsGkAtoms::scrollFrame &&
frame->GetContentInsertionFrame()->GetType() == nsGkAtoms::legendFrame))) { frame->GetContentInsertionFrame()->GetType() == nsGkAtoms::legendFrame))) {
computeSizeFlags |= nsIFrame::eShrinkWrap; computeSizeFlags =
ComputeSizeFlags(computeSizeFlags | ComputeSizeFlags::eShrinkWrap);
} }
const nsFlexContainerFrame* flexContainerFrame = GetFlexContainer(frame); const nsFlexContainerFrame* flexContainerFrame = GetFlexContainer(frame);
if (flexContainerFrame) { if (flexContainerFrame) {
computeSizeFlags |= nsIFrame::eShrinkWrap; computeSizeFlags =
ComputeSizeFlags(computeSizeFlags | ComputeSizeFlags::eShrinkWrap);
// If we're inside of a flex container that needs to measure our // If we're inside of a flex container that needs to measure our
// auto height, pass that information along to ComputeSize(). // auto height, pass that information along to ComputeSize().
if (mFlags.mIsFlexContainerMeasuringHeight) { if (mFlags.mIsFlexContainerMeasuringHeight) {
computeSizeFlags |= nsIFrame::eUseAutoHeight; computeSizeFlags =
ComputeSizeFlags(computeSizeFlags | ComputeSizeFlags::eUseAutoHeight);
} }
} else { } else {
MOZ_ASSERT(!mFlags.mIsFlexContainerMeasuringHeight, MOZ_ASSERT(!mFlags.mIsFlexContainerMeasuringHeight,

View File

@@ -1634,7 +1634,8 @@ public:
/** /**
* Bit-flags to pass to ComputeSize in |aFlags| parameter. * Bit-flags to pass to ComputeSize in |aFlags| parameter.
*/ */
enum { enum ComputeSizeFlags {
eDefault = 0,
/* Set if the frame is in a context where non-replaced blocks should /* Set if the frame is in a context where non-replaced blocks should
* shrink-wrap (e.g., it's floating, absolutely positioned, or * shrink-wrap (e.g., it's floating, absolutely positioned, or
* inline-block). */ * inline-block). */
@@ -1693,7 +1694,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) = 0; ComputeSizeFlags aFlags) = 0;
/** /**
* Compute a tight bounding rectangle for the frame. This is a rectangle * Compute a tight bounding rectangle for the frame. This is a rectangle

View File

@@ -773,7 +773,7 @@ nsImageFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
EnsureIntrinsicSizeAndRatio(); EnsureIntrinsicSizeAndRatio();

View File

@@ -184,7 +184,7 @@ protected:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
bool IsServerImageMap(); bool IsServerImageMap();

View File

@@ -233,7 +233,7 @@ nsInlineFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
// Inlines and text don't compute size before reflow. // Inlines and text don't compute size before reflow.
return LogicalSize(aWM, NS_UNCONSTRAINEDSIZE, NS_UNCONSTRAINEDSIZE); return LogicalSize(aWM, NS_UNCONSTRAINEDSIZE, NS_UNCONSTRAINEDSIZE);

View File

@@ -78,7 +78,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual nsRect ComputeTightBounds(gfxContext* aContext) const MOZ_OVERRIDE; virtual nsRect ComputeTightBounds(gfxContext* aContext) const MOZ_OVERRIDE;
virtual void Reflow(nsPresContext* aPresContext, virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize, nsHTMLReflowMetrics& aDesiredSize,

View File

@@ -712,7 +712,7 @@ nsSubDocumentFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
nsIFrame* subDocRoot = ObtainIntrinsicSizeFrame(); nsIFrame* subDocRoot = ObtainIntrinsicSizeFrame();
if (subDocRoot) { if (subDocRoot) {

View File

@@ -69,7 +69,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual void Reflow(nsPresContext* aPresContext, virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize, nsHTMLReflowMetrics& aDesiredSize,

View File

@@ -7553,7 +7553,7 @@ nsTextFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
// Inlines and text don't compute size before reflow. // Inlines and text don't compute size before reflow.
return LogicalSize(aWM, NS_UNCONSTRAINEDSIZE, NS_UNCONSTRAINEDSIZE); return LogicalSize(aWM, NS_UNCONSTRAINEDSIZE, NS_UNCONSTRAINEDSIZE);

View File

@@ -218,7 +218,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual nsRect ComputeTightBounds(gfxContext* aContext) const MOZ_OVERRIDE; virtual nsRect ComputeTightBounds(gfxContext* aContext) const MOZ_OVERRIDE;
virtual nsresult GetPrefWidthTightBounds(nsRenderingContext* aContext, virtual nsresult GetPrefWidthTightBounds(nsRenderingContext* aContext,
nscoord* aX, nscoord* aX,

View File

@@ -489,7 +489,7 @@ nsVideoFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
nsSize size = GetVideoIntrinsicSize(aRenderingContext); nsSize size = GetVideoIntrinsicSize(aRenderingContext);

View File

@@ -58,7 +58,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual nscoord GetMinISize(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE; virtual nscoord GetMinISize(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE;
virtual nscoord GetPrefISize(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE; virtual nscoord GetPrefISize(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE;
virtual void DestroyFrom(nsIFrame* aDestructRoot) MOZ_OVERRIDE; virtual void DestroyFrom(nsIFrame* aDestructRoot) MOZ_OVERRIDE;

View File

@@ -271,7 +271,7 @@ nsSVGOuterSVGFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
if (IsRootOfImage() || IsRootOfReplacedElementSubDoc()) { if (IsRootOfImage() || IsRootOfReplacedElementSubDoc()) {
// The embedding element has sized itself using the CSS replaced element // The embedding element has sized itself using the CSS replaced element

View File

@@ -53,7 +53,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual void Reflow(nsPresContext* aPresContext, virtual void Reflow(nsPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize, nsHTMLReflowMetrics& aDesiredSize,

View File

@@ -1562,7 +1562,7 @@ nsTableFrame::ComputeSize(nsRenderingContext *aRenderingContext,
const LogicalSize& aMargin, const LogicalSize& aMargin,
const LogicalSize& aBorder, const LogicalSize& aBorder,
const LogicalSize& aPadding, const LogicalSize& aPadding,
uint32_t aFlags) ComputeSizeFlags aFlags)
{ {
LogicalSize result = LogicalSize result =
nsContainerFrame::ComputeSize(aRenderingContext, aWM, nsContainerFrame::ComputeSize(aRenderingContext, aWM,

View File

@@ -311,7 +311,7 @@ public:
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, const mozilla::LogicalSize& aPadding,
uint32_t aFlags) MOZ_OVERRIDE; ComputeSizeFlags aFlags) MOZ_OVERRIDE;
virtual mozilla::LogicalSize virtual mozilla::LogicalSize
ComputeAutoSize(nsRenderingContext *aRenderingContext, ComputeAutoSize(nsRenderingContext *aRenderingContext,

View File

@@ -493,7 +493,7 @@ ChildShrinkWrapWidth(nsRenderingContext *aRenderingContext,
offsets.ComputedLogicalBorderPadding().Size(wm) - offsets.ComputedLogicalBorderPadding().Size(wm) -
offsets.ComputedLogicalPadding().Size(wm), offsets.ComputedLogicalPadding().Size(wm),
offsets.ComputedLogicalPadding().Size(wm), offsets.ComputedLogicalPadding().Size(wm),
true); nsIFrame::ComputeSizeFlags::eShrinkWrap);
if (aMarginResult) if (aMarginResult)
*aMarginResult = offsets.ComputedLogicalMargin().IStartEnd(wm); *aMarginResult = offsets.ComputedLogicalMargin().IStartEnd(wm);
return size.ISize(wm) + offsets.ComputedLogicalMargin().IStartEnd(wm) + return size.ISize(wm) + offsets.ComputedLogicalMargin().IStartEnd(wm) +