Bug 1466448 - Part 2: Remove unused ReflowOutput::mFlags. r?mats
--- a/layout/forms/nsFieldSetFrame.cpp
+++ b/layout/forms/nsFieldSetFrame.cpp
@@ -485,18 +485,17 @@ nsFieldSetFrame::Reflow(nsPresContext*
std::max(0, aReflowInput.ComputedMinBSize() - mLegendSpace);
}
if (aReflowInput.ComputedMaxBSize() != NS_UNCONSTRAINEDSIZE) {
kidReflowInput.ComputedMaxBSize() =
std::max(0, aReflowInput.ComputedMaxBSize() - mLegendSpace);
}
- ReflowOutput kidDesiredSize(kidReflowInput,
- aDesiredSize.mFlags);
+ ReflowOutput kidDesiredSize(kidReflowInput);
// Reflow the frame
NS_ASSERTION(kidReflowInput.ComputedPhysicalMargin() == nsMargin(0,0,0,0),
"Margins on anonymous fieldset child not supported!");
LogicalPoint pt(wm, border.IStart(wm), border.BStart(wm) + mLegendSpace);
// We don't know the correct containerSize until we have reflowed |inner|,
// so we use a dummy value for now; FinishReflowChild will fix the position
// if necessary.
--- a/layout/generic/ReflowOutput.cpp
+++ b/layout/generic/ReflowOutput.cpp
@@ -34,23 +34,18 @@ nsOverflowAreas::SetAllTo(const nsRect&
{
NS_FOR_FRAME_OVERFLOW_TYPES(otype) {
mRects[otype] = aRect;
}
}
namespace mozilla {
-ReflowOutput::ReflowOutput(const ReflowInput& aReflowInput,
- uint32_t aFlags)
- : mISize(0)
- , mBSize(0)
- , mBlockStartAscent(ASK_FOR_BASELINE)
- , mFlags(aFlags)
- , mWritingMode(aReflowInput.GetWritingMode())
+ReflowOutput::ReflowOutput(const ReflowInput& aReflowInput)
+ : ReflowOutput(aReflowInput.GetWritingMode())
{
}
void
ReflowOutput::SetOverflowAreasToDesiredBounds()
{
NS_FOR_FRAME_OVERFLOW_TYPES(otype) {
mOverflowAreas.Overflow(otype).SetRect(0, 0, Width(), Height());
--- a/layout/generic/ReflowOutput.h
+++ b/layout/generic/ReflowOutput.h
@@ -195,31 +195,25 @@ namespace mozilla {
/**
* Reflow metrics used to return the frame's desired size and alignment
* information.
*
* @see #Reflow()
*/
class ReflowOutput {
public:
- // XXXldb Should |aFlags| generally be passed from parent to child?
- // Some places do it, and some don't. |aFlags| should perhaps go away
- // entirely.
- // XXX width/height/ascent are OUT parameters and so they shouldn't
- // have to be initialized, but there are some bad frame classes that
- // aren't properly setting them when returning from Reflow()...
- explicit ReflowOutput(mozilla::WritingMode aWritingMode, uint32_t aFlags = 0)
+ explicit ReflowOutput(mozilla::WritingMode aWritingMode)
: mISize(0)
, mBSize(0)
, mBlockStartAscent(ASK_FOR_BASELINE)
- , mFlags(aFlags)
, mWritingMode(aWritingMode)
- {}
+ {
+ }
- explicit ReflowOutput(const ReflowInput& aState, uint32_t aFlags = 0);
+ explicit ReflowOutput(const ReflowInput& aReflowInput);
// ISize and BSize are logical-coordinate dimensions:
// ISize is the size in the writing mode's inline direction (which equates to
// width in horizontal writing modes, height in vertical ones), and BSize is
// the size in the block-progression direction.
nscoord ISize(mozilla::WritingMode aWritingMode) const {
NS_ASSERTION(!aWritingMode.IsOrthogonalTo(mWritingMode),
"mismatched writing mode");
@@ -323,19 +317,14 @@ public:
// Union all of mOverflowAreas with (0, 0, width, height).
void UnionOverflowAreasWithDesiredBounds();
mozilla::WritingMode GetWritingMode() const { return mWritingMode; }
private:
nscoord mISize, mBSize; // [OUT] desired width and height (border-box)
nscoord mBlockStartAscent; // [OUT] baseline (in Block direction), or ASK_FOR_BASELINE
-
-public:
- uint32_t mFlags;
-
-private:
mozilla::WritingMode mWritingMode;
};
} // mozilla namespace
#endif // mozilla_ReflowOutput_h
--- a/layout/generic/nsColumnSetFrame.cpp
+++ b/layout/generic/nsColumnSetFrame.cpp
@@ -742,17 +742,17 @@ nsColumnSetFrame::ReflowChildren(ReflowO
// Note if the column's next in flow is not being changed by this incremental reflow.
// This may allow the current column to avoid trying to pull lines from the next column.
if (child->GetNextSibling() &&
!(GetStateBits() & NS_FRAME_IS_DIRTY) &&
!(child->GetNextSibling()->GetStateBits() & NS_FRAME_IS_DIRTY)) {
kidReflowInput.mFlags.mNextInFlowUntouched = true;
}
- ReflowOutput kidDesiredSize(wm, aDesiredSize.mFlags);
+ ReflowOutput kidDesiredSize(wm);
// XXX it would be cool to consult the float manager for the
// previous block to figure out the region of floats from the
// previous column that extend into this column, and subtract
// that region from the new float manager. So you could stick a
// really big float in the first column and text in following
// columns would flow around it.
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -669,17 +669,17 @@ nsHTMLScrollFrame::InInitialReflow() con
// assumption, because our initial reflow is no longer synchronous).
return !mHelper.mIsRoot && (GetStateBits() & NS_FRAME_FIRST_REFLOW);
}
void
nsHTMLScrollFrame::ReflowContents(ScrollReflowInput* aState,
const ReflowOutput& aDesiredSize)
{
- ReflowOutput kidDesiredSize(aDesiredSize.GetWritingMode(), aDesiredSize.mFlags);
+ ReflowOutput kidDesiredSize(aDesiredSize.GetWritingMode());
ReflowScrolledFrame(aState, GuessHScrollbarNeeded(*aState),
GuessVScrollbarNeeded(*aState), &kidDesiredSize, true);
// There's an important special case ... if the child appears to fit
// in the inside-border rect (but overflows the scrollport), we
// should try laying it out without a vertical scrollbar. It will
// usually fit because making the available-width wider will not
// normally make the child taller. (The only situation I can think
--- a/layout/generic/nsHTMLCanvasFrame.cpp
+++ b/layout/generic/nsHTMLCanvasFrame.cpp
@@ -370,17 +370,17 @@ nsHTMLCanvasFrame::Reflow(nsPresContext*
// Reflow the single anon block child.
nsReflowStatus childStatus;
nsIFrame* childFrame = mFrames.FirstChild();
WritingMode childWM = childFrame->GetWritingMode();
LogicalSize availSize = aReflowInput.ComputedSize(childWM);
availSize.BSize(childWM) = NS_UNCONSTRAINEDSIZE;
NS_ASSERTION(!childFrame->GetNextSibling(), "HTML canvas should have 1 kid");
- ReflowOutput childDesiredSize(aReflowInput.GetWritingMode(), aMetrics.mFlags);
+ ReflowOutput childDesiredSize(aReflowInput.GetWritingMode());
ReflowInput childReflowInput(aPresContext, aReflowInput, childFrame,
availSize);
ReflowChild(childFrame, aPresContext, childDesiredSize, childReflowInput,
0, 0, 0, childStatus, nullptr);
FinishReflowChild(childFrame, aPresContext, childDesiredSize,
&childReflowInput, 0, 0, 0);
NS_FRAME_TRACE(NS_FRAME_TRACE_CALLS,
--- a/layout/mathml/nsMathMLContainerFrame.cpp
+++ b/layout/mathml/nsMathMLContainerFrame.cpp
@@ -877,18 +877,17 @@ nsMathMLContainerFrame::Reflow(nsPresCon
/////////////
// Reflow children
// Asking each child to cache its bounding metrics
nsReflowStatus childStatus;
nsIFrame* childFrame = mFrames.FirstChild();
while (childFrame) {
- ReflowOutput childDesiredSize(aReflowInput, // ???
- aDesiredSize.mFlags);
+ ReflowOutput childDesiredSize(aReflowInput);
WritingMode wm = childFrame->GetWritingMode();
LogicalSize availSize = aReflowInput.ComputedSize(wm);
availSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
ReflowInput childReflowInput(aPresContext, aReflowInput,
childFrame, availSize);
ReflowChild(childFrame, aPresContext, childDesiredSize,
childReflowInput, childStatus);
//NS_ASSERTION(childStatus.IsComplete(), "bad status");
--- a/layout/mathml/nsMathMLTokenFrame.cpp
+++ b/layout/mathml/nsMathMLTokenFrame.cpp
@@ -131,18 +131,17 @@ nsMathMLTokenFrame::Reflow(nsPresContext
// initializations needed for empty markup like <mtag></mtag>
aDesiredSize.ClearSize();
aDesiredSize.SetBlockStartAscent(0);
aDesiredSize.mBoundingMetrics = nsBoundingMetrics();
for (nsIFrame* childFrame : PrincipalChildList()) {
// ask our children to compute their bounding metrics
- ReflowOutput childDesiredSize(aReflowInput.GetWritingMode(),
- aDesiredSize.mFlags);
+ ReflowOutput childDesiredSize(aReflowInput.GetWritingMode());
WritingMode wm = childFrame->GetWritingMode();
LogicalSize availSize = aReflowInput.ComputedSize(wm);
availSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
ReflowInput childReflowInput(aPresContext, aReflowInput,
childFrame, availSize);
ReflowChild(childFrame, aPresContext, childDesiredSize,
childReflowInput, aStatus);
//NS_ASSERTION(aStatus.IsComplete(), "bad status");
--- a/layout/mathml/nsMathMLmfencedFrame.cpp
+++ b/layout/mathml/nsMathMLmfencedFrame.cpp
@@ -255,18 +255,17 @@ nsMathMLmfencedFrame::Reflow(nsPresConte
if (firstChild || mOpenChar || mCloseChar || mSeparatorsCount > 0) {
// We use the ASCII metrics to get our minimum height. This way,
// if we have borders or a background, they will fit better with
// other elements on the line.
ascent = fm->MaxAscent();
descent = fm->MaxDescent();
}
while (childFrame) {
- ReflowOutput childDesiredSize(aReflowInput,
- aDesiredSize.mFlags);
+ ReflowOutput childDesiredSize(aReflowInput);
WritingMode wm = childFrame->GetWritingMode();
LogicalSize availSize = aReflowInput.ComputedSize(wm);
availSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
ReflowInput childReflowInput(aPresContext, aReflowInput,
childFrame, availSize);
ReflowChild(childFrame, aPresContext, childDesiredSize,
childReflowInput, childStatus);
//NS_ASSERTION(childStatus.IsComplete(), "bad status");
--- a/layout/mathml/nsMathMLmrootFrame.cpp
+++ b/layout/mathml/nsMathMLmrootFrame.cpp
@@ -182,18 +182,17 @@ nsMathMLmrootFrame::Reflow(nsPresContext
int32_t count = 0;
nsIFrame* baseFrame = nullptr;
nsIFrame* indexFrame = nullptr;
ReflowOutput baseSize(aReflowInput);
ReflowOutput indexSize(aReflowInput);
nsIFrame* childFrame = mFrames.FirstChild();
while (childFrame) {
// ask our children to compute their bounding metrics
- ReflowOutput childDesiredSize(aReflowInput,
- aDesiredSize.mFlags);
+ ReflowOutput childDesiredSize(aReflowInput);
WritingMode wm = childFrame->GetWritingMode();
LogicalSize availSize = aReflowInput.ComputedSize(wm);
availSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
ReflowInput childReflowInput(aPresContext, aReflowInput,
childFrame, availSize);
ReflowChild(childFrame, aPresContext,
childDesiredSize, childReflowInput, childStatus);
//NS_ASSERTION(childStatus.IsComplete(), "bad status");
--- a/layout/tables/nsTableCellFrame.cpp
+++ b/layout/tables/nsTableCellFrame.cpp
@@ -872,17 +872,17 @@ nsTableCellFrame::Reflow(nsPresContext*
}
// Try to reflow the child into the available space. It might not
// fit or might need continuing.
if (availSize.BSize(wm) < 0) {
availSize.BSize(wm) = 1;
}
- ReflowOutput kidSize(wm, aDesiredSize.mFlags);
+ ReflowOutput kidSize(wm);
kidSize.ClearSize();
SetPriorAvailISize(aReflowInput.AvailableISize());
nsIFrame* firstKid = mFrames.FirstChild();
NS_ASSERTION(firstKid, "Frame construction error, a table cell always has an inner cell frame");
nsTableFrame* tableFrame = GetTableFrame();
if (aReflowInput.mFlags.mSpecialBSizeReflow) {
const_cast<ReflowInput&>(aReflowInput).
--- a/layout/tables/nsTableRowGroupFrame.cpp
+++ b/layout/tables/nsTableRowGroupFrame.cpp
@@ -386,20 +386,17 @@ nsTableRowGroupFrame::ReflowChildren(nsP
if (reflowAllKids ||
NS_SUBTREE_DIRTY(kidFrame) ||
(aReflowInput.reflowInput.mFlags.mSpecialBSizeReflow &&
(isPaginated ||
kidFrame->HasAnyStateBits(NS_FRAME_CONTAINS_RELATIVE_BSIZE)))) {
LogicalRect oldKidRect = kidFrame->GetLogicalRect(wm, containerSize);
nsRect oldKidVisualOverflow = kidFrame->GetVisualOverflowRect();
- // XXXldb We used to only pass aDesiredSize.mFlags through for the
- // incremental reflow codepath.
- ReflowOutput desiredSize(aReflowInput.reflowInput,
- aDesiredSize.mFlags);
+ ReflowOutput desiredSize(aReflowInput.reflowInput);
desiredSize.ClearSize();
// Reflow the child into the available space, giving it as much bsize as
// it wants. We'll deal with splitting later after we've computed the row
// bsizes, taking into account cells with row spans...
LogicalSize kidAvailSize = aReflowInput.availSize;
kidAvailSize.BSize(wm) = NS_UNCONSTRAINEDSIZE;
ReflowInput kidReflowInput(aPresContext, aReflowInput.reflowInput,