Skip to content

Commit c9ea17a

Browse files
committed
Update split view tile color for custom theme
fix brave/brave-browser#43052 When custom theme is used, we use different tile bg color and border color as custom theme could have any colors so it's difficult to generate tile color from them.
1 parent 5736301 commit c9ea17a

File tree

4 files changed

+29
-13
lines changed

4 files changed

+29
-13
lines changed

browser/ui/color/brave_color_id.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
#define BRAVE_SPLIT_VIEW_COLOR_IDS \
129129
E_CPONLY(kColorBraveSplitViewTileBackgroundHorizontal) \
130130
E_CPONLY(kColorBraveSplitViewTileBackgroundVertical) \
131+
E_CPONLY(kColorBraveSplitViewTileBackgroundBorder) \
131132
E_CPONLY(kColorBraveSplitViewTileDivider) \
132133
E_CPONLY(kColorBraveSplitViewActiveWebViewBorder) \
133134
E_CPONLY(kColorBraveSplitViewInactiveWebViewBorder) \

browser/ui/tabs/brave_tab_color_mixer.cc

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,24 @@ void AddBraveTabThemeColorMixer(ui::ColorProvider* provider,
2121
const ui::ColorProviderKey& key) {
2222
auto& mixer = provider->AddMixer();
2323

24+
if (key.custom_theme) {
25+
mixer[kColorBraveSplitViewTileBackgroundHorizontal] = {
26+
SkColorSetARGB(0x1A, 0x00, 0x00, 0x00)};
27+
mixer[kColorBraveSplitViewTileBackgroundVertical] = {
28+
kColorBraveSplitViewTileBackgroundHorizontal};
29+
mixer[kColorBraveSplitViewTileBackgroundBorder] = {
30+
SkColorSetARGB(0x34, 0xFF, 0xFF, 0xFF)};
31+
mixer[kColorBraveSplitViewTileDivider] = {kColorTabDividerFrameActive};
32+
} else {
33+
mixer[kColorBraveSplitViewTileBackgroundHorizontal] = {
34+
nala::kColorDesktopbrowserTabbarSplitViewBackgroundHorizontal};
35+
mixer[kColorBraveSplitViewTileBackgroundVertical] = {
36+
nala::kColorDesktopbrowserTabbarSplitViewBackgroundVertical};
37+
mixer[kColorBraveSplitViewTileBackgroundBorder] = {SK_ColorTRANSPARENT};
38+
mixer[kColorBraveSplitViewTileDivider] = {
39+
nala::kColorDesktopbrowserTabbarSplitViewDivider};
40+
}
41+
2442
mixer[kColorBraveVerticalTabActiveBackground] = {
2543
nala::kColorDesktopbrowserTabbarActiveTabVertical};
2644
mixer[kColorBraveVerticalTabHoveredBackground] = {
@@ -33,13 +51,6 @@ void AddBraveTabThemeColorMixer(ui::ColorProvider* provider,
3351
kColorTabForegroundInactiveFrameActive};
3452
mixer[kColorBraveVerticalTabNTBShortcutTextColor] = {
3553
kColorTabForegroundActiveFrameActive};
36-
37-
mixer[kColorBraveSplitViewTileBackgroundHorizontal] = {
38-
nala::kColorDesktopbrowserTabbarSplitViewBackgroundHorizontal};
39-
mixer[kColorBraveSplitViewTileBackgroundVertical] = {
40-
nala::kColorDesktopbrowserTabbarSplitViewBackgroundVertical};
41-
mixer[kColorBraveSplitViewTileDivider] = {
42-
nala::kColorDesktopbrowserTabbarSplitViewDivider};
4354
mixer[kColorBraveSplitViewMenuItemIcon] = {nala::kColorIconDefault};
4455
mixer[kColorBraveSplitViewUrl] = {nala::kColorTextTertiary};
4556
mixer[kColorBraveSplitViewMenuButtonBorder] = {nala::kColorDividerSubtle};
@@ -74,6 +85,7 @@ void AddBraveTabPrivateThemeColorMixer(ui::ColorProvider* provider,
7485
nala::kColorPrimitivePrivateWindow5};
7586
mixer[kColorBraveSplitViewTileDivider] = {
7687
nala::kColorPrimitivePrivateWindow20};
88+
mixer[kColorBraveSplitViewTileBackgroundBorder] = {SK_ColorTRANSPARENT};
7789
}
7890

7991
void AddBraveTabTorThemeColorMixer(ui::ColorProvider* provider,
@@ -90,6 +102,7 @@ void AddBraveTabTorThemeColorMixer(ui::ColorProvider* provider,
90102
mixer[kColorBraveSplitViewTileBackgroundVertical] = {
91103
nala::kColorPrimitiveTorWindow5};
92104
mixer[kColorBraveSplitViewTileDivider] = {nala::kColorPrimitiveTorWindow20};
105+
mixer[kColorBraveSplitViewTileBackgroundBorder] = {SK_ColorTRANSPARENT};
93106
}
94107

95108
} // namespace tabs

browser/ui/views/tabs/brave_tab_container.cc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,14 @@ void BraveTabContainer::PaintBoundingBoxForTile(gfx::Canvas& canvas,
366366
separator_top.Offset(0, gap);
367367
auto separator_bottom = separator_top;
368368
separator_bottom.Offset(0, kSplitViewSeparatorHeight);
369-
canvas.DrawLine(
370-
separator_top, separator_bottom,
371-
cp->GetColor(nala::kColorDesktopbrowserTabbarSplitViewDivider));
369+
canvas.DrawLine(separator_top, separator_bottom,
370+
cp->GetColor(kColorBraveSplitViewTileDivider));
372371
}
372+
373+
bounding_rects.Outset(1);
374+
flags.setStyle(cc::PaintFlags::kStroke_Style);
375+
flags.setColor(cp->GetColor(kColorBraveSplitViewTileBackgroundBorder));
376+
canvas.DrawRoundRect(bounding_rects, kRadius, flags);
373377
}
374378

375379
void BraveTabContainer::OnUnlockLayout() {

browser/ui/views/tabs/brave_tab_style_views.inc.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,9 +434,7 @@ SkColor BraveVerticalTabStyle::GetTargetTabBackgroundColor(
434434
// dragging here. As having selected tab state in a tile is not a
435435
// common state, I think it's fine to not have that state in a tile.
436436
if (IsTabTiled(tab()) && !tab()->IsActive() && !hovered) {
437-
return cp->GetColor(ShouldShowVerticalTabs()
438-
? kColorBraveSplitViewTileBackgroundVertical
439-
: kColorBraveSplitViewTileBackgroundHorizontal);
437+
return SK_ColorTRANSPARENT;
440438
}
441439

442440
if (!ShouldShowVerticalTabs()) {

0 commit comments

Comments
 (0)