Commit 8829f12b authored by svillar's avatar svillar Committed by Commit bot

[css-grid] Wipe SizingOperation out

crrev.com/2823183003 was the first step towards removing the SizingOperation
enum which was added in the past as a convenient way to modify the track
sizing algorithm behaviour depending on whether the size was
indefinite/definite but also on whether we were computing the grid intrinsic
size or doing a layout. As mentioned in the CL above that was a mistake
because indefinite sizes do not always correspond to preferred widths
computations.

Now that we have the algorithm in a separate class with different strategies
the existence of that enum is no longer required. We can handle the
remaining code path using SizingOperation just by using the algorithm
strategies.

No new tests required as this does not imply a change in the behaviour.

Review-Url: https://codereview.chromium.org/2842413003
Cr-Commit-Position: refs/heads/master@{#468599}
parent 032e6e69
...@@ -324,8 +324,7 @@ LayoutUnit GridTrackSizingAlgorithmStrategy::MinContentForChild( ...@@ -324,8 +324,7 @@ LayoutUnit GridTrackSizingAlgorithmStrategy::MinContentForChild(
return child.MinPreferredLogicalWidth() + margin_logical_width; return child.MinPreferredLogicalWidth() + margin_logical_width;
} }
if (Direction() == kForColumns && if (Direction() == kForColumns && !AvailableSpace()) {
algorithm_.sizing_operation_ == kIntrinsicSizeComputation) {
DCHECK(GetLayoutGrid()->IsOrthogonalChild(child)); DCHECK(GetLayoutGrid()->IsOrthogonalChild(child));
if (GetLayoutGrid()->IsBaselineAlignmentForChild(child, kGridRowAxis) && if (GetLayoutGrid()->IsBaselineAlignmentForChild(child, kGridRowAxis) &&
GetLayoutGrid()->IsBaselineContextComputed(kGridRowAxis)) { GetLayoutGrid()->IsBaselineContextComputed(kGridRowAxis)) {
...@@ -1405,7 +1404,6 @@ bool GridTrackSizingAlgorithm::IsValidTransition() const { ...@@ -1405,7 +1404,6 @@ bool GridTrackSizingAlgorithm::IsValidTransition() const {
void GridTrackSizingAlgorithm::Setup(GridTrackSizingDirection direction, void GridTrackSizingAlgorithm::Setup(GridTrackSizingDirection direction,
size_t num_tracks, size_t num_tracks,
SizingOperation sizing_operation,
Optional<LayoutUnit> available_space, Optional<LayoutUnit> available_space,
Optional<LayoutUnit> free_space) { Optional<LayoutUnit> free_space) {
DCHECK(needs_setup_); DCHECK(needs_setup_);
...@@ -1415,8 +1413,6 @@ void GridTrackSizingAlgorithm::Setup(GridTrackSizingDirection direction, ...@@ -1415,8 +1413,6 @@ void GridTrackSizingAlgorithm::Setup(GridTrackSizingDirection direction,
direction, available_space ? available_space.value().ClampNegativeToZero() direction, available_space ? available_space.value().ClampNegativeToZero()
: available_space); : available_space);
sizing_operation_ = sizing_operation;
if (available_space) if (available_space)
strategy_ = WTF::MakeUnique<DefiniteSizeStrategy>(*this); strategy_ = WTF::MakeUnique<DefiniteSizeStrategy>(*this);
else else
......
...@@ -21,8 +21,6 @@ class Grid; ...@@ -21,8 +21,6 @@ class Grid;
class GridTrackSizingAlgorithmStrategy; class GridTrackSizingAlgorithmStrategy;
class LayoutGrid; class LayoutGrid;
enum SizingOperation { kTrackSizing, kIntrinsicSizeComputation };
enum TrackSizeComputationPhase { enum TrackSizeComputationPhase {
kResolveIntrinsicMinimums, kResolveIntrinsicMinimums,
kResolveContentBasedMinimums, kResolveContentBasedMinimums,
...@@ -86,7 +84,6 @@ class GridTrackSizingAlgorithm final { ...@@ -86,7 +84,6 @@ class GridTrackSizingAlgorithm final {
// the algorithm. // the algorithm.
void Setup(GridTrackSizingDirection, void Setup(GridTrackSizingDirection,
size_t num_tracks, size_t num_tracks,
SizingOperation,
Optional<LayoutUnit> available_space, Optional<LayoutUnit> available_space,
Optional<LayoutUnit> free_space); Optional<LayoutUnit> free_space);
void Run(); void Run();
...@@ -190,7 +187,6 @@ class GridTrackSizingAlgorithm final { ...@@ -190,7 +187,6 @@ class GridTrackSizingAlgorithm final {
Vector<size_t> flexible_sized_tracks_index_; Vector<size_t> flexible_sized_tracks_index_;
GridTrackSizingDirection direction_; GridTrackSizingDirection direction_;
SizingOperation sizing_operation_;
Grid& grid_; Grid& grid_;
......
...@@ -174,7 +174,7 @@ void LayoutGrid::ComputeTrackSizesForDefiniteSize( ...@@ -174,7 +174,7 @@ void LayoutGrid::ComputeTrackSizesForDefiniteSize(
grid_.NumTracks(direction), grid_.NumTracks(direction),
available_space); available_space);
track_sizing_algorithm_.Setup(direction, NumTracks(direction, grid_), track_sizing_algorithm_.Setup(direction, NumTracks(direction, grid_),
kTrackSizing, available_space, free_space); available_space, free_space);
track_sizing_algorithm_.Run(); track_sizing_algorithm_.Run();
#if DCHECK_IS_ON() #if DCHECK_IS_ON()
...@@ -474,8 +474,8 @@ void LayoutGrid::ComputeTrackSizesForIndefiniteSize( ...@@ -474,8 +474,8 @@ void LayoutGrid::ComputeTrackSizesForIndefiniteSize(
Grid& grid, Grid& grid,
LayoutUnit& min_intrinsic_size, LayoutUnit& min_intrinsic_size,
LayoutUnit& max_intrinsic_size) const { LayoutUnit& max_intrinsic_size) const {
algo.Setup(direction, NumTracks(direction, grid), kIntrinsicSizeComputation, algo.Setup(direction, NumTracks(direction, grid), WTF::kNullopt,
WTF::kNullopt, WTF::kNullopt); WTF::kNullopt);
algo.Run(); algo.Run();
min_intrinsic_size = algo.MinContentSize(); min_intrinsic_size = algo.MinContentSize();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment