Index: chrome/browser/ui/views/profiles/new_avatar_button.cc |
diff --git a/chrome/browser/ui/views/profiles/new_avatar_button.cc b/chrome/browser/ui/views/profiles/new_avatar_button.cc |
index d50c260a369f52bfb91abed8ded014ac57a7cabc..c0e0fad9446fb5d120e86b37767b664cd3b1bc15 100644 |
--- a/chrome/browser/ui/views/profiles/new_avatar_button.cc |
+++ b/chrome/browser/ui/views/profiles/new_avatar_button.cc |
@@ -18,6 +18,7 @@ |
#include "ui/gfx/canvas.h" |
#include "ui/gfx/color_utils.h" |
#include "ui/gfx/font_list.h" |
+#include "ui/gfx/image/image_skia_operations.h" |
#include "ui/gfx/text_elider.h" |
#include "ui/views/border.h" |
#include "ui/views/painter.h" |
@@ -26,14 +27,19 @@ namespace { |
// Text padding within the button border. |
const int kInset = 10; |
+const int kBottomInset = 3; |
msw
2014/05/30 18:24:13
My biggest concern for this CL is that it's regres
noms (inactive)
2014/06/09 20:34:19
Done.
|
+// Target size of the warning icon. |
+const int kAuthErrorIconWidth = 13; |
+const int kAuthErrorIconHeight = 11; |
scoped_ptr<views::Border> CreateBorder(const int normal_image_set[], |
const int hot_image_set[], |
- const int pushed_image_set[]) { |
+ const int pushed_image_set[], |
+ bool is_themed_window) { |
scoped_ptr<views::TextButtonDefaultBorder> border( |
new views::TextButtonDefaultBorder()); |
- |
- border->SetInsets(gfx::Insets(kInset, kInset, kInset, kInset)); |
+ int bottom_inset = is_themed_window ? kBottomInset : 0; |
+ border->SetInsets(gfx::Insets(0, kInset, bottom_inset, kInset)); |
border->set_normal_painter( |
views::Painter::CreateImageGridPainter(normal_image_set)); |
border->set_hot_painter( |
@@ -80,7 +86,8 @@ NewAvatarButton::NewAvatarButton( |
const int kHotImageSet[] = IMAGE_GRID(IDR_AVATAR_THEMED_BUTTON_HOVER); |
const int kPushedImageSet[] = IMAGE_GRID(IDR_AVATAR_THEMED_BUTTON_PRESSED); |
- SetBorder(CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet)); |
+ SetBorder( |
+ CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet, true)); |
set_menu_marker( |
rb->GetImageNamed(IDR_AVATAR_THEMED_BUTTON_DROPARROW).ToImageSkia()); |
} else if (is_win8) { |
@@ -88,7 +95,8 @@ NewAvatarButton::NewAvatarButton( |
const int kHotImageSet[] = IMAGE_GRID(IDR_AVATAR_METRO_BUTTON_HOVER); |
const int kPushedImageSet[] = IMAGE_GRID(IDR_AVATAR_METRO_BUTTON_PRESSED); |
- SetBorder(CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet)); |
+ SetBorder( |
+ CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet, false)); |
set_menu_marker( |
rb->GetImageNamed(IDR_AVATAR_METRO_BUTTON_DROPARROW).ToImageSkia()); |
} else { |
@@ -96,7 +104,8 @@ NewAvatarButton::NewAvatarButton( |
const int kHotImageSet[] = IMAGE_GRID(IDR_AVATAR_GLASS_BUTTON_HOVER); |
const int kPushedImageSet[] = IMAGE_GRID(IDR_AVATAR_GLASS_BUTTON_PRESSED); |
- SetBorder(CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet)); |
+ SetBorder( |
+ CreateBorder(kNormalImageSet, kHotImageSet, kPushedImageSet, false)); |
set_menu_marker( |
rb->GetImageNamed(IDR_AVATAR_GLASS_BUTTON_DROPARROW).ToImageSkia()); |
} |
@@ -128,7 +137,7 @@ NewAvatarButton::~NewAvatarButton() { |
void NewAvatarButton::OnPaintText(gfx::Canvas* canvas, PaintButtonMode mode) { |
// Get text bounds, and then adjust for the top and RTL languages. |
gfx::Rect rect = GetTextBounds(); |
- rect.Offset(0, -rect.y()); |
+ |
if (rect.width() > 0) |
rect.set_x(GetMirroredXForRect(rect)); |
@@ -165,7 +174,10 @@ void NewAvatarButton::OnErrorChanged() { |
profiles::GetSigninErrorController(browser_->profile()); |
if (error && error->HasError()) { |
ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); |
- icon = *rb->GetImageNamed(IDR_WARNING).ToImageSkia(); |
+ icon = gfx::ImageSkiaOperations::CreateResizedImage( |
+ *rb->GetImageNamed(IDR_ICON_PROFILES_ACCOUNT_AUTH_ERROR).ToImageSkia(), |
+ skia::ImageOperations::RESIZE_BEST, |
+ gfx::Size(kAuthErrorIconWidth, kAuthErrorIconHeight)); |
} |
SetIcon(icon); |