| Index: ui/views/layout/grid_layout.cc
|
| diff --git a/ui/views/layout/grid_layout.cc b/ui/views/layout/grid_layout.cc
|
| index eb4dd9d18899365686159616557ca859b9cb5352..bd705b4ed54e6626b27d1a3c900a3de37394a184 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);
|
| + }
|
| }
|
|
|
| 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) {}
|
|
|
| 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) {
|
|
|