From 20b618bede6286cc37078ac0e80157a5585191f0 Mon Sep 17 00:00:00 2001 From: Simon Hong Date: Fri, 11 Mar 2022 16:44:41 +0900 Subject: [PATCH] WIP: Adjust sidebar colors fix https://github.com/brave/brave-browser/issues/21590 --- browser/themes/brave_theme_helper.cc | 26 +++++++++++++++++++ browser/themes/theme_properties.cc | 8 ------ browser/themes/theme_properties.h | 1 - .../views/sidebar/sidebar_container_view.cc | 5 ++-- .../ui/views/sidebar/sidebar_control_view.cc | 5 ++-- .../sidebar/sidebar_items_scroll_view.cc | 5 ++-- 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/browser/themes/brave_theme_helper.cc b/browser/themes/brave_theme_helper.cc index 62af9b015760..276127ba98e1 100644 --- a/browser/themes/brave_theme_helper.cc +++ b/browser/themes/brave_theme_helper.cc @@ -8,9 +8,11 @@ #include "base/numerics/safe_conversions.h" #include "brave/browser/themes/brave_dark_mode_utils.h" #include "brave/browser/themes/theme_properties.h" +#include "brave/components/sidebar/buildflags/buildflags.h" #include "chrome/browser/themes/theme_properties.h" #include "chrome/browser/ui/omnibox/omnibox_theme.h" #include "ui/gfx/color_palette.h" +#include "ui/gfx/color_utils.h" #include "ui/native_theme/native_theme.h" #if defined(OS_LINUX) @@ -104,6 +106,30 @@ SkColor BraveThemeHelper::GetDefaultColor( if (!incognito && (is_tor_ || is_guest_)) { incognito = true; } + +#if BUILDFLAG(ENABLE_SIDEBAR) + switch (id) { + case BraveThemeProperties::COLOR_SIDEBAR_BUTTON_BASE: + case BraveThemeProperties::COLOR_SIDEBAR_ARROW_NORMAL: + case BraveThemeProperties::COLOR_SIDEBAR_ARROW_DISABLED: { + const auto toolbar_color = + GetColor(ThemeProperties::COLOR_TOOLBAR, incognito, theme_supplier); + const auto base_button_color_light = MaybeGetDefaultColorForBraveUi( + id, incognito, is_tor_, + dark_mode::BraveDarkModeType::BRAVE_DARK_MODE_TYPE_LIGHT); + const auto base_button_color_dark = MaybeGetDefaultColorForBraveUi( + id, incognito, is_tor_, + dark_mode::BraveDarkModeType::BRAVE_DARK_MODE_TYPE_DARK); + DCHECK(base_button_color_light && base_button_color_dark); + return color_utils::PickContrastingColor(base_button_color_light.value(), + base_button_color_dark.value(), + toolbar_color); + } + default: + break; + } +#endif + const dark_mode::BraveDarkModeType type = dark_mode::GetActiveBraveDarkModeType(); const absl::optional braveColor = diff --git a/browser/themes/theme_properties.cc b/browser/themes/theme_properties.cc index f42301674512..60b43894d303 100644 --- a/browser/themes/theme_properties.cc +++ b/browser/themes/theme_properties.cc @@ -59,8 +59,6 @@ absl::optional MaybeGetDefaultColorForBraveLightUi(int id) { case BraveThemeProperties::COLOR_MENU_ITEM_SUB_TEXT_COLOR: return SkColorSetRGB(0x86, 0x8E, 0x96); #if BUILDFLAG(ENABLE_SIDEBAR) - case BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND: - return SkColorSetRGB(0xF3, 0xF3, 0xF5); case BraveThemeProperties::COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED: return SkColorSetRGB(0xE3, 0xE3, 0xE3); case BraveThemeProperties::COLOR_SIDEBAR_ARROW_NORMAL: @@ -165,8 +163,6 @@ absl::optional MaybeGetDefaultColorForBraveDarkUi(int id) { case BraveThemeProperties::COLOR_MENU_ITEM_SUB_TEXT_COLOR: return SkColorSetRGB(0x84, 0x88, 0x9C); #if BUILDFLAG(ENABLE_SIDEBAR) - case BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND: - return kDarkToolbar; case BraveThemeProperties::COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED: return SkColorSetRGB(0x42, 0x45, 0x51); case BraveThemeProperties::COLOR_SIDEBAR_ARROW_DISABLED: @@ -254,8 +250,6 @@ absl::optional MaybeGetDefaultColorForPrivateUi(int id) { case ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON_INACTIVE: return color_utils::AlphaBlend(kDarkToolbarIcon, kPrivateToolbar, 0.3f); #if BUILDFLAG(ENABLE_SIDEBAR) - case BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND: - return kPrivateToolbar; case BraveThemeProperties::COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED: return SkColorSetRGB(0x4B, 0x3E, 0x78); case BraveThemeProperties::COLOR_SIDEBAR_BORDER: @@ -299,8 +293,6 @@ absl::optional MaybeGetDefaultColorForPrivateTorUi(int id) { kPrivateTorToolbar, 0.3f); #if BUILDFLAG(ENABLE_SIDEBAR) - case BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND: - return kPrivateTorToolbar; case BraveThemeProperties::COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED: return SkColorSetRGB(0x5F, 0x42, 0x6F); case BraveThemeProperties::COLOR_SIDEBAR_BORDER: diff --git a/browser/themes/theme_properties.h b/browser/themes/theme_properties.h index fd26f0ddcd9b..384af5073e60 100644 --- a/browser/themes/theme_properties.h +++ b/browser/themes/theme_properties.h @@ -34,7 +34,6 @@ enum ThemeProperties { COLOR_MENU_ITEM_SUB_TEXT_COLOR, #if BUILDFLAG(ENABLE_SIDEBAR) COLOR_SIDEBAR_ADD_BUTTON_DISABLED, - COLOR_SIDEBAR_BACKGROUND, COLOR_SIDEBAR_BUTTON_BASE, COLOR_SIDEBAR_BORDER, COLOR_SIDEBAR_PANEL_BORDER, diff --git a/browser/ui/views/sidebar/sidebar_container_view.cc b/browser/ui/views/sidebar/sidebar_container_view.cc index f7ae18ad7b48..f9a88b2ad75d 100644 --- a/browser/ui/views/sidebar/sidebar_container_view.cc +++ b/browser/ui/views/sidebar/sidebar_container_view.cc @@ -18,6 +18,7 @@ #include "brave/browser/ui/views/sidebar/sidebar_control_view.h" #include "brave/browser/ui/views/sidebar/sidebar_panel_webview.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/themes/theme_properties.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "content/public/browser/browser_context.h" @@ -161,8 +162,8 @@ void SidebarContainerView::UpdateBackgroundAndBorder() { if (const ui::ThemeProvider* theme_provider = GetThemeProvider()) { constexpr int kBorderThickness = 1; // Fill background because panel's color uses alpha value. - SetBackground(views::CreateSolidBackground(theme_provider->GetColor( - BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND))); + SetBackground(views::CreateSolidBackground( + theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR))); if (sidebar_panel_webview_ && sidebar_panel_webview_->GetVisible()) { SetBorder(views::CreateSolidSidedBorder( 0, 0, 0, kBorderThickness, diff --git a/browser/ui/views/sidebar/sidebar_control_view.cc b/browser/ui/views/sidebar/sidebar_control_view.cc index ff4c5d26745d..e155658899e1 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.cc +++ b/browser/ui/views/sidebar/sidebar_control_view.cc @@ -16,6 +16,7 @@ #include "brave/components/sidebar/sidebar_service.h" #include "brave/grit/brave_generated_resources.h" #include "brave/grit/brave_theme_resources.h" +#include "chrome/browser/themes/theme_properties.h" #include "chrome/common/webui_url_constants.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/metadata/metadata_impl_macros.h" @@ -116,8 +117,8 @@ void SidebarControlView::OnThemeChanged() { void SidebarControlView::UpdateBackgroundAndBorder() { if (const ui::ThemeProvider* theme_provider = GetThemeProvider()) { constexpr int kBorderThickness = 1; - SetBackground(views::CreateSolidBackground(theme_provider->GetColor( - BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND))); + SetBackground(views::CreateSolidBackground( + theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR))); SetBorder(views::CreateSolidSidedBorder( 0, 0, 0, kBorderThickness, theme_provider->GetColor(BraveThemeProperties::COLOR_SIDEBAR_BORDER))); diff --git a/browser/ui/views/sidebar/sidebar_items_scroll_view.cc b/browser/ui/views/sidebar/sidebar_items_scroll_view.cc index 3ee35791030f..29a61d3bb694 100644 --- a/browser/ui/views/sidebar/sidebar_items_scroll_view.cc +++ b/browser/ui/views/sidebar/sidebar_items_scroll_view.cc @@ -21,6 +21,7 @@ #include "brave/components/sidebar/sidebar_service.h" #include "brave/grit/brave_generated_resources.h" #include "cc/paint/paint_flags.h" +#include "chrome/browser/themes/theme_properties.h" #include "chrome/browser/ui/browser_list.h" #include "ui/base/clipboard/clipboard.h" #include "ui/base/clipboard/clipboard_format_type.h" @@ -61,8 +62,8 @@ class SidebarItemsArrowView : public views::ImageButton { void OnPaintBackground(gfx::Canvas* canvas) override { if (const ui::ThemeProvider* theme_provider = GetThemeProvider()) { - const SkColor background_color = theme_provider->GetColor( - BraveThemeProperties::COLOR_SIDEBAR_BACKGROUND); + const SkColor background_color = + theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR); gfx::Rect bounds = GetContentsBounds(); canvas->FillRect(bounds, background_color);