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());