Chromium Code Reviews| Index: ui/views/layout/grid_layout.cc |
| diff --git a/ui/views/layout/grid_layout.cc b/ui/views/layout/grid_layout.cc |
| index 8c7dcfb4516b50b4ae92b21557f69a3ea5cfd699..b09c88760ce9fa07c243db2a16ecd02b9c8c0bc0 100644 |
| --- a/ui/views/layout/grid_layout.cc |
| +++ b/ui/views/layout/grid_layout.cc |
| @@ -186,7 +186,7 @@ class Column : public LayoutElement { |
| // Determines the max size of all linked columns, and sets each column |
| // to that size. This should only be used for the master column. |
| - void UnifySameSizedColumnSizes(); |
| + void UnifySameSizedColumnSizes(int size_limit); |
| void AdjustSize(int size) override; |
| @@ -231,17 +231,21 @@ Column* Column::GetLastMasterColumn() { |
| return master_column_->GetLastMasterColumn(); |
| } |
| -void Column::UnifySameSizedColumnSizes() { |
| +void Column::UnifySameSizedColumnSizes(int size_limit) { |
| DCHECK(master_column_ == this); |
| // Accumulate the size first. |
| int size = 0; |
| - for (auto* column : same_size_columns_) |
| - size = std::max(size, column->Size()); |
| + for (auto* column : same_size_columns_) { |
| + if (column->Size() <= size_limit) |
| + size = std::max(size, column->Size()); |
| + } |
| // Then apply it. |
| - for (auto* column : same_size_columns_) |
| - column->SetSize(size); |
| + for (auto* column : same_size_columns_) { |
| + if (column->Size() <= size_limit) |
| + column->SetSize(size); |
|
Peter Kasting
2017/03/07 02:50:37
Nit: Or (allows not adding {}):
column->SetSi
tapted
2017/03/07 12:06:41
Done. (I suppose we should rename: SetSize -> set_
|
| + } |
| } |
| void Column::AdjustSize(int size) { |
| @@ -365,8 +369,7 @@ static bool CompareByRowSpan(const std::unique_ptr<ViewState>& v1, |
| // ColumnSet ------------------------------------------------------------- |
| -ColumnSet::ColumnSet(int id) : id_(id) { |
| -} |
| +ColumnSet::ColumnSet(int id) : id_(id), linked_column_size_limit_(INT_MAX) {} |
|
Peter Kasting
2017/03/07 02:50:37
Nit: I wonder if it makes any sense for readabilit
tapted
2017/03/07 12:06:41
0 is convenient for other things (i.e. effectively
Peter Kasting
2017/03/07 21:22:49
Oh, do we actually use that? I figured allowing c
tapted
2017/03/07 22:39:19
Yup, that's the approach here for collected cookie
|
| ColumnSet::~ColumnSet() { |
| } |
| @@ -497,7 +500,7 @@ void ColumnSet::AccumulateMasterColumns() { |
| void ColumnSet::UnifySameSizedColumnSizes() { |
| for (auto* column : master_columns_) |
| - column->UnifySameSizedColumnSizes(); |
| + column->UnifySameSizedColumnSizes(linked_column_size_limit_); |
| } |
| void ColumnSet::UpdateRemainingWidth(ViewState* view_state) { |