Bug 1260614 - Cleanup grid item iterator Reset() calls. r=dholbert

This commit is contained in:
Mats Palmgren 2016-04-01 02:08:15 +02:00
parent 1977ca7749
commit fee61ecb6c

View File

@ -2039,12 +2039,10 @@ nsGridContainerFrame::GridReflowState::CalculateTrackSizes(
mRows.Initialize(mRowFunctions, mGridStyle->mGridRowGap,
aGrid.mGridRowEnd, aContentBox.BSize(mWM));
mIter.Reset(); // XXX cleanup this Reset mess!
mCols.CalculateSizes(*this, mGridItems, mColFunctions,
aContentBox.ISize(mWM), &GridArea::mCols,
aConstraint);
mIter.Reset(); // XXX cleanup this Reset mess!
mRows.CalculateSizes(*this, mGridItems, mRowFunctions,
aContentBox.BSize(mWM), &GridArea::mRows,
aConstraint);
@ -2938,6 +2936,7 @@ nsGridContainerFrame::Grid::PlaceGridItems(GridReflowState& aState,
int32_t minCol = 1;
int32_t minRow = 1;
aState.mGridItems.ClearAndRetainStorage();
aState.mIter.Reset();
for (; !aState.mIter.AtEnd(); aState.mIter.Next()) {
nsIFrame* child = *aState.mIter;
GridItemInfo* info =
@ -3486,6 +3485,7 @@ nsGridContainerFrame::Tracks::ResolveIntrinsicSize(
const TrackSize::StateBits flexMin =
aConstraint == nsLayoutUtils::MIN_ISIZE ? TrackSize::eFlexMinSizing
: TrackSize::StateBits(0);
iter.Reset();
for (; !iter.AtEnd(); iter.Next()) {
nsIFrame* child = *iter;
const GridArea& area = aGridItems[iter.GridItemIndex()].mArea;
@ -5006,7 +5006,6 @@ nsGridContainerFrame::Reflow(nsPresContext* aPresContext,
grid.PlaceGridItems(gridReflowState, computedMinSize, computedSize,
aReflowState.ComputedMaxSize());
gridReflowState.mIter.Reset();
gridReflowState.CalculateTrackSizes(grid, computedSize,
nsLayoutUtils::PREF_ISIZE);
@ -5150,7 +5149,6 @@ nsGridContainerFrame::IntrinsicISize(nsRenderingContext* aRenderingContext,
}
state.mCols.Initialize(state.mColFunctions, state.mGridStyle->mGridColumnGap,
grid.mGridColEnd, NS_UNCONSTRAINEDSIZE);
state.mIter.Reset();
state.mCols.CalculateSizes(state, state.mGridItems, state.mColFunctions,
NS_UNCONSTRAINEDSIZE, &GridArea::mCols,
aConstraint);