From f261f203f54a29161bc4281e6799ef56dd2ea9f6 Mon Sep 17 00:00:00 2001 From: Pete Miller Date: Wed, 26 Jul 2023 12:00:46 -0700 Subject: [PATCH] Add all Leo skia colors to light and dark color mixers This makes referring to the colors from UI classes easier by not having to redefine a new variable with a leo dark or light equivalent. It takes advantage of the fact that all Leo colors already have light and dark equivalents. UI that wishes to have different Leo colors for light and dark can and will still need to specify that explicitly. --- browser/ui/color/brave_color_mixer.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/browser/ui/color/brave_color_mixer.cc b/browser/ui/color/brave_color_mixer.cc index 487908963a71c..e5be40ae5381c 100644 --- a/browser/ui/color/brave_color_mixer.cc +++ b/browser/ui/color/brave_color_mixer.cc @@ -19,6 +19,7 @@ #include "chrome/browser/ui/color/chrome_color_id.h" #include "ui/color/color_id.h" #include "ui/color/color_provider.h" +#include "ui/color/color_provider_manager.h" #include "ui/color/color_recipe.h" #include "ui/gfx/color_palette.h" #include "ui/gfx/color_utils.h" @@ -241,6 +242,20 @@ void AddChromeDarkThemeColorMixer(ui::ColorProvider* provider, SkColorSetARGB(0x33, 0x16, 0x17, 0x1D)}; } +void AddLeoColorMixer(ui::ColorProvider* provider, + const ui::ColorProviderManager::Key& key) { + auto leo_theme = key.color_mode == ui::ColorProviderManager::ColorMode::kLight + ? leo::Theme::kLight + : leo::Theme::kDark; + ui::ColorMixer& mixer = provider->AddMixer(); + for (int i = static_cast(leo::Color::kLeoColorsStart); + i != static_cast(leo::Color::kLeoColorsEnd); i++) { + leo::Color color_name = static_cast(i); + auto color_value = leo::GetColor(color_name, leo_theme); + mixer[static_cast(color_name)] = {color_value}; + } +} + } // namespace SkColor GetLocationBarBackground(bool dark, bool priv, bool hover) { @@ -503,6 +518,7 @@ void AddBraveThemeColorMixer(ui::ColorProvider* provider, key.color_mode == ui::ColorProviderManager::ColorMode::kDark ? AddBraveDarkThemeColorMixer(provider, key) : AddBraveLightThemeColorMixer(provider, key); + AddLeoColorMixer(provider, key); #if BUILDFLAG(ENABLE_BRAVE_VPN) AddBraveVpnColorMixer(provider, key); #endif