| Index: chrome/browser/ui/views/avatar_menu_bubble_view.cc
|
| diff --git a/chrome/browser/ui/views/avatar_menu_bubble_view.cc b/chrome/browser/ui/views/avatar_menu_bubble_view.cc
|
| index 67a97088b75a43e8e09d7faca5825f1138875f31..6074c18d243f1eda4ffd9da4a5474e334cc61b20 100644
|
| --- a/chrome/browser/ui/views/avatar_menu_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/avatar_menu_bubble_view.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/profiles/avatar_menu_model.h"
|
| #include "chrome/browser/profiles/profile_info_cache.h"
|
| +#include "chrome/browser/profiles/profile_info_util.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "grit/generated_resources.h"
|
| @@ -34,7 +35,6 @@ const SkColor kColor = SK_ColorWHITE;
|
|
|
| const int kItemHeight = 44;
|
| const int kItemMarginY = 4;
|
| -const int kIconWidth = 38;
|
| const int kIconMarginX = 6;
|
| const int kSeparatorPaddingY = 5;
|
|
|
| @@ -226,17 +226,26 @@ gfx::Size ProfileItemView::GetPreferredSize() {
|
| int width = std::max(name_label_->GetPreferredSize().width(),
|
| sync_state_label_->GetPreferredSize().width());
|
| width = std::max(edit_link_->GetPreferredSize().width(), width);
|
| - return gfx::Size(kIconWidth + kIconMarginX + width, kItemHeight);
|
| + return gfx::Size(profiles::kAvatarIconWidth + kIconMarginX + width,
|
| + kItemHeight);
|
| }
|
|
|
| void ProfileItemView::Layout() {
|
| // Profile icon.
|
| - const SkBitmap& icon = image_view_->GetImage();
|
| - gfx::Rect icon_rect = GetCenteredAndScaledRect(
|
| - icon.width(), icon.height(), 0, 0, kIconWidth, height());
|
| + gfx::Rect icon_rect;
|
| + if (item_.active) {
|
| + // If this is the active item then the icon is already scaled and so
|
| + // just use the preferred size.
|
| + icon_rect.set_size(image_view_->GetPreferredSize());
|
| + icon_rect.set_y((height() - icon_rect.height()) / 2);
|
| + } else {
|
| + const SkBitmap& icon = image_view_->GetImage();
|
| + icon_rect = GetCenteredAndScaledRect(icon.width(), icon.height(), 0, 0,
|
| + profiles::kAvatarIconWidth, height());
|
| + }
|
| image_view_->SetBoundsRect(icon_rect);
|
|
|
| - int label_x = icon_rect.right() + kIconMarginX;
|
| + int label_x = profiles::kAvatarIconWidth + kIconMarginX;
|
| int max_label_width = std::max(width() - label_x, 0);
|
| gfx::Size name_size = name_label_->GetPreferredSize();
|
| name_size.set_width(std::min(name_size.width(), max_label_width));
|
| @@ -297,8 +306,8 @@ void ProfileItemView::OnFocusStateChanged(bool has_focus) {
|
|
|
| // static
|
| SkBitmap ProfileItemView::GetBadgedIcon(const SkBitmap& icon) {
|
| - gfx::Rect icon_rect = GetCenteredAndScaledRect(
|
| - icon.width(), icon.height(), 0, 0, kIconWidth, kItemHeight);
|
| + gfx::Rect icon_rect = GetCenteredAndScaledRect(icon.width(), icon.height(),
|
| + 0, 0, profiles::kAvatarIconWidth, kItemHeight);
|
|
|
| ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| SkBitmap badge = rb.GetImageNamed(IDR_PROFILE_SELECTED);
|
| @@ -361,7 +370,7 @@ gfx::Size AvatarMenuBubbleView::GetPreferredSize() {
|
|
|
| gfx::Size add_profile_size = add_profile_link_->GetPreferredSize();
|
| max_width = std::max(max_width,
|
| - add_profile_size.width() + kIconWidth + kIconMarginX);
|
| + add_profile_size.width() + profiles::kAvatarIconWidth + kIconMarginX);
|
| total_height += add_profile_link_->GetPreferredSize().height();
|
|
|
| const int kBubbleViewMaxWidth = 800;
|
| @@ -386,8 +395,8 @@ void AvatarMenuBubbleView::Layout() {
|
| separator_->SetBounds(0, y, width(), separator_height);
|
| y += kSeparatorPaddingY + separator_height;
|
|
|
| - add_profile_link_->SetBounds(kIconWidth + kIconMarginX, y, width(),
|
| - add_profile_link_->GetPreferredSize().height());
|
| + add_profile_link_->SetBounds(profiles::kAvatarIconWidth + kIconMarginX, y,
|
| + width(), add_profile_link_->GetPreferredSize().height());
|
| }
|
|
|
| bool AvatarMenuBubbleView::AcceleratorPressed(
|
|
|