Commit e6a2facf authored by Matthew Mourgos's avatar Matthew Mourgos Committed by Commit Bot

Stop context menu radio button from changing color on hover.

Bug: 877567
Change-Id: Ieabdd88c52daf2bdea0f07dd419f72d193e48832
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1652690
Commit-Queue: Matthew Mourgos <mmourgos@chromium.org>
Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669929}
parent 1942a996
......@@ -15,16 +15,6 @@ gfx::ImageSkia GetMenuCheckImage(SkColor icon_color) {
return gfx::CreateVectorIcon(kMenuCheckIcon, icon_color);
}
gfx::ImageSkia GetRadioButtonImage(bool toggled,
bool hovered,
SkColor default_icon_color) {
const gfx::VectorIcon& icon =
toggled ? kMenuRadioSelectedIcon : kMenuRadioEmptyIcon;
SkColor color =
toggled && !hovered ? gfx::kGoogleBlue500 : default_icon_color;
return gfx::CreateVectorIcon(icon, kMenuCheckSize, color);
}
gfx::ImageSkia GetSubmenuArrowImage(SkColor icon_color) {
return gfx::CreateVectorIcon(kSubmenuArrowIcon, icon_color);
}
......
......@@ -17,14 +17,6 @@ constexpr int kSubmenuArrowSize = 8;
// Returns the Menu Check box image (always checked).
gfx::ImageSkia GetMenuCheckImage(SkColor icon_color);
// Return the RadioButton image for given state. |toggled| is true when
// the radio option is active, |hovered| describes the menu higlight/selection
// state, and |default_icon_color| is the base color that should be used for
// the icon (which may be ignored based on the other two flags).
gfx::ImageSkia GetRadioButtonImage(bool toggled,
bool hovered,
SkColor default_icon_color);
// Returns the image for submenu arrow for current RTL setting.
gfx::ImageSkia GetSubmenuArrowImage(SkColor icon_color);
......
......@@ -40,6 +40,7 @@
#include "ui/views/controls/menu/menu_separator.h"
#include "ui/views/controls/menu/submenu_view.h"
#include "ui/views/controls/separator.h"
#include "ui/views/vector_icons.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
......@@ -974,8 +975,14 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
if (type_ == CHECKBOX && delegate->IsItemChecked(GetCommand())) {
radio_check_image_view_->SetImage(GetMenuCheckImage(icon_color));
} else if (type_ == RADIO) {
radio_check_image_view_->SetImage(GetRadioButtonImage(
delegate->IsItemChecked(GetCommand()), render_selection, icon_color));
const bool toggled = delegate->IsItemChecked(GetCommand());
const gfx::VectorIcon& radio_icon =
toggled ? kMenuRadioSelectedIcon : kMenuRadioEmptyIcon;
const SkColor radio_icon_color = GetNativeTheme()->GetSystemColor(
toggled ? ui::NativeTheme::kColorId_ProminentButtonColor
: ui::NativeTheme::kColorId_ButtonEnabledColor);
radio_check_image_view_->SetImage(
gfx::CreateVectorIcon(radio_icon, kMenuCheckSize, radio_icon_color));
}
// Render the foreground.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment