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

Unified Diff: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc

Issue 2208973003: Add some extra height to bookmark bar if the font wants to be larger (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments regarding kMinimumBookmarkBarHeight Created 4 years, 4 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: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
index 520c8bf7caf068c7d79b363429a4e8f828a17b7e..220c91877f796c0eb80b7b9469877c61f87bf9da 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
@@ -172,7 +172,7 @@ static const int kAppsShortcutButtonTag = 2;
// Preferred padding between text and edge.
static const int kButtonPaddingHorizontal = 6;
-static const int kButtonPaddingVertical = 4;
+static const int kButtonPaddingVertical = 5;
static const gfx::ElideBehavior kElideBehavior = gfx::FADE_TAIL;
@@ -843,17 +843,29 @@ int BookmarkBarView::GetToolbarOverlap() const {
size_animation_.GetCurrentValue());
}
+int BookmarkBarView::GetPreferredHeight() const {
+ int height = 0;
+ for (int i = 0; i < child_count(); ++i) {
+ const views::View* view = child_at(i);
+ if (view->visible()) {
+ gfx::Size pref = view->GetPreferredSize();
Evan Stade 2016/08/31 21:27:18 nit: inline pref instead of making it a local vari
kylix_rd 2016/09/06 21:12:52 Done.
+ height = std::max(pref.height(), height);
+ }
+ }
+ return std::max(height, chrome::kMinimumBookmarkBarHeight);
Evan Stade 2016/08/31 21:27:18 nit: you could put kMinimumBookmarkBarHeight as th
kylix_rd 2016/09/06 21:12:52 Done.
+}
+
gfx::Size BookmarkBarView::GetPreferredSize() const {
gfx::Size prefsize;
+ int preferred_height = GetPreferredHeight();
if (IsDetached()) {
prefsize.set_height(
- chrome::kBookmarkBarHeight +
- static_cast<int>(
- (chrome::kNTPBookmarkBarHeight - chrome::kBookmarkBarHeight) *
- (1 - size_animation_.GetCurrentValue())));
+ preferred_height +
+ static_cast<int>((chrome::kNTPBookmarkBarHeight - preferred_height) *
+ (1 - size_animation_.GetCurrentValue())));
} else {
- prefsize.set_height(static_cast<int>(chrome::kBookmarkBarHeight *
- size_animation_.GetCurrentValue()));
+ prefsize.set_height(
+ static_cast<int>(preferred_height * size_animation_.GetCurrentValue()));
}
return prefsize;
}
@@ -879,13 +891,12 @@ gfx::Size BookmarkBarView::GetMinimumSize() const {
// if they are visible.
int width = GetHorizontalMargin();
- int height = chrome::kBookmarkBarHeight;
+ int height = GetPreferredHeight();
if (IsDetached()) {
double current_state = 1 - size_animation_.GetCurrentValue();
width += 2 * static_cast<int>(kNewTabHorizontalPadding * current_state);
- height += static_cast<int>(
- (chrome::kNTPBookmarkBarHeight - chrome::kBookmarkBarHeight) *
- current_state);
+ height += static_cast<int>((chrome::kNTPBookmarkBarHeight - height) *
+ current_state);
}
if (managed_bookmarks_button_->visible()) {
@@ -925,20 +936,21 @@ void BookmarkBarView::Layout() {
int top_margin = IsDetached() ? kDetachedTopMargin : 0;
int y = top_margin;
int width = View::width() - 2 * GetHorizontalMargin();
- int height = chrome::kBookmarkBarHeight - kBottomMargin;
+ int preferred_height = GetPreferredHeight();
+ int height = preferred_height - kBottomMargin;
int separator_margin = kSeparatorMargin;
if (IsDetached()) {
double current_state = 1 - size_animation_.GetCurrentValue();
x += static_cast<int>(kNewTabHorizontalPadding * current_state);
- y += (View::height() - chrome::kBookmarkBarHeight) / 2;
+ y += (View::height() - preferred_height) / 2;
width -= static_cast<int>(kNewTabHorizontalPadding * current_state);
separator_margin -= static_cast<int>(kSeparatorMargin * current_state);
} else {
// For the attached appearance, pin the content to the bottom of the bar
// when animating in/out, as shrinking its height instead looks weird. This
// also matches how we layout infobars.
- y += View::height() - chrome::kBookmarkBarHeight;
+ y += View::height() - preferred_height;
}
gfx::Size other_bookmarks_pref = other_bookmarks_button_->visible() ?
@@ -1657,6 +1669,8 @@ void BookmarkBarView::Init() {
UpdateBookmarksSeparatorVisibility();
instructions_ = new BookmarkBarInstructionsView(this);
+ instructions_->SetBorder(views::Border::CreateEmptyBorder(
+ kButtonPaddingVertical, 0, kButtonPaddingVertical, 0));
AddChildView(instructions_);
set_context_menu_controller(this);

Powered by Google App Engine
This is Rietveld 408576698