Chromium Code Reviews| Index: chrome/browser/ui/views/harmony/harmony_typography_provider.cc |
| diff --git a/chrome/browser/ui/views/harmony/harmony_typography_provider.cc b/chrome/browser/ui/views/harmony/harmony_typography_provider.cc |
| index 3f34d88e9d2a511a9d2a0ab2c5e6b166140d5c45..330d521b67fa665e0fa39a0328fa976c9fde9ca6 100644 |
| --- a/chrome/browser/ui/views/harmony/harmony_typography_provider.cc |
| +++ b/chrome/browser/ui/views/harmony/harmony_typography_provider.cc |
| @@ -6,7 +6,9 @@ |
| #include "chrome/browser/ui/views/harmony/chrome_typography.h" |
| #include "ui/base/resource/resource_bundle.h" |
| +#include "ui/gfx/color_palette.h" |
| #include "ui/gfx/platform_font.h" |
| +#include "ui/native_theme/native_theme.h" |
| #if defined(USE_ASH) |
| #include "ash/public/cpp/ash_typography.h" // nogncheck |
| @@ -56,10 +58,45 @@ const gfx::FontList& HarmonyTypographyProvider::GetFont(int text_context, |
| size_delta, gfx::Font::NORMAL, font_weight); |
| } |
| -SkColor HarmonyTypographyProvider::GetColor(int text_context, |
| - int text_style) const { |
| - // TODO(tapted): Look up colors from the spec. |
| - return SK_ColorBLACK; |
| +SkColor HarmonyTypographyProvider::GetColor( |
| + int text_context, |
| + int text_style, |
| + const ui::NativeTheme& theme) const { |
| + const SkColor foreground_color = |
| + theme.GetSystemColor(ui::NativeTheme::kColorId_LabelEnabledColor); |
| + |
| + // If the default foreground color from the native theme isn't black, the rest |
| + // of the Harmony spec isn't going to work. Just use the foreground color for |
| + // text, with some exceptions. |
| + if (foreground_color != SK_ColorBLACK) { |
| + switch (text_style) { |
|
Peter Kasting
2017/06/01 04:55:58
Seems like it might be OK to return the "red" and
tapted
2017/06/01 11:22:18
Done - Although I special-cased a white foreground
|
| + case views::style::STYLE_DISABLED: |
| + case STYLE_SECONDARY: |
| + case STYLE_HINT: |
| + return theme.GetSystemColor( |
| + ui::NativeTheme::kColorId_LabelDisabledColor); |
| + case views::style::STYLE_LINK: |
| + return theme.GetSystemColor(ui::NativeTheme::kColorId_LinkEnabled); |
| + } |
| + return foreground_color; |
| + } |
| + |
| + switch (text_style) { |
|
Peter Kasting
2017/06/01 04:55:58
Did you consider trying to implement these colors
tapted
2017/06/01 11:22:18
I didn't consider this.. But it might be overkill.
Peter Kasting
2017/06/01 19:08:01
Long-term, I'd like all the colors in all Chrome U
|
| + case views::style::STYLE_DIALOG_BUTTON_DEFAULT: |
| + return SK_ColorWHITE; |
| + case views::style::STYLE_DISABLED: |
| + return SkColorSetRGB(0x9e, 0x9e, 0x9e); |
| + case views::style::STYLE_LINK: |
| + return gfx::kGoogleBlue700; |
| + case STYLE_SECONDARY: |
| + case STYLE_HINT: |
| + return SkColorSetRGB(0x75, 0x75, 0x75); |
| + case STYLE_RED: |
| + return gfx::kGoogleRed700; |
| + case STYLE_GREEN: |
| + return gfx::kGoogleGreen700; |
| + } |
| + return SkColorSetRGB(0x21, 0x21, 0x21); // Primary for everything else. |
| } |
| int HarmonyTypographyProvider::GetLineHeight(int text_context, |