Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Unified Diff: ui/views/controls/button/md_text_button.cc

Issue 2094553002: MD - Fix coloring of buttons on DL shelf. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)));

Powered by Google App Engine
This is Rietveld 408576698