зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1425599 part 9 - [css-grid] Merge DistributeToTrackLimits/Bases (idempotent change). r=dholbert
This commit is contained in:
Родитель
0d5ad6e072
Коммит
c635cef6a8
|
@ -1481,7 +1481,7 @@ struct nsGridContainerFrame::Tracks
|
|||
* up to their limits, then distribute the remaining space beyond the limits.
|
||||
*/
|
||||
template<TrackSizingPhase phase>
|
||||
void DistributeToTrackBases(nscoord aAvailableSpace,
|
||||
void DistributeToTrackSizes(nscoord aAvailableSpace,
|
||||
nsTArray<TrackSize>& aPlan,
|
||||
nsTArray<TrackSize>& aItemPlan,
|
||||
nsTArray<uint32_t>& aGrowableTracks,
|
||||
|
@ -1504,32 +1504,6 @@ struct nsGridContainerFrame::Tracks
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Distribute aAvailableSpace to the planned limits for aGrowableTracks.
|
||||
*/
|
||||
template<TrackSizingPhase phase>
|
||||
void DistributeToTrackLimits(nscoord aAvailableSpace,
|
||||
nsTArray<TrackSize>& aPlan,
|
||||
nsTArray<TrackSize>& aItemPlan,
|
||||
nsTArray<uint32_t>& aGrowableTracks,
|
||||
const FitContentClamper& aFitContentClamper)
|
||||
{
|
||||
InitializeItemPlan<phase>(aItemPlan, aGrowableTracks);
|
||||
nscoord space = GrowTracksToLimit(aAvailableSpace, aItemPlan, aGrowableTracks,
|
||||
aFitContentClamper);
|
||||
if (space > 0) {
|
||||
GrowSelectedTracksUnlimited(space, aItemPlan, aGrowableTracks,
|
||||
TrackSize::StateBits(0), aFitContentClamper);
|
||||
}
|
||||
for (uint32_t track : aGrowableTracks) {
|
||||
nscoord& plannedSize = aPlan[track].mBase;
|
||||
nscoord itemIncurredSize = aItemPlan[track].mBase;
|
||||
if (plannedSize < itemIncurredSize) {
|
||||
plannedSize = itemIncurredSize;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Distribute aAvailableSize to the tracks. This implements 12.6 at:
|
||||
* http://dev.w3.org/csswg/css-grid/#algo-grow-tracks
|
||||
|
@ -4267,7 +4241,7 @@ nsGridContainerFrame::Tracks::GrowBaseForSpanningItems(
|
|||
space = CollectGrowable<phase>(space, item.mLineRange, aSelector,
|
||||
aTracks);
|
||||
if (space > 0) {
|
||||
DistributeToTrackBases<phase>(space, aPlan, aItemPlan, aTracks, aSelector,
|
||||
DistributeToTrackSizes<phase>(space, aPlan, aItemPlan, aTracks, aSelector,
|
||||
aFitContentClamper);
|
||||
updatedBase = true;
|
||||
}
|
||||
|
@ -4305,7 +4279,8 @@ nsGridContainerFrame::Tracks::GrowLimitForSpanningItems(
|
|||
space = CollectGrowable<phase>(space, item.mLineRange, aSelector,
|
||||
aTracks);
|
||||
if (space > 0) {
|
||||
DistributeToTrackLimits<phase>(space, aPlan, aItemPlan, aTracks,
|
||||
DistributeToTrackSizes<phase>(space, aPlan, aItemPlan, aTracks,
|
||||
TrackSize::StateBits(0),
|
||||
aFitContentClamper);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче