Index: chrome/browser/ui/views/website_settings/permission_selector_view.cc |
diff --git a/chrome/browser/ui/views/website_settings/permission_selector_view.cc b/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
index 6b44308e798eeb7f65093a999f37b825e0c92afa..40fab862ae0618a9e5fa45ae0ebd15a9407e5a38 100644 |
--- a/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
+++ b/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
@@ -45,6 +45,9 @@ |
bool show_menu_marker); |
virtual ~PermissionMenuButton(); |
+ // Overridden from views::MenuButton. |
+ virtual gfx::Size GetPreferredSize() const OVERRIDE; |
+ |
// Overridden from views::TextButton. |
virtual void SetText(const base::string16& text) OVERRIDE; |
@@ -72,9 +75,26 @@ |
bool show_menu_marker) |
: MenuButton(NULL, text, this, show_menu_marker), |
menu_model_(model) { |
+ |
} |
PermissionMenuButton::~PermissionMenuButton() { |
+} |
+ |
+gfx::Size PermissionMenuButton::GetPreferredSize() const { |
+ gfx::Insets insets = GetInsets(); |
+ // Scale the button to the current text size. |
+ gfx::Size prefsize(text_size_.width() + insets.width(), |
+ text_size_.height() + insets.height()); |
+ if (max_width_ > 0) |
+ prefsize.set_width(std::min(max_width_, prefsize.width())); |
+ if (show_menu_marker()) { |
+ prefsize.Enlarge(menu_marker()->width() + |
+ views::MenuButton::kMenuMarkerPaddingLeft + |
+ views::MenuButton::kMenuMarkerPaddingRight, |
+ 0); |
+ } |
+ return prefsize; |
} |
void PermissionMenuButton::SetText(const base::string16& text) { |
@@ -84,15 +104,15 @@ |
void PermissionMenuButton::GetAccessibleState(ui::AXViewState* state) { |
MenuButton::GetAccessibleState(state); |
- state->value = GetText(); |
+ state->value = text(); |
} |
void PermissionMenuButton::OnNativeThemeChanged(const ui::NativeTheme* theme) { |
- SetTextColor(views::Button::STATE_NORMAL, GetNativeTheme()->GetSystemColor( |
+ SetEnabledColor(theme->GetSystemColor( |
ui::NativeTheme::kColorId_LabelEnabledColor)); |
- SetTextColor(views::Button::STATE_HOVERED, GetNativeTheme()->GetSystemColor( |
+ SetHoverColor(theme->GetSystemColor( |
ui::NativeTheme::kColorId_LabelEnabledColor)); |
- SetTextColor(views::Button::STATE_DISABLED, GetNativeTheme()->GetSystemColor( |
+ SetDisabledColor(theme->GetSystemColor( |
ui::NativeTheme::kColorId_LabelDisabledColor)); |
} |