diff --git a/app/brave_generated_resources.grd b/app/brave_generated_resources.grd index b1b8e1270dc8..959420154e95 100644 --- a/app/brave_generated_resources.grd +++ b/app/brave_generated_resources.grd @@ -1417,6 +1417,9 @@ Are you sure you want to do this? Show Sidebar + + Show Sidebar + Always diff --git a/app/theme/brave_theme_resources.grd b/app/theme/brave_theme_resources.grd index d00e0d525ec3..9bbfad6de0c0 100644 --- a/app/theme/brave_theme_resources.grd +++ b/app/theme/brave_theme_resources.grd @@ -34,7 +34,7 @@ - + diff --git a/app/theme/default_100_percent/brave/sidebar_brave_together_focused.png b/app/theme/default_100_percent/brave/sidebar_brave_talk_focused.png similarity index 100% rename from app/theme/default_100_percent/brave/sidebar_brave_together_focused.png rename to app/theme/default_100_percent/brave/sidebar_brave_talk_focused.png diff --git a/app/theme/default_100_percent/brave/sidebar_crypto_wallet_focused.png b/app/theme/default_100_percent/brave/sidebar_crypto_wallet_focused.png index a341d55797d7..42a48c905432 100644 Binary files a/app/theme/default_100_percent/brave/sidebar_crypto_wallet_focused.png and b/app/theme/default_100_percent/brave/sidebar_crypto_wallet_focused.png differ diff --git a/app/theme/default_200_percent/brave/sidebar_brave_together_focused.png b/app/theme/default_200_percent/brave/sidebar_brave_talk_focused.png similarity index 100% rename from app/theme/default_200_percent/brave/sidebar_brave_together_focused.png rename to app/theme/default_200_percent/brave/sidebar_brave_talk_focused.png diff --git a/app/theme/default_200_percent/brave/sidebar_crypto_wallet_focused.png b/app/theme/default_200_percent/brave/sidebar_crypto_wallet_focused.png index 8aac50e53c0d..57486dbb450f 100644 Binary files a/app/theme/default_200_percent/brave/sidebar_crypto_wallet_focused.png and b/app/theme/default_200_percent/brave/sidebar_crypto_wallet_focused.png differ diff --git a/app/vector_icons/BUILD.gn b/app/vector_icons/BUILD.gn index ed56601ba17c..ca6f6ce8c01f 100644 --- a/app/vector_icons/BUILD.gn +++ b/app/vector_icons/BUILD.gn @@ -26,7 +26,7 @@ aggregate_vector_icons("brave_vector_icons") { sources += [ "sidebar_add_item.icon", "sidebar_bookmarks.icon", - "sidebar_brave_together.icon", + "sidebar_brave_talk.icon", "sidebar_crypto_wallet.icon", "sidebar_history.icon", "sidebar_item_added_check.icon", diff --git a/app/vector_icons/sidebar_bookmarks.icon b/app/vector_icons/sidebar_bookmarks.icon index 4cd3fcef83e6..0709d2f89683 100644 --- a/app/vector_icons/sidebar_bookmarks.icon +++ b/app/vector_icons/sidebar_bookmarks.icon @@ -1,47 +1,49 @@ -CANVAS_DIMENSIONS, 16, -MOVE_TO, 13.59f, 1.23f, -H_LINE_TO, 2.72f, -R_CUBIC_TO, -0.46f, 0, -0.82f, 0.33f, -0.82f, 0.71f, -R_V_LINE_TO, 11.6f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, -1.23f, 0, -V_LINE_TO, 1.94f, -CUBIC_TO, 0.67f, 0.86f, 1.6f, 0, 2.72f, 0, -R_H_LINE_TO, 10.98f, -R_CUBIC_TO, 0.62f, 0, 1.12f, 0.49f, 1.12f, 1.11f, -R_V_LINE_TO, 10.77f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, -1.23f, 0, -V_LINE_TO, 1.23f, +CANVAS_DIMENSIONS, 24, +MOVE_TO, 20.38f, 1.85f, +H_LINE_TO, 4.08f, +R_CUBIC_TO, -0.7f, 0, -1.23f, 0.49f, -1.23f, 1.06f, +R_V_LINE_TO, 17.4f, +R_ARC_TO, 0.92f, 0.92f, 0, 1, 1, -1.85f, 0, +V_LINE_TO, 2.91f, +CUBIC_TO, 1, 1.28f, 2.39f, 0, 4.08f, 0, +R_H_LINE_TO, 16.47f, +R_CUBIC_TO, 0.93f, 0, 1.68f, 0.74f, 1.68f, 1.66f, +R_V_LINE_TO, 16.16f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, -1.85f, 0, +V_LINE_TO, 1.85f, CLOSE, -MOVE_TO, 14.82f, 14.77f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, 0, 1.23f, -H_LINE_TO, 3.16f, -CUBIC_TO, 1.79f, 16, 0.67f, 14.9f, 0.67f, 13.54f, -R_CUBIC_TO, 0, -1.36f, 1.12f, -2.46f, 2.5f, -2.46f, -H_LINE_TO, 14.82f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, 0, 1.23f, -H_LINE_TO, 3.16f, -R_CUBIC_TO, -0.7f, 0, -1.26f, 0.55f, -1.26f, 1.23f, -R_CUBIC_TO, 0, 0.68f, 0.56f, 1.23f, 1.26f, 1.23f, -H_LINE_TO, 14.82f, +NEW_PATH, +MOVE_TO, 22.23f, 22.15f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, 0, 1.85f, +H_LINE_TO, 4.75f, +CUBIC_TO, 2.68f, 24, 1, 22.35f, 1, 20.31f, +R_CUBIC_TO, 0, -2.04f, 1.68f, -3.69f, 3.74f, -3.69f, +H_LINE_TO, 22.23f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, 0, 1.85f, +H_LINE_TO, 4.74f, +R_CUBIC_TO, -1.05f, 0, -1.9f, 0.83f, -1.9f, 1.85f, +R_CUBIC_TO, 0, 1.02f, 0.85f, 1.85f, 1.9f, 1.85f, +H_LINE_TO, 22.23f, CLOSE, -MOVE_TO, 14.44f, 15.22f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, -1.18f, 0.33f, -R_ARC_TO, 7.39f, 7.39f, 0, 0, 1, 0, -4.03f, -R_ARC_TO, 0.62f, 0.62f, 0, 0, 1, 1.19f, 0.33f, -R_ARC_TO, 6.16f, 6.16f, 0, 0, 0, 0, 3.36f, +NEW_PATH, +MOVE_TO, 21.66f, 22.83f, +R_ARC_TO, 0.92f, 0.92f, 0, 1, 1, -1.78f, 0.5f, +R_ARC_TO, 11.08f, 11.08f, 0, 0, 1, 0, -6.04f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, 1.78f, 0.5f, +R_ARC_TO, 9.24f, 9.24f, 0, 0, 0, 0, 5.04f, CLOSE, -MOVE_TO, 9.9f, 0.62f, -R_ARC_TO, 0.62f, 0.62f, 0, 0, 1, 1.23f, 0, -V_LINE_TO, 6.77f, -R_CUBIC_TO, 0, 0.52f, -0.6f, 0.81f, -1, 0.48f, -R_LINE_TO, -2.07f, -1.7f, -R_LINE_TO, -2.07f, 1.7f, -R_ARC_TO, 0.62f, 0.62f, 0, 0, 1, -1, -0.48f, -V_LINE_TO, 0.62f, -R_ARC_TO, 0.62f, 0.62f, 0, 1, 1, 1.23f, 0, -R_V_LINE_TO, 4.85f, -LINE_TO, 7.66f, 4.27f, -R_ARC_TO, 0.62f, 0.62f, 0, 0, 1, 0.78f, 0, -R_LINE_TO, 1.46f, 1.19f, -V_LINE_TO, 0.62f, +MOVE_TO, 14.85f, 0.92f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, 1.85f, 0, +R_V_LINE_TO, 9.23f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, -1.51f, 0.71f, +LINE_TO, 12.08f, 8.32f, +LINE_TO, 8.97f, 10.87f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, -1.51f, -0.71f, +V_LINE_TO, 0.92f, +R_ARC_TO, 0.92f, 0.92f, 0, 0, 1, 1.85f, 0, +R_V_LINE_TO, 7.28f, +LINE_TO, 11.49f, 6.41f, +R_CUBIC_TO, 0.34f, -0.28f, 0.83f, -0.28f, 1.17f, 0, +R_LINE_TO, 2.18f, 1.79f, +V_LINE_TO, 0.92f, CLOSE diff --git a/app/vector_icons/sidebar_brave_together.icon b/app/vector_icons/sidebar_brave_talk.icon similarity index 100% rename from app/vector_icons/sidebar_brave_together.icon rename to app/vector_icons/sidebar_brave_talk.icon diff --git a/app/vector_icons/sidebar_crypto_wallet.icon b/app/vector_icons/sidebar_crypto_wallet.icon index d450caf1dbbf..a041cea0af6d 100644 --- a/app/vector_icons/sidebar_crypto_wallet.icon +++ b/app/vector_icons/sidebar_crypto_wallet.icon @@ -1,47 +1,46 @@ -CANVAS_DIMENSIONS, 16, -MOVE_TO, 6.67f, 0.67f, -R_CUBIC_TO, 0.94f, 0, 1.82f, 0.39f, 2.43f, 1.06f, -ARC_TO, 3.33f, 3.33f, 0, 0, 1, 14, 4.67f, -R_ARC_TO, 2, 2, 0, 0, 1, 2, 2, -R_V_LINE_TO, 6.67f, -R_ARC_TO, 2, 2, 0, 0, 1, -2, 2, -H_LINE_TO, 2, -R_ARC_TO, 2, 2, 0, 0, 1, -2, -2, -V_LINE_TO, 4.67f, -R_CUBIC_TO, 0, -0.04f, 0, -0.08f, 0.01f, -0.12f, -ARC_TO, 2.1f, 2.1f, 0, 0, 1, 0, 4.33f, -R_CUBIC_TO, 0, -0.92f, 0.75f, -1.67f, 1.67f, -1.67f, -H_LINE_TO, 3.61f, -R_CUBIC_TO, 0.51f, -1.18f, 1.69f, -2, 3.06f, -2, +CANVAS_DIMENSIONS, 25, +MOVE_TO, 0, 3.61f, +ARC_TO, 2.61f, 2.61f, 0, 0, 1, 2.61f, 1, +R_H_LINE_TO, 16.22f, +R_ARC_TO, 3, 3, 0, 0, 1, 3, 3, +R_V_LINE_TO, 0.23f, +H_LINE_TO, 22, +R_ARC_TO, 3, 3, 0, 0, 1, 3, 3, +V_LINE_TO, 20, +R_ARC_TO, 3, 3, 0, 0, 1, -3, 3, +H_LINE_TO, 3, +R_ARC_TO, 3, 3, 0, 0, 1, -3, -3, +V_LINE_TO, 3.61f, CLOSE, -MOVE_TO, 3.33f, 4, -H_LINE_TO, 1.67f, -R_ARC_TO, 0.33f, 0.33f, 0, 0, 0, -0.33f, 0.33f, -R_CUBIC_TO, 0, 0.25f, 0.11f, 0.33f, 0.67f, 0.33f, -R_H_LINE_TO, 1.4f, -ARC_TO, 3.35f, 3.35f, 0, 0, 1, 3.33f, 4, +R_MOVE_TO, 2, 2.54f, +V_LINE_TO, 20, +R_ARC_TO, 1, 1, 0, 0, 0, 1, 1, +R_H_LINE_TO, 19, +R_ARC_TO, 1, 1, 0, 0, 0, 1, -1, +R_V_LINE_TO, -1.89f, +R_H_LINE_TO, -7.31f, +R_ARC_TO, 3, 3, 0, 0, 1, -3, -3, +V_LINE_TO, 12.27f, +R_ARC_TO, 3, 3, 0, 0, 1, 3, -3, +H_LINE_TO, 23, +V_LINE_TO, 7.23f, +R_ARC_TO, 1, 1, 0, 0, 0, -1, -1, +H_LINE_TO, 2.61f, +ARC_TO, 2.62f, 2.62f, 0, 0, 1, 2, 6.15f, CLOSE, -R_MOVE_TO, 0, 2, -H_LINE_TO, 2, -R_CUBIC_TO, -0.24f, 0, -0.46f, -0.02f, -0.67f, -0.07f, -R_V_LINE_TO, 7.4f, -R_CUBIC_TO, 0, 0.37f, 0.3f, 0.67f, 0.67f, 0.67f, -R_H_LINE_TO, 12, -R_ARC_TO, 0.67f, 0.67f, 0, 0, 0, 0.67f, -0.67f, -V_LINE_TO, 6.67f, -ARC_TO, 0.67f, 0.67f, 0, 0, 0, 14, 6, -H_LINE_TO, 3.33f, +R_MOVE_TO, 21, 5.12f, +R_H_LINE_TO, -7.31f, +R_ARC_TO, 1, 1, 0, 0, 0, -1, 1, +R_V_LINE_TO, 2.84f, +R_ARC_TO, 1, 1, 0, 0, 0, 1, 1, +H_LINE_TO, 23, +V_LINE_TO, 11.27f, CLOSE, -MOVE_TO, 4.78f, 4.67f, -R_H_LINE_TO, 2.55f, -R_CUBIC_TO, 0, -0.79f, 0.28f, -1.52f, 0.74f, -2.09f, -R_ARC_TO, 2, 2, 0, 0, 0, -3.29f, 2.09f, -CLOSE, -R_MOVE_TO, 3.89f, 0, -R_H_LINE_TO, 4, -R_ARC_TO, 2, 2, 0, 0, 0, -4, 0, -CLOSE, -MOVE_TO, 12, 11.33f, -R_ARC_TO, 1.33f, 1.33f, 0, 1, 0, 0, -2.67f, -R_ARC_TO, 1.33f, 1.33f, 0, 0, 0, 0, 2.67f, +MOVE_TO, 2, 3.61f, +R_CUBIC_TO, 0, 0.34f, 0.27f, 0.61f, 0.61f, 0.61f, +R_H_LINE_TO, 17.22f, +V_LINE_TO, 4, +R_ARC_TO, 1, 1, 0, 0, 0, -1, -1, +H_LINE_TO, 2.61f, +ARC_TO, 0.61f, 0.61f, 0, 0, 0, 2, 3.61f, CLOSE diff --git a/browser/brave_profile_prefs.cc b/browser/brave_profile_prefs.cc index 3dac4d697f0a..91a6ac2a2f27 100644 --- a/browser/brave_profile_prefs.cc +++ b/browser/brave_profile_prefs.cc @@ -403,7 +403,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif #if BUILDFLAG(ENABLE_SIDEBAR) - sidebar::SidebarService::RegisterProfilePrefs(registry); + sidebar::SidebarService::RegisterProfilePrefs(registry, chrome::GetChannel()); #endif #if !defined(OS_ANDROID) diff --git a/browser/themes/brave_theme_helper.cc b/browser/themes/brave_theme_helper.cc index 62af9b015760..f050fdfd0fb8 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,43 @@ SkColor BraveThemeHelper::GetDefaultColor( if (!incognito && (is_tor_ || is_guest_)) { incognito = true; } + +#if BUILDFLAG(ENABLE_SIDEBAR) + switch (id) { + // Pick most contrast color between our light and dark colors based on + // current toolbar color. + case BraveThemeProperties::COLOR_SIDEBAR_ITEM_DRAG_INDICATOR_COLOR: + case BraveThemeProperties::COLOR_SIDEBAR_ADD_BUTTON_DISABLED: + 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); + } + case BraveThemeProperties::COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED: + case BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND_HOVERED: { + // Copied from chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h + // to use same hover background with toolbar button. + constexpr float kToolbarInkDropHighlightVisibleOpacity = 0.08f; + return SkColorSetA(GetColor(ThemeProperties::COLOR_TOOLBAR_INK_DROP, + incognito, theme_supplier), + 0xFF * kToolbarInkDropHighlightVisibleOpacity); + } + 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..6a5c75d4e5ce 100644 --- a/browser/themes/theme_properties.cc +++ b/browser/themes/theme_properties.cc @@ -59,10 +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: return SkColorSetRGB(0x21, 0x25, 0x29); case BraveThemeProperties::COLOR_SIDEBAR_ARROW_DISABLED: @@ -71,12 +67,6 @@ absl::optional MaybeGetDefaultColorForBraveLightUi(int id) { return SkColorSetRGB(0x49, 0x50, 0x57); case BraveThemeProperties::COLOR_SIDEBAR_ADD_BUTTON_DISABLED: return SkColorSetARGB(0X66, 0x49, 0x50, 0x57); - case BraveThemeProperties::COLOR_SIDEBAR_BORDER: - return SkColorSetRGB(0xD5, 0xD5, 0xDC); - case BraveThemeProperties::COLOR_SIDEBAR_PANEL_BORDER: - return SkColorSetARGB(0x21, 0x00, 0x00, 0x00); - case BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND: - return SkColorSetRGB(0xE8, 0xE8, 0xE8); case BraveThemeProperties::COLOR_SIDEBAR_ITEM_DRAG_INDICATOR_COLOR: return SkColorSetRGB(0x21, 0x25, 0x29); case BraveThemeProperties::COLOR_SIDEBAR_SEPARATOR: @@ -165,10 +155,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: return SkColorSetARGB(0x8A, 0xAE, 0xB1, 0xC2); case BraveThemeProperties::COLOR_SIDEBAR_ARROW_NORMAL: @@ -177,12 +163,6 @@ absl::optional MaybeGetDefaultColorForBraveDarkUi(int id) { return SkColorSetRGB(0xC2, 0xC4, 0xCF); case BraveThemeProperties::COLOR_SIDEBAR_ADD_BUTTON_DISABLED: return SkColorSetARGB(0x66, 0xC2, 0xC4, 0xCF); - case BraveThemeProperties::COLOR_SIDEBAR_BORDER: - return SkColorSetRGB(0x3B, 0x3E, 0x4F); - case BraveThemeProperties::COLOR_SIDEBAR_PANEL_BORDER: - return SkColorSetARGB(0x21, 0x00, 0x00, 0x00); - case BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND: - return SkColorSetRGB(0x41, 0x44, 0x51); case BraveThemeProperties::COLOR_SIDEBAR_ITEM_DRAG_INDICATOR_COLOR: return SkColorSetRGB(0xC2, 0xC4, 0xCF); case BraveThemeProperties::COLOR_SIDEBAR_SEPARATOR: @@ -253,18 +233,6 @@ absl::optional MaybeGetDefaultColorForPrivateUi(int id) { return kDarkToolbarIcon; 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: - return SkColorSetRGB(0x3B, 0x3E, 0x4F); - case BraveThemeProperties::COLOR_SIDEBAR_PANEL_BORDER: - return SkColorSetARGB(0x21, 0x00, 0x00, 0x00); - case BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND: - return SkColorSetRGB(0x4B, 0x3E, 0x78); -#endif case BraveThemeProperties::COLOR_FOR_TEST: return BraveThemeProperties::kPrivateColorForTest; // The rest is covered by a dark-appropriate value @@ -295,21 +263,8 @@ absl::optional MaybeGetDefaultColorForPrivateTorUi(int id) { case ThemeProperties::COLOR_TAB_BACKGROUND_ACTIVE_FRAME_INACTIVE: return kPrivateTorToolbar; case ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON_INACTIVE: - return color_utils::AlphaBlend(kDarkToolbarIcon, - kPrivateTorToolbar, + return color_utils::AlphaBlend(kDarkToolbarIcon, 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: - return SkColorSetRGB(0x3B, 0x3E, 0x4F); - case BraveThemeProperties::COLOR_SIDEBAR_PANEL_BORDER: - return SkColorSetARGB(0x21, 0x00, 0x00, 0x00); - case BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND: - return SkColorSetRGB(0x5F, 0x42, 0x6F); -#endif // The rest is covered by a private value default: return MaybeGetDefaultColorForPrivateUi(id); diff --git a/browser/themes/theme_properties.h b/browser/themes/theme_properties.h index fd26f0ddcd9b..5b6da1ce6816 100644 --- a/browser/themes/theme_properties.h +++ b/browser/themes/theme_properties.h @@ -33,14 +33,8 @@ enum ThemeProperties { COLOR_TOGGLE_BUTTON_TRACK_OFF_COLOR, 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, - COLOR_SIDEBAR_ITEM_BACKGROUND, - COLOR_SIDEBAR_ITEM_DRAG_INDICATOR_COLOR, COLOR_SIDEBAR_ADD_BUBBLE_BACKGROUND, + COLOR_SIDEBAR_ADD_BUTTON_DISABLED, COLOR_SIDEBAR_ADD_BUBBLE_HEADER_TEXT, COLOR_SIDEBAR_ADD_BUBBLE_ITEM_TEXT_NORMAL, COLOR_SIDEBAR_ADD_BUBBLE_ITEM_TEXT_HOVERED, @@ -48,6 +42,9 @@ enum ThemeProperties { COLOR_SIDEBAR_ARROW_BACKGROUND_HOVERED, COLOR_SIDEBAR_ARROW_NORMAL, COLOR_SIDEBAR_ARROW_DISABLED, + COLOR_SIDEBAR_BUTTON_BASE, + COLOR_SIDEBAR_ITEM_BACKGROUND_HOVERED, + COLOR_SIDEBAR_ITEM_DRAG_INDICATOR_COLOR, COLOR_SIDEBAR_SEPARATOR, #endif #if BUILDFLAG(ENABLE_SPEEDREADER) diff --git a/browser/ui/sidebar/sidebar_browsertest.cc b/browser/ui/sidebar/sidebar_browsertest.cc index 63d06a4e3c11..496f251a9c8a 100644 --- a/browser/ui/sidebar/sidebar_browsertest.cc +++ b/browser/ui/sidebar/sidebar_browsertest.cc @@ -32,6 +32,16 @@ class SidebarBrowserTest : public InProcessBrowserTest, SidebarBrowserTest() {} ~SidebarBrowserTest() override = default; + void PreRunTestOnMainThread() override { + InProcessBrowserTest::PreRunTestOnMainThread(); + + auto* service = SidebarServiceFactory::GetForProfile(browser()->profile()); + // Enable sidebar explicitely because sidebar option is different based on + // channel. + service->SetSidebarShowOption( + SidebarService::ShowSidebarOption::kShowAlways); + } + BraveBrowser* brave_browser() { return static_cast(browser()); } diff --git a/browser/ui/views/sidebar/sidebar_add_item_bubble_delegate_view.cc b/browser/ui/views/sidebar/sidebar_add_item_bubble_delegate_view.cc index 03ba175425a0..b9ca36d006c9 100644 --- a/browser/ui/views/sidebar/sidebar_add_item_bubble_delegate_view.cc +++ b/browser/ui/views/sidebar/sidebar_add_item_bubble_delegate_view.cc @@ -163,7 +163,6 @@ void SidebarAddItemBubbleDelegateView::AddChildViews() { BraveThemeProperties::COLOR_SIDEBAR_ADD_BUBBLE_HEADER_TEXT)); } header->SetAutoColorReadabilityEnabled(false); - header->SetPreferredSize(kAddItemBubbleEntrySize); constexpr gfx::Insets kHeaderInsets{10, 34, 4, 8}; header->SetBorder(views::CreateEmptyBorder(kHeaderInsets)); header->SetHorizontalAlignment(gfx::ALIGN_LEFT); diff --git a/browser/ui/views/sidebar/sidebar_container_view.cc b/browser/ui/views/sidebar/sidebar_container_view.cc index f7ae18ad7b48..d82c891531b1 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,13 +162,13 @@ 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, theme_provider->GetColor( - BraveThemeProperties::COLOR_SIDEBAR_PANEL_BORDER))); + ThemeProperties::COLOR_TOOLBAR_CONTENT_AREA_SEPARATOR))); } else { // Don't need right side border when panel is closed. SetBorder(nullptr); diff --git a/browser/ui/views/sidebar/sidebar_control_view.cc b/browser/ui/views/sidebar/sidebar_control_view.cc index ff4c5d26745d..18227eb0edb4 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.cc +++ b/browser/ui/views/sidebar/sidebar_control_view.cc @@ -16,7 +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/common/webui_url_constants.h" +#include "chrome/browser/themes/theme_properties.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/base/resource/resource_bundle.h" @@ -116,11 +116,12 @@ 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))); + theme_provider->GetColor( + ThemeProperties::COLOR_TOOLBAR_CONTENT_AREA_SEPARATOR))); } } @@ -202,7 +203,8 @@ void SidebarControlView::AddChildViews() { void SidebarControlView::OnButtonPressed(views::View* view) { if (view == sidebar_settings_view_) { browser_->sidebar_controller()->LoadAtTab( - GURL(chrome::kChromeUISettingsURL)); + GURL("brave://settings?search=" + + l10n_util::GetStringUTF8(IDS_SETTINGS_SIDEBAR_SHOW_OPTION_TITLE))); } } diff --git a/browser/ui/views/sidebar/sidebar_item_view.cc b/browser/ui/views/sidebar/sidebar_item_view.cc index c9c6d73bef3e..f8f69cc1bee3 100644 --- a/browser/ui/views/sidebar/sidebar_item_view.cc +++ b/browser/ui/views/sidebar/sidebar_item_view.cc @@ -76,7 +76,7 @@ void SidebarItemView::OnPaintBackground(gfx::Canvas* canvas) { canvas->FillRect( GetLocalBounds(), theme_provider->GetColor( - BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND)); + BraveThemeProperties::COLOR_SIDEBAR_ITEM_BACKGROUND_HOVERED)); } } } diff --git a/browser/ui/views/sidebar/sidebar_items_contents_view.cc b/browser/ui/views/sidebar/sidebar_items_contents_view.cc index 167a0505d60e..425dcaa20b83 100644 --- a/browser/ui/views/sidebar/sidebar_items_contents_view.cc +++ b/browser/ui/views/sidebar/sidebar_items_contents_view.cc @@ -38,6 +38,7 @@ #include "ui/gfx/canvas.h" #include "ui/gfx/image/image_skia_operations.h" #include "ui/gfx/paint_vector_icon.h" +#include "ui/gfx/vector_icon_types.h" #include "ui/views/background.h" #include "ui/views/controls/menu/menu_runner.h" #include "ui/views/controls/separator.h" @@ -413,33 +414,41 @@ gfx::ImageSkia SidebarItemsContentsView::GetImageForBuiltInItems( base_button_color = theme_provider->GetColor( BraveThemeProperties::COLOR_SIDEBAR_BUTTON_BASE); } + constexpr int kBuiltInIconSize = 16; + int focused_image_resource = -1; + const gfx::VectorIcon* normal_image_icon = nullptr; auto& bundle = ui::ResourceBundle::GetSharedInstance(); - if (type == sidebar::SidebarItem::BuiltInItemType::kWallet) { - if (focused) - return *bundle.GetImageSkiaNamed(IDR_SIDEBAR_CRYPTO_WALLET_FOCUSED); - return gfx::CreateVectorIcon(kSidebarCryptoWalletIcon, base_button_color); + switch (type) { + case sidebar::SidebarItem::BuiltInItemType::kWallet: + focused_image_resource = IDR_SIDEBAR_CRYPTO_WALLET_FOCUSED; + normal_image_icon = &kSidebarCryptoWalletIcon; + break; + case sidebar::SidebarItem::BuiltInItemType::kBraveTalk: + focused_image_resource = IDR_SIDEBAR_BRAVE_TALK_FOCUSED; + normal_image_icon = &kSidebarBraveTalkIcon; + break; + case sidebar::SidebarItem::BuiltInItemType::kBookmarks: + focused_image_resource = IDR_SIDEBAR_BOOKMARKS_FOCUSED; + normal_image_icon = &kSidebarBookmarksIcon; + break; + case sidebar::SidebarItem::BuiltInItemType::kHistory: + focused_image_resource = IDR_SIDEBAR_HISTORY_FOCUSED; + normal_image_icon = &kSidebarHistoryIcon; + break; + default: + NOTREACHED(); + return gfx::ImageSkia(); } - if (type == sidebar::SidebarItem::BuiltInItemType::kBraveTalk) { - if (focused) - return *bundle.GetImageSkiaNamed(IDR_SIDEBAR_BRAVE_TOGETHER_FOCUSED); - return gfx::CreateVectorIcon(kSidebarBraveTogetherIcon, base_button_color); + if (focused) { + return gfx::ImageSkiaOperations::CreateResizedImage( + *bundle.GetImageSkiaNamed(focused_image_resource), + skia::ImageOperations::RESIZE_BEST, + gfx::Size{kBuiltInIconSize, kBuiltInIconSize}); } - if (type == sidebar::SidebarItem::BuiltInItemType::kBookmarks) { - if (focused) - return *bundle.GetImageSkiaNamed(IDR_SIDEBAR_BOOKMARKS_FOCUSED); - return gfx::CreateVectorIcon(kSidebarBookmarksIcon, base_button_color); - } - - if (type == sidebar::SidebarItem::BuiltInItemType::kHistory) { - if (focused) - return *bundle.GetImageSkiaNamed(IDR_SIDEBAR_HISTORY_FOCUSED); - return gfx::CreateVectorIcon(kSidebarHistoryIcon, base_button_color); - } - - NOTREACHED(); - return gfx::ImageSkia(); + return gfx::CreateVectorIcon(*normal_image_icon, kBuiltInIconSize, + base_button_color); } void SidebarItemsContentsView::OnWidgetDestroying(views::Widget* widget) { 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); diff --git a/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc index dfebb2c7cec6..873f7ea57187 100644 --- a/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc @@ -117,7 +117,8 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source, IDS_SETTINGS_SYSTEM_PAGE_BRAVE_IS_DEFAULT_MS_EDGE_PROTOCOL_HANDLER_LABEL}, #endif #if BUILDFLAG(ENABLE_SIDEBAR) - {"appearanceSettingsShowOptionTitle", IDS_SIDEBAR_SHOW_OPTION_TITLE}, + {"appearanceSettingsShowOptionTitle", + IDS_SETTINGS_SIDEBAR_SHOW_OPTION_TITLE}, {"appearanceSettingsShowOptionAlways", IDS_SIDEBAR_SHOW_OPTION_ALWAYS}, {"appearanceSettingsShowOptionMouseOver", IDS_SIDEBAR_SHOW_OPTION_MOUSEOVER}, diff --git a/components/sidebar/BUILD.gn b/components/sidebar/BUILD.gn index e2fdcb6f9bc8..4d103d539d7f 100644 --- a/components/sidebar/BUILD.gn +++ b/components/sidebar/BUILD.gn @@ -20,6 +20,7 @@ static_library("sidebar") { "//brave/components/resources:strings", "//components/keyed_service/core", "//components/prefs", + "//components/version_info", "//ui/base", "//url", ] @@ -36,6 +37,7 @@ source_set("unit_tests") { "//brave/components/sidebar", "//components/prefs", "//components/prefs:test_support", + "//components/version_info", "//content/public/browser", "//content/test:test_support", "//testing/gtest", diff --git a/components/sidebar/sidebar_service.cc b/components/sidebar/sidebar_service.cc index 4f1a4880a784..c3eaf0cb9f19 100644 --- a/components/sidebar/sidebar_service.cc +++ b/components/sidebar/sidebar_service.cc @@ -19,6 +19,8 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" +using version_info::Channel; + namespace sidebar { namespace { @@ -89,10 +91,14 @@ std::vector GetDefaultSidebarItems() { } // namespace // static -void SidebarService::RegisterProfilePrefs(PrefRegistrySimple* registry) { +void SidebarService::RegisterProfilePrefs(PrefRegistrySimple* registry, + version_info::Channel channel) { registry->RegisterListPref(kSidebarItems); registry->RegisterIntegerPref( - kSidebarShowOption, static_cast(ShowSidebarOption::kShowAlways)); + kSidebarShowOption, + channel == Channel::STABLE + ? static_cast(ShowSidebarOption::kShowNever) + : static_cast(ShowSidebarOption::kShowAlways)); registry->RegisterIntegerPref(kSidebarItemAddedFeedbackBubbleShowCount, 0); } diff --git a/components/sidebar/sidebar_service.h b/components/sidebar/sidebar_service.h index ac467a5f2bc5..6e48c61836d3 100644 --- a/components/sidebar/sidebar_service.h +++ b/components/sidebar/sidebar_service.h @@ -14,6 +14,7 @@ #include "brave/components/sidebar/sidebar_item.h" #include "components/keyed_service/core/keyed_service.h" #include "components/prefs/pref_change_registrar.h" +#include "components/version_info/channel.h" class PrefRegistrySimple; class PrefService; @@ -42,7 +43,8 @@ class SidebarService : public KeyedService { ~Observer() override = default; }; - static void RegisterProfilePrefs(PrefRegistrySimple* registry); + static void RegisterProfilePrefs(PrefRegistrySimple* registry, + version_info::Channel channel); explicit SidebarService(PrefService* prefs); ~SidebarService() override; diff --git a/components/sidebar/sidebar_service_unittest.cc b/components/sidebar/sidebar_service_unittest.cc index 718c42257217..7ebb5dc5057b 100644 --- a/components/sidebar/sidebar_service_unittest.cc +++ b/components/sidebar/sidebar_service_unittest.cc @@ -11,8 +11,11 @@ #include "brave/components/sidebar/sidebar_service.h" #include "components/prefs/scoped_user_pref_update.h" #include "components/prefs/testing_pref_service.h" +#include "components/version_info/channel.h" #include "testing/gtest/include/gtest/gtest.h" +using version_info::Channel; + namespace sidebar { class SidebarServiceTest : public testing::Test, @@ -22,10 +25,6 @@ class SidebarServiceTest : public testing::Test, ~SidebarServiceTest() override = default; - void SetUp() override { - SidebarService::RegisterProfilePrefs(prefs_.registry()); - } - void TearDown() override { service_->RemoveObserver(this); } void InitService() { @@ -74,6 +73,7 @@ class SidebarServiceTest : public testing::Test, }; TEST_F(SidebarServiceTest, AddRemoveItems) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::CANARY); InitService(); // Check the default items count. @@ -118,6 +118,7 @@ TEST_F(SidebarServiceTest, AddRemoveItems) { } TEST_F(SidebarServiceTest, MoveItem) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::DEV); InitService(); // Add one more item to test with 4 items. @@ -149,6 +150,7 @@ TEST_F(SidebarServiceTest, MoveItem) { } TEST_F(SidebarServiceTest, BuiltInItemUpdateTestWithBuiltInItemTypeKey) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::BETA); // Make prefs already have builtin items before service initialization. // And it has old url. { @@ -185,6 +187,7 @@ TEST_F(SidebarServiceTest, BuiltInItemUpdateTestWithBuiltInItemTypeKey) { } TEST_F(SidebarServiceTest, BuiltInItemDoesntHaveHistoryItem) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::BETA); // Make prefs already have builtin items before service initialization. // And it has history item. { @@ -216,6 +219,7 @@ TEST_F(SidebarServiceTest, BuiltInItemDoesntHaveHistoryItem) { } TEST_F(SidebarServiceTest, BuiltInItemUpdateTestWithoutBuiltInItemTypeKey) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::STABLE); // Prepare built-in item in prefs w/o setting BuiltInItemType. // If not stored, service uses url to get proper latest properties. { @@ -241,6 +245,7 @@ TEST_F(SidebarServiceTest, BuiltInItemUpdateTestWithoutBuiltInItemTypeKey) { } TEST_F(SidebarServiceTest, SidebarShowOptionsDeprecationTest) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::STABLE); // Show on click is deprecated. // Treat it as a show on mouse over. prefs_.SetInteger( @@ -252,7 +257,15 @@ TEST_F(SidebarServiceTest, SidebarShowOptionsDeprecationTest) { service_->GetSidebarShowOption()); } -TEST_F(SidebarServiceTest, SidebarShowOptionsDefaultTest) { +TEST_F(SidebarServiceTest, SidebarShowOptionsDefaultTestStable) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::STABLE); + InitService(); + EXPECT_EQ(SidebarService::ShowSidebarOption::kShowNever, + service_->GetSidebarShowOption()); +} + +TEST_F(SidebarServiceTest, SidebarShowOptionsDefaultTestNonStable) { + SidebarService::RegisterProfilePrefs(prefs_.registry(), Channel::BETA); InitService(); EXPECT_EQ(SidebarService::ShowSidebarOption::kShowAlways, service_->GetSidebarShowOption());