Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Unified Diff: ui/views/layout/grid_layout.cc

Issue 2625083003: Implement Harmony-style consistent button widths for Collected Cookies. (Closed)
Patch Set: respond to comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/layout/grid_layout.h ('k') | ui/views/layout/grid_layout_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..4ff22d5471243fb7321a2259b5e94cf46e1ea3dd 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 UnifyLinkedColumnSizes(int size_limit);
void AdjustSize(int size) override;
@@ -231,17 +231,19 @@ Column* Column::GetLastMasterColumn() {
return master_column_->GetLastMasterColumn();
}
-void Column::UnifySameSizedColumnSizes() {
+void Column::UnifyLinkedColumnSizes(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);
+ column->SetSize(std::max(size, column->Size()));
}
void Column::AdjustSize(int size) {
@@ -365,8 +367,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() {
}
@@ -495,9 +496,9 @@ void ColumnSet::AccumulateMasterColumns() {
}
}
-void ColumnSet::UnifySameSizedColumnSizes() {
+void ColumnSet::UnifyLinkedColumnSizes() {
for (auto* column : master_columns_)
- column->UnifySameSizedColumnSizes();
+ column->UnifyLinkedColumnSizes(linked_column_size_limit_);
}
void ColumnSet::UpdateRemainingWidth(ViewState* view_state) {
@@ -609,7 +610,7 @@ void ColumnSet::CalculateSize() {
}
// Make sure all linked columns have the same size.
- UnifySameSizedColumnSizes();
+ UnifyLinkedColumnSizes();
// Distribute the size of each view with a column span > 1.
for (; view_state_iterator != view_states_.end(); ++view_state_iterator) {
@@ -623,7 +624,7 @@ void ColumnSet::CalculateSize() {
// Update the size of linked columns.
// This may need to be combined with previous step.
- UnifySameSizedColumnSizes();
+ UnifyLinkedColumnSizes();
}
}
« no previous file with comments | « ui/views/layout/grid_layout.h ('k') | ui/views/layout/grid_layout_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698