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

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

Issue 2625083003: Implement Harmony-style consistent button widths for Collected Cookies. (Closed)
Patch Set: selfnits 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
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) {

Powered by Google App Engine
This is Rietveld 408576698