| Index: ui/views/controls/button/md_text_button.cc
|
| diff --git a/ui/views/controls/button/md_text_button.cc b/ui/views/controls/button/md_text_button.cc
|
| index fd6822ad4114c3992d45523e41e87149c118cbd8..926690fdf3b65b22beff10e87eea790526e289c1 100644
|
| --- a/ui/views/controls/button/md_text_button.cc
|
| +++ b/ui/views/controls/button/md_text_button.cc
|
| @@ -125,7 +125,7 @@ void MdTextButton::SetCallToAction(bool cta) {
|
| return;
|
|
|
| cta_ = cta;
|
| - UpdateColorsFromNativeTheme();
|
| + UpdateColors();
|
| }
|
|
|
| void MdTextButton::Layout() {
|
| @@ -147,7 +147,7 @@ void MdTextButton::OnBlur() {
|
|
|
| void MdTextButton::OnNativeThemeChanged(const ui::NativeTheme* theme) {
|
| LabelButton::OnNativeThemeChanged(theme);
|
| - UpdateColorsFromNativeTheme();
|
| + UpdateColors();
|
| }
|
|
|
| SkColor MdTextButton::GetInkDropBaseColor() const {
|
| @@ -159,8 +159,13 @@ bool MdTextButton::ShouldShowInkDropForFocus() const {
|
| return false;
|
| }
|
|
|
| +void MdTextButton::SetEnabledTextColors(SkColor color) {
|
| + LabelButton::SetEnabledTextColors(color);
|
| + UpdateColors();
|
| +}
|
| +
|
| void MdTextButton::UpdateStyleToIndicateDefaultStatus() {
|
| - UpdateColorsFromNativeTheme();
|
| + UpdateColors();
|
| }
|
|
|
| MdTextButton::MdTextButton(ButtonListener* listener)
|
| @@ -202,7 +207,7 @@ MdTextButton::MdTextButton(ButtonListener* listener)
|
|
|
| MdTextButton::~MdTextButton() {}
|
|
|
| -void MdTextButton::UpdateColorsFromNativeTheme() {
|
| +void MdTextButton::UpdateColors() {
|
| ui::NativeTheme::ColorId fg_color_id =
|
| cta_ ? ui::NativeTheme::kColorId_TextOnCallToActionColor
|
| : ui::NativeTheme::kColorId_ButtonEnabledColor;
|
| @@ -212,7 +217,7 @@ void MdTextButton::UpdateColorsFromNativeTheme() {
|
| // specify a color.
|
| ui::NativeTheme* theme = GetNativeTheme();
|
| if (cta_ || !explicitly_set_normal_color())
|
| - SetEnabledTextColors(theme->GetSystemColor(fg_color_id));
|
| + LabelButton::SetEnabledTextColors(theme->GetSystemColor(fg_color_id));
|
|
|
| SkColor text_color = label()->enabled_color();
|
| SkColor bg_color =
|
| @@ -220,7 +225,12 @@ void MdTextButton::UpdateColorsFromNativeTheme() {
|
| : is_default()
|
| ? color_utils::BlendTowardOppositeLuma(text_color, 0xD8)
|
| : SK_ColorTRANSPARENT;
|
| - SkColor stroke_color = SkColorSetA(SK_ColorBLACK, 0x1A);
|
| +
|
| + const SkAlpha kStrokeOpacity = 0x1A;
|
| + SkColor stroke_color = (cta_ || color_utils::IsDark(text_color))
|
| + ? SkColorSetA(SK_ColorBLACK, kStrokeOpacity)
|
| + : SkColorSetA(SK_ColorWHITE, 2 * kStrokeOpacity);
|
| +
|
| set_background(Background::CreateBackgroundPainter(
|
| true, Painter::CreateRoundRectWith1PxBorderPainter(
|
| bg_color, stroke_color, kInkDropSmallCornerRadius)));
|
|
|