Index: ash/common/system/tray/tray_popup_header_button.cc |
diff --git a/ash/common/system/tray/tray_popup_header_button.cc b/ash/common/system/tray/tray_popup_header_button.cc |
index bb15d503600002a69ca0f4375af118ccb5f9873b..213a0a0cea7b8a47a5cae5c7f97aaf529daee682 100644 |
--- a/ash/common/system/tray/tray_popup_header_button.cc |
+++ b/ash/common/system/tray/tray_popup_header_button.cc |
@@ -12,24 +12,24 @@ |
namespace ash { |
+namespace { |
+ |
+const gfx::ImageSkia* GetImageForResourceId(int resource_id) { |
+ ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
+ return bundle.GetImageNamed(resource_id).ToImageSkia(); |
+} |
+ |
+} // namespace |
+ |
// static |
const char TrayPopupHeaderButton::kViewClassName[] = |
"tray/TrayPopupHeaderButton"; |
TrayPopupHeaderButton::TrayPopupHeaderButton(views::ButtonListener* listener, |
- int icon_resource_id, |
+ const gfx::ImageSkia& icon, |
int accessible_name_id) |
: views::ToggleImageButton(listener) { |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- SetImage(views::Button::STATE_NORMAL, |
- bundle.GetImageNamed(icon_resource_id).ToImageSkia()); |
- SetImageAlignment(views::ImageButton::ALIGN_CENTER, |
- views::ImageButton::ALIGN_MIDDLE); |
- SetAccessibleName(bundle.GetLocalizedString(accessible_name_id)); |
- SetFocusForPlatform(); |
- |
- SetFocusPainter(views::Painter::CreateSolidFocusPainter( |
- kFocusBorderColor, gfx::Insets(1, 2, 2, 3))); |
+ Initialize(icon, accessible_name_id); |
} |
TrayPopupHeaderButton::TrayPopupHeaderButton(views::ButtonListener* listener, |
@@ -38,7 +38,8 @@ TrayPopupHeaderButton::TrayPopupHeaderButton(views::ButtonListener* listener, |
int enabled_resource_id_hover, |
int disabled_resource_id_hover, |
int accessible_name_id) |
- : TrayPopupHeaderButton(listener, enabled_resource_id, accessible_name_id) { |
+ : views::ToggleImageButton(listener) { |
+ Initialize(*GetImageForResourceId(enabled_resource_id), accessible_name_id); |
ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
SetToggledImage(views::Button::STATE_NORMAL, |
bundle.GetImageNamed(disabled_resource_id).ToImageSkia()); |
@@ -70,4 +71,17 @@ void TrayPopupHeaderButton::StateChanged() { |
SchedulePaint(); |
} |
+void TrayPopupHeaderButton::Initialize(const gfx::ImageSkia& icon, |
+ int accessible_name_id) { |
+ ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
+ SetImage(views::Button::STATE_NORMAL, &icon); |
+ SetImageAlignment(views::ImageButton::ALIGN_CENTER, |
+ views::ImageButton::ALIGN_MIDDLE); |
+ SetAccessibleName(bundle.GetLocalizedString(accessible_name_id)); |
+ SetFocusForPlatform(); |
+ |
+ SetFocusPainter(views::Painter::CreateSolidFocusPainter( |
+ kFocusBorderColor, gfx::Insets(1, 2, 2, 3))); |
+} |
+ |
} // namespace ash |