From 89d754aa880163cc2e223aa4e5a7a7286413f1ce Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Tue, 1 Oct 2024 11:59:40 +1300 Subject: [PATCH 1/9] [Rounded Corners]: Fix shadows --- browser/ui/brave_browser.cc | 7 +++++ browser/ui/brave_browser.h | 1 + .../views/frame/brave_browser_view_layout.cc | 27 ++++++++++++------- .../views/frame/brave_contents_view_util.cc | 7 +++-- .../frame/vertical_tab_strip_region_view.cc | 6 +++-- .../ui/views/side_panel/brave_side_panel.cc | 9 ++++++- 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/browser/ui/brave_browser.cc b/browser/ui/brave_browser.cc index 350f9f2cef03..a3dbdfd94aa0 100644 --- a/browser/ui/brave_browser.cc +++ b/browser/ui/brave_browser.cc @@ -18,6 +18,7 @@ #include "brave/browser/ui/brave_file_select_utils.h" #include "brave/browser/ui/tabs/brave_tab_prefs.h" #include "brave/browser/ui/tabs/features.h" +#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "brave/components/constants/pref_names.h" #include "chrome/browser/lifetime/browser_close_manager.h" #include "chrome/browser/profiles/profile.h" @@ -57,6 +58,12 @@ bool BraveBrowser::ShouldUseBraveWebViewRoundedCorners(Browser* browser) { browser->is_type_normal(); } +int BraveBrowser::GetRoundedCornersWebViewMargin(Browser* browser) { + return ShouldUseBraveWebViewRoundedCorners(browser) + ? BraveContentsViewUtil::kMarginThickness + : 0; +} + BraveBrowser::BraveBrowser(const CreateParams& params) : Browser(params) { #if defined(TOOLKIT_VIEWS) if (!sidebar::CanUseSidebar(this)) { diff --git a/browser/ui/brave_browser.h b/browser/ui/brave_browser.h index f4e02d2b1e3d..15b70fe01ce2 100644 --- a/browser/ui/brave_browser.h +++ b/browser/ui/brave_browser.h @@ -32,6 +32,7 @@ class BraveBrowser : public Browser { BraveBrowser& operator=(const BraveBrowser&) = delete; static bool ShouldUseBraveWebViewRoundedCorners(Browser* browser); + static int GetRoundedCornersWebViewMargin(Browser* browser); // Browser overrides: void ScheduleUIUpdate(content::WebContents* source, diff --git a/browser/ui/views/frame/brave_browser_view_layout.cc b/browser/ui/views/frame/brave_browser_view_layout.cc index 3f790d22e2a8..2af91c9c9bee 100644 --- a/browser/ui/views/frame/brave_browser_view_layout.cc +++ b/browser/ui/views/frame/brave_browser_view_layout.cc @@ -67,8 +67,9 @@ void BraveBrowserViewLayout::Layout(views::View* host) { } void BraveBrowserViewLayout::LayoutVerticalTabs() { - if (!vertical_tab_strip_host_.get()) + if (!vertical_tab_strip_host_.get()) { return; + } if (!tabs::utils::ShouldShowVerticalTabs(browser_view_->browser())) { vertical_tab_strip_host_->SetBorder(nullptr); @@ -108,10 +109,11 @@ void BraveBrowserViewLayout::LayoutVerticalTabs() { insets = AdjustInsetsConsideringFrameBorder(insets); #endif - if (insets.IsEmpty()) + if (insets.IsEmpty()) { vertical_tab_strip_host_->SetBorder(nullptr); - else + } else { vertical_tab_strip_host_->SetBorder(views::CreateEmptyBorder(insets)); + } const auto width = vertical_tab_strip_host_->GetPreferredSize().width() + insets.width(); @@ -147,8 +149,9 @@ int BraveBrowserViewLayout::LayoutTabStripRegion(int top) { int BraveBrowserViewLayout::LayoutBookmarkAndInfoBars(int top, int browser_view_y) { - if (!vertical_tab_strip_host_ || !ShouldPushBookmarkBarForVerticalTabs()) + if (!vertical_tab_strip_host_ || !ShouldPushBookmarkBarForVerticalTabs()) { return BrowserViewLayout::LayoutBookmarkAndInfoBars(top, browser_view_y); + } auto new_rect = vertical_layout_rect_; new_rect.Inset(GetInsetsConsideringVerticalTabHost()); @@ -157,8 +160,9 @@ int BraveBrowserViewLayout::LayoutBookmarkAndInfoBars(int top, } int BraveBrowserViewLayout::LayoutInfoBar(int top) { - if (!vertical_tab_strip_host_) + if (!vertical_tab_strip_host_) { return BrowserViewLayout::LayoutInfoBar(top); + } if (ShouldPushBookmarkBarForVerticalTabs()) { // Insets are already applied from LayoutBookmarkAndInfoBar(). @@ -250,14 +254,19 @@ void BraveBrowserViewLayout::UpdateContentsContainerInsets( // Control contents's margin with sidebar & vertical tab state. gfx::Insets contents_margins = GetContentsMargins(); + // In rounded corners mode, we need to include a little margin so we have + // somewhere to draw the shadow. + int contents_margin_for_rounded_corners = + BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); + // Don't need contents container's left or right margin with vertical tab as // vertical tab itself has sufficient padding. if (tabs::utils::ShouldShowVerticalTabs(browser_view_->browser()) && !IsFullscreenForBrowser()) { if (tabs::utils::IsVerticalTabOnRight(browser_view_->browser())) { - contents_margins.set_right(0); + contents_margins.set_right(contents_margin_for_rounded_corners); } else { - contents_margins.set_left(0); + contents_margins.set_left(contents_margin_for_rounded_corners); } } @@ -282,9 +291,9 @@ void BraveBrowserViewLayout::UpdateContentsContainerInsets( // If sidebar is shown in left-side, contents container doens't need its // left margin. if (sidebar_container_->sidebar_on_left()) { - contents_margins.set_left(0); + contents_margins.set_left(contents_margin_for_rounded_corners); } else { - contents_margins.set_right(0); + contents_margins.set_right(contents_margin_for_rounded_corners); } contents_container_bounds.Inset(contents_margins); } diff --git a/browser/ui/views/frame/brave_contents_view_util.cc b/browser/ui/views/frame/brave_contents_view_util.cc index f552fd8e1e84..2095f458554e 100644 --- a/browser/ui/views/frame/brave_contents_view_util.cc +++ b/browser/ui/views/frame/brave_contents_view_util.cc @@ -12,10 +12,9 @@ namespace { constexpr ViewShadow::ShadowParameters kShadow{ .offset_x = 0, - .offset_y = 1, - .blur_radius = 4, - .shadow_color = SkColorSetA(SK_ColorBLACK, 0.07 * 255)}; - + .offset_y = 0, + .blur_radius = BraveContentsViewUtil::kMarginThickness, + .shadow_color = SkColorSetA(SK_ColorBLACK, 0.1 * 255)}; } // namespace std::unique_ptr BraveContentsViewUtil::CreateShadow( diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index b46447d25cf4..b50cf599af03 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -32,6 +32,7 @@ #include "chrome/browser/ui/tabs/tab_style.h" #include "chrome/browser/ui/views/chrome_layout_provider.h" #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" +#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/tabs/tab_strip_scroll_container.h" #include "chrome/browser/ui/views/toolbar/toolbar_button.h" #include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h" @@ -1213,10 +1214,11 @@ void VerticalTabStripRegionView::UpdateBorder() { state_ == State::kFloating; }; + int inset = 1 - BraveBrowser::GetRoundedCornersWebViewMargin(browser_); gfx::Insets border_insets = (!vertical_tab_on_right_.GetPrefName().empty() && *vertical_tab_on_right_) - ? gfx::Insets::TLBR(0, 1, 0, 0) - : gfx::Insets::TLBR(0, 0, 0, 1); + ? gfx::Insets::TLBR(0, inset, 0, 0) + : gfx::Insets::TLBR(0, 0, 0, inset); if (show_visible_border()) { SetBorder(views::CreateSolidSidedBorder( diff --git a/browser/ui/views/side_panel/brave_side_panel.cc b/browser/ui/views/side_panel/brave_side_panel.cc index 0e5db9541f01..4d321ed7f947 100644 --- a/browser/ui/views/side_panel/brave_side_panel.cc +++ b/browser/ui/views/side_panel/brave_side_panel.cc @@ -72,9 +72,16 @@ bool BraveSidePanel::IsRightAligned() { void BraveSidePanel::UpdateBorder() { if (BraveBrowser::ShouldUseBraveWebViewRoundedCorners( browser_view_->browser())) { + // In rounded corners mode we need to add the margin to the web contents + // container instead of the sidebar, so we have somewhere to render the + // shadow. + int content_margin = + -BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); // Use a negative top border to hide the separator inserted by the upstream // side panel implementation. - SetBorder(views::CreateEmptyBorder(gfx::Insets::TLBR(-1, 0, 0, 0))); + SetBorder(views::CreateEmptyBorder( + gfx::Insets::TLBR(-1, IsRightAligned() ? content_margin : 0, 0, + IsRightAligned() ? 0 : content_margin))); return; } From 6c2a1104d48d678e1af4ef8ebc2bfe428256be73 Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Tue, 1 Oct 2024 13:40:19 +1300 Subject: [PATCH 2/9] [Sidebar]: Fix margins --- .../frame/vertical_tab_strip_region_view.cc | 31 +++++++++++++------ .../frame/vertical_tab_strip_region_view.h | 3 +- .../ui/views/sidebar/sidebar_control_view.cc | 22 ++++++++----- .../ui/views/sidebar/sidebar_control_view.h | 2 ++ 4 files changed, 40 insertions(+), 18 deletions(-) diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index b50cf599af03..b82c8aef521f 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -11,6 +11,7 @@ #include #include +#include "base/functional/bind.h" #include "brave/app/vector_icons/vector_icons.h" #include "brave/browser/ui/brave_browser.h" #include "brave/browser/ui/color/brave_color_id.h" @@ -32,7 +33,6 @@ #include "chrome/browser/ui/tabs/tab_style.h" #include "chrome/browser/ui/views/chrome_layout_provider.h" #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" -#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/tabs/tab_strip_scroll_container.h" #include "chrome/browser/ui/views/toolbar/toolbar_button.h" #include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h" @@ -668,9 +668,13 @@ VerticalTabStripRegionView::VerticalTabStripRegionView( vertical_tab_on_right_.Init( brave_tabs::kVerticalTabsOnRight, browser()->profile()->GetPrefs(), - base::BindRepeating( - &VerticalTabStripRegionView::OnVerticalTabPositionChanged, - base::Unretained(this))); + base::BindRepeating(&VerticalTabStripRegionView::OnBrowserPanelsMoved, + base::Unretained(this))); + + sidebar_side_.Init( + prefs::kSidePanelHorizontalAlignment, prefs, + base::BindRepeating(&VerticalTabStripRegionView::OnBrowserPanelsMoved, + base::Unretained(this))); widget_observation_.Observe(browser_view->GetWidget()); @@ -946,7 +950,7 @@ void VerticalTabStripRegionView::OnShowVerticalTabsPrefChanged() { UpdateBorder(); } -void VerticalTabStripRegionView::OnVerticalTabPositionChanged() { +void VerticalTabStripRegionView::OnBrowserPanelsMoved() { UpdateBorder(); PreferredSizeChanged(); } @@ -1214,11 +1218,18 @@ void VerticalTabStripRegionView::UpdateBorder() { state_ == State::kFloating; }; - int inset = 1 - BraveBrowser::GetRoundedCornersWebViewMargin(browser_); - gfx::Insets border_insets = - (!vertical_tab_on_right_.GetPrefName().empty() && *vertical_tab_on_right_) - ? gfx::Insets::TLBR(0, inset, 0, 0) - : gfx::Insets::TLBR(0, 0, 0, inset); + // If the sidebar is on the same side as the vertical tab strip, we shouldn't + // take away the margin on the vertical tabs, because the sidebar will be + // between it and the web_contents. + bool is_on_right = + !vertical_tab_on_right_.GetPrefName().empty() && *vertical_tab_on_right_; + bool sidebar_on_same_side = sidebar_side_.GetValue() == is_on_right; + int inset = + 1 - (sidebar_on_same_side + ? 0 + : BraveBrowser::GetRoundedCornersWebViewMargin(browser_)); + gfx::Insets border_insets = (is_on_right) ? gfx::Insets::TLBR(0, inset, 0, 0) + : gfx::Insets::TLBR(0, 0, 0, inset); if (show_visible_border()) { SetBorder(views::CreateSolidSidedBorder( diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.h b/browser/ui/views/frame/vertical_tab_strip_region_view.h index f978512297f6..9b556700a01f 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.h +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.h @@ -144,7 +144,7 @@ class VerticalTabStripRegionView : public views::View, void UpdateStateAfterDragAndDropFinished(State original_state); void OnShowVerticalTabsPrefChanged(); - void OnVerticalTabPositionChanged(); + void OnBrowserPanelsMoved(); void UpdateLayout(bool in_destruction = false); @@ -202,6 +202,7 @@ class VerticalTabStripRegionView : public views::View, BooleanPrefMember collapsed_pref_; BooleanPrefMember expanded_state_per_window_pref_; BooleanPrefMember floating_mode_pref_; + BooleanPrefMember sidebar_side_; IntegerPrefMember expanded_width_pref_; int expanded_width_ = 220; diff --git a/browser/ui/views/sidebar/sidebar_control_view.cc b/browser/ui/views/sidebar/sidebar_control_view.cc index 4157e4bb8726..014885452082 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.cc +++ b/browser/ui/views/sidebar/sidebar_control_view.cc @@ -86,13 +86,14 @@ void SidebarControlView::UpdateBackgroundAndBorder() { if (const ui::ColorProvider* color_provider = GetColorProvider()) { SetBackground( views::CreateSolidBackground(color_provider->GetColor(kColorToolbar))); - if (!BraveBrowser::ShouldUseBraveWebViewRoundedCorners(browser_)) { - constexpr int kBorderThickness = 1; - SetBorder(views::CreateSolidSidedBorder( - gfx::Insets::TLBR(0, sidebar_on_left_ ? 0 : kBorderThickness, 0, - sidebar_on_left_ ? kBorderThickness : 0), - color_provider->GetColor(kColorToolbarContentAreaSeparator))); - } + bool open = + browser_->sidebar_controller()->model()->active_index().has_value(); + int border_thickness = + 1 - (open ? 0 : BraveBrowser::GetRoundedCornersWebViewMargin(browser_)); + SetBorder(views::CreateSolidSidedBorder( + gfx::Insets::TLBR(0, sidebar_on_left_ ? 0 : border_thickness, 0, + sidebar_on_left_ ? border_thickness : 0), + color_provider->GetColor(kColorToolbarContentAreaSeparator))); } } @@ -168,6 +169,13 @@ void SidebarControlView::OnItemRemoved(size_t index) { UpdateItemAddButtonState(); } +void SidebarControlView::OnActiveIndexChanged(std::optional old_index, + std::optional new_index) { + if (old_index.has_value() != new_index.has_value()) { + UpdateBackgroundAndBorder(); + } +} + void SidebarControlView::AddChildViews() { sidebar_items_view_ = AddChildView(std::make_unique(browser_)); diff --git a/browser/ui/views/sidebar/sidebar_control_view.h b/browser/ui/views/sidebar/sidebar_control_view.h index 2658ac3450ed..8d34d5ea7cc6 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.h +++ b/browser/ui/views/sidebar/sidebar_control_view.h @@ -69,6 +69,8 @@ class SidebarControlView : public views::View, size_t index, bool user_gesture) override; void OnItemRemoved(size_t index) override; + void OnActiveIndexChanged(std::optional old_index, + std::optional new_index) override; void Update(); From fb8b254c10a0c5fb352e38775b242037e395161e Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Thu, 3 Oct 2024 10:52:42 +1300 Subject: [PATCH 3/9] Refactoring to set the border on the panel instead --- .../views/frame/brave_browser_view_layout.cc | 8 +++++++- .../ui/views/frame/brave_contents_view_util.cc | 2 +- .../ui/views/side_panel/brave_side_panel.cc | 10 +++++----- .../ui/views/sidebar/sidebar_control_view.cc | 18 +++++------------- .../ui/views/sidebar/sidebar_control_view.h | 2 -- 5 files changed, 18 insertions(+), 22 deletions(-) diff --git a/browser/ui/views/frame/brave_browser_view_layout.cc b/browser/ui/views/frame/brave_browser_view_layout.cc index 2af91c9c9bee..dd5f88a2d37e 100644 --- a/browser/ui/views/frame/brave_browser_view_layout.cc +++ b/browser/ui/views/frame/brave_browser_view_layout.cc @@ -231,7 +231,13 @@ void BraveBrowserViewLayout::LayoutSideBar(gfx::Rect& contents_bounds) { // Side panel doesn't need margin as sidebar UI and contents container // will have margins if needed. gfx::Insets panel_margins = GetContentsMargins(); - panel_margins.set_left_right(0, 0); + + // We need somewhere to draw the panel shadow in rounded mode, so don't clear + // the margins. + if (!BraveBrowser::ShouldUseBraveWebViewRoundedCorners( + browser_view_->browser())) { + panel_margins.set_left_right(0, 0); + } sidebar_container_->side_panel()->SetProperty(views::kMarginsKey, panel_margins); diff --git a/browser/ui/views/frame/brave_contents_view_util.cc b/browser/ui/views/frame/brave_contents_view_util.cc index 2095f458554e..d062167989ff 100644 --- a/browser/ui/views/frame/brave_contents_view_util.cc +++ b/browser/ui/views/frame/brave_contents_view_util.cc @@ -14,7 +14,7 @@ constexpr ViewShadow::ShadowParameters kShadow{ .offset_x = 0, .offset_y = 0, .blur_radius = BraveContentsViewUtil::kMarginThickness, - .shadow_color = SkColorSetA(SK_ColorBLACK, 0.1 * 255)}; + .shadow_color = SkColorSetA(SK_ColorBLACK, 0.8 * 255)}; } // namespace std::unique_ptr BraveContentsViewUtil::CreateShadow( diff --git a/browser/ui/views/side_panel/brave_side_panel.cc b/browser/ui/views/side_panel/brave_side_panel.cc index 4d321ed7f947..1754d9d84160 100644 --- a/browser/ui/views/side_panel/brave_side_panel.cc +++ b/browser/ui/views/side_panel/brave_side_panel.cc @@ -24,8 +24,10 @@ #include "chrome/browser/ui/views/side_panel/side_panel_util.h" #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/color/color_provider.h" +#include "ui/gfx/geometry/insets.h" #include "ui/views/background.h" #include "ui/views/border.h" +#include "ui/views/view_class_properties.h" BraveSidePanel::BraveSidePanel(BrowserView* browser_view, HorizontalAlignment horizontal_alignment) @@ -75,13 +77,11 @@ void BraveSidePanel::UpdateBorder() { // In rounded corners mode we need to add the margin to the web contents // container instead of the sidebar, so we have somewhere to render the // shadow. - int content_margin = - -BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); + // int content_margin = + // -BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); // Use a negative top border to hide the separator inserted by the upstream // side panel implementation. - SetBorder(views::CreateEmptyBorder( - gfx::Insets::TLBR(-1, IsRightAligned() ? content_margin : 0, 0, - IsRightAligned() ? 0 : content_margin))); + SetBorder(views::NullBorder()); return; } diff --git a/browser/ui/views/sidebar/sidebar_control_view.cc b/browser/ui/views/sidebar/sidebar_control_view.cc index 014885452082..c37459cfd19d 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.cc +++ b/browser/ui/views/sidebar/sidebar_control_view.cc @@ -19,8 +19,10 @@ #include "brave/grit/brave_generated_resources.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser_command_controller.h" +#include "chrome/browser/ui/browser_window/public/browser_window_features.h" #include "chrome/browser/ui/color/chrome_color_id.h" #include "chrome/browser/ui/singleton_tabs.h" +#include "chrome/browser/ui/views/side_panel/side_panel_ui.h" #include "chrome/common/pref_names.h" #include "components/prefs/pref_service.h" #include "ui/base/l10n/l10n_util.h" @@ -86,14 +88,11 @@ void SidebarControlView::UpdateBackgroundAndBorder() { if (const ui::ColorProvider* color_provider = GetColorProvider()) { SetBackground( views::CreateSolidBackground(color_provider->GetColor(kColorToolbar))); - bool open = - browser_->sidebar_controller()->model()->active_index().has_value(); int border_thickness = - 1 - (open ? 0 : BraveBrowser::GetRoundedCornersWebViewMargin(browser_)); - SetBorder(views::CreateSolidSidedBorder( + 1 - BraveBrowser::GetRoundedCornersWebViewMargin(browser_); + SetBorder(views::CreateEmptyBorder( gfx::Insets::TLBR(0, sidebar_on_left_ ? 0 : border_thickness, 0, - sidebar_on_left_ ? border_thickness : 0), - color_provider->GetColor(kColorToolbarContentAreaSeparator))); + sidebar_on_left_ ? border_thickness : 0))); } } @@ -169,13 +168,6 @@ void SidebarControlView::OnItemRemoved(size_t index) { UpdateItemAddButtonState(); } -void SidebarControlView::OnActiveIndexChanged(std::optional old_index, - std::optional new_index) { - if (old_index.has_value() != new_index.has_value()) { - UpdateBackgroundAndBorder(); - } -} - void SidebarControlView::AddChildViews() { sidebar_items_view_ = AddChildView(std::make_unique(browser_)); diff --git a/browser/ui/views/sidebar/sidebar_control_view.h b/browser/ui/views/sidebar/sidebar_control_view.h index 8d34d5ea7cc6..2658ac3450ed 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.h +++ b/browser/ui/views/sidebar/sidebar_control_view.h @@ -69,8 +69,6 @@ class SidebarControlView : public views::View, size_t index, bool user_gesture) override; void OnItemRemoved(size_t index) override; - void OnActiveIndexChanged(std::optional old_index, - std::optional new_index) override; void Update(); From e52e86fe0d48d1b2df4e693681eb0032031eae84 Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Thu, 3 Oct 2024 11:24:36 +1300 Subject: [PATCH 4/9] Begin fixing panels --- browser/ui/views/side_panel/brave_side_panel.cc | 7 ------- browser/ui/views/side_panel/brave_side_panel_view_base.cc | 6 ++++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/browser/ui/views/side_panel/brave_side_panel.cc b/browser/ui/views/side_panel/brave_side_panel.cc index 1754d9d84160..ac0c79da87dd 100644 --- a/browser/ui/views/side_panel/brave_side_panel.cc +++ b/browser/ui/views/side_panel/brave_side_panel.cc @@ -74,13 +74,6 @@ bool BraveSidePanel::IsRightAligned() { void BraveSidePanel::UpdateBorder() { if (BraveBrowser::ShouldUseBraveWebViewRoundedCorners( browser_view_->browser())) { - // In rounded corners mode we need to add the margin to the web contents - // container instead of the sidebar, so we have somewhere to render the - // shadow. - // int content_margin = - // -BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); - // Use a negative top border to hide the separator inserted by the upstream - // side panel implementation. SetBorder(views::NullBorder()); return; } diff --git a/browser/ui/views/side_panel/brave_side_panel_view_base.cc b/browser/ui/views/side_panel/brave_side_panel_view_base.cc index d82938b5baec..6d30427acddc 100644 --- a/browser/ui/views/side_panel/brave_side_panel_view_base.cc +++ b/browser/ui/views/side_panel/brave_side_panel_view_base.cc @@ -6,6 +6,7 @@ #include "brave/browser/ui/views/side_panel/brave_side_panel_view_base.h" #include "brave/browser/ui/color/brave_color_id.h" +#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "chrome/browser/ui/views/side_panel/side_panel_content_proxy.h" #include "chrome/browser/ui/views/side_panel/side_panel_util.h" #include "ui/base/metadata/metadata_impl_macros.h" @@ -23,8 +24,9 @@ BraveSidePanelViewBase::BraveSidePanelViewBase() { // NOTE: If we use our own reading list page and it has loading spinner, maybe // we can set `true` here. SidePanelUtil::GetSidePanelContentProxy(this)->SetAvailable(false); - SetBackground( - views::CreateThemedSolidBackground(kColorSidebarPanelHeaderBackground)); + SetBackground(views::CreateRoundedRectBackground( + kColorSidebarPanelHeaderBackground, + BraveContentsViewUtil::kMarginThickness)); } BraveSidePanelViewBase::~BraveSidePanelViewBase() = default; From 87d5579e99458b8607a5dc29eaf9ff695b10b02b Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Thu, 3 Oct 2024 13:40:30 +1300 Subject: [PATCH 5/9] Add radius to all corners --- .../views/frame/brave_browser_view_layout.cc | 22 ++++++++++++------- .../views/frame/brave_contents_view_util.cc | 2 +- .../side_panel/brave_side_panel_view_base.cc | 6 ++--- .../side_panel/side_panel_web_ui_view.cc | 11 ++++------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/browser/ui/views/frame/brave_browser_view_layout.cc b/browser/ui/views/frame/brave_browser_view_layout.cc index dd5f88a2d37e..5af08357d5c0 100644 --- a/browser/ui/views/frame/brave_browser_view_layout.cc +++ b/browser/ui/views/frame/brave_browser_view_layout.cc @@ -208,8 +208,8 @@ void BraveBrowserViewLayout::LayoutSideBar(gfx::Rect& contents_bounds) { #endif gfx::Rect separator_bounds; - - if (sidebar_container_->sidebar_on_left()) { + const bool on_left = sidebar_container_->sidebar_on_left(); + if (on_left) { contents_bounds.set_x(contents_bounds.x() + sidebar_bounds.width()); // When vertical tabs and the sidebar are adjacent, add a separator between @@ -228,14 +228,20 @@ void BraveBrowserViewLayout::LayoutSideBar(gfx::Rect& contents_bounds) { sidebar_bounds.set_x(contents_bounds.right()); } - // Side panel doesn't need margin as sidebar UI and contents container - // will have margins if needed. gfx::Insets panel_margins = GetContentsMargins(); - - // We need somewhere to draw the panel shadow in rounded mode, so don't clear - // the margins. - if (!BraveBrowser::ShouldUseBraveWebViewRoundedCorners( + if (BraveBrowser::ShouldUseBraveWebViewRoundedCorners( browser_view_->browser())) { + // In rounded mode, there is already a gap between the sidebar and the main + // contents view, so we only remove from the margin from that side (we need + // to keep it between the sidebar controls and the sidebar content). + if (on_left) { + panel_margins.set_right(0); + } else { + panel_margins.set_left(0); + } + } else { + // Side panel doesn't need margin as sidebar UI and contents container + // will have margins if needed. panel_margins.set_left_right(0, 0); } sidebar_container_->side_panel()->SetProperty(views::kMarginsKey, diff --git a/browser/ui/views/frame/brave_contents_view_util.cc b/browser/ui/views/frame/brave_contents_view_util.cc index d062167989ff..2095f458554e 100644 --- a/browser/ui/views/frame/brave_contents_view_util.cc +++ b/browser/ui/views/frame/brave_contents_view_util.cc @@ -14,7 +14,7 @@ constexpr ViewShadow::ShadowParameters kShadow{ .offset_x = 0, .offset_y = 0, .blur_radius = BraveContentsViewUtil::kMarginThickness, - .shadow_color = SkColorSetA(SK_ColorBLACK, 0.8 * 255)}; + .shadow_color = SkColorSetA(SK_ColorBLACK, 0.1 * 255)}; } // namespace std::unique_ptr BraveContentsViewUtil::CreateShadow( diff --git a/browser/ui/views/side_panel/brave_side_panel_view_base.cc b/browser/ui/views/side_panel/brave_side_panel_view_base.cc index 6d30427acddc..d82938b5baec 100644 --- a/browser/ui/views/side_panel/brave_side_panel_view_base.cc +++ b/browser/ui/views/side_panel/brave_side_panel_view_base.cc @@ -6,7 +6,6 @@ #include "brave/browser/ui/views/side_panel/brave_side_panel_view_base.h" #include "brave/browser/ui/color/brave_color_id.h" -#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "chrome/browser/ui/views/side_panel/side_panel_content_proxy.h" #include "chrome/browser/ui/views/side_panel/side_panel_util.h" #include "ui/base/metadata/metadata_impl_macros.h" @@ -24,9 +23,8 @@ BraveSidePanelViewBase::BraveSidePanelViewBase() { // NOTE: If we use our own reading list page and it has loading spinner, maybe // we can set `true` here. SidePanelUtil::GetSidePanelContentProxy(this)->SetAvailable(false); - SetBackground(views::CreateRoundedRectBackground( - kColorSidebarPanelHeaderBackground, - BraveContentsViewUtil::kMarginThickness)); + SetBackground( + views::CreateThemedSolidBackground(kColorSidebarPanelHeaderBackground)); } BraveSidePanelViewBase::~BraveSidePanelViewBase() = default; diff --git a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc index e83e9f1a6b9d..42a9e8a7bcae 100644 --- a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc +++ b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc @@ -3,17 +3,14 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at https://mozilla.org/MPL/2.0/. */ +#include "src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc" + #include "brave/browser/brave_browser_features.h" #include "brave/browser/ui/views/frame/brave_contents_view_util.h" -#include "src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc" - void SidePanelWebUIView::AddedToWidget() { if (base::FeatureList::IsEnabled(features::kBraveWebViewRoundedCorners)) { - // Side panel WebUI views are positioned at the bottom of the side panel. In - // order to maintain rounded corners around the side panel, give the web - // contents native view rounded corners on the bottom. - constexpr auto radius = BraveContentsViewUtil::kBorderRadius; - holder()->SetCornerRadii(gfx::RoundedCornersF(0, 0, radius, radius)); + constexpr auto kRadius = BraveContentsViewUtil::kBorderRadius; + holder()->SetCornerRadii(gfx::RoundedCornersF(kRadius)); } } From 6520b1204b807d813fa8a3fd6e0bc212fd1eb007 Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Thu, 3 Oct 2024 14:59:24 +1300 Subject: [PATCH 6/9] Cleanup for PR --- browser/ui/brave_browser.cc | 7 ------- browser/ui/brave_browser.h | 1 - browser/ui/views/frame/brave_browser_view_layout.cc | 3 ++- browser/ui/views/frame/brave_contents_view_util.cc | 8 ++++++++ browser/ui/views/frame/brave_contents_view_util.h | 6 ++++++ browser/ui/views/frame/vertical_tab_strip_region_view.cc | 8 +++++--- browser/ui/views/side_panel/brave_side_panel.cc | 6 +++--- browser/ui/views/sidebar/sidebar_container_view.cc | 5 ++++- browser/ui/views/sidebar/sidebar_control_view.cc | 3 ++- 9 files changed, 30 insertions(+), 17 deletions(-) diff --git a/browser/ui/brave_browser.cc b/browser/ui/brave_browser.cc index a3dbdfd94aa0..350f9f2cef03 100644 --- a/browser/ui/brave_browser.cc +++ b/browser/ui/brave_browser.cc @@ -18,7 +18,6 @@ #include "brave/browser/ui/brave_file_select_utils.h" #include "brave/browser/ui/tabs/brave_tab_prefs.h" #include "brave/browser/ui/tabs/features.h" -#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "brave/components/constants/pref_names.h" #include "chrome/browser/lifetime/browser_close_manager.h" #include "chrome/browser/profiles/profile.h" @@ -58,12 +57,6 @@ bool BraveBrowser::ShouldUseBraveWebViewRoundedCorners(Browser* browser) { browser->is_type_normal(); } -int BraveBrowser::GetRoundedCornersWebViewMargin(Browser* browser) { - return ShouldUseBraveWebViewRoundedCorners(browser) - ? BraveContentsViewUtil::kMarginThickness - : 0; -} - BraveBrowser::BraveBrowser(const CreateParams& params) : Browser(params) { #if defined(TOOLKIT_VIEWS) if (!sidebar::CanUseSidebar(this)) { diff --git a/browser/ui/brave_browser.h b/browser/ui/brave_browser.h index 15b70fe01ce2..f4e02d2b1e3d 100644 --- a/browser/ui/brave_browser.h +++ b/browser/ui/brave_browser.h @@ -32,7 +32,6 @@ class BraveBrowser : public Browser { BraveBrowser& operator=(const BraveBrowser&) = delete; static bool ShouldUseBraveWebViewRoundedCorners(Browser* browser); - static int GetRoundedCornersWebViewMargin(Browser* browser); // Browser overrides: void ScheduleUIUpdate(content::WebContents* source, diff --git a/browser/ui/views/frame/brave_browser_view_layout.cc b/browser/ui/views/frame/brave_browser_view_layout.cc index 5af08357d5c0..b84cf4b1ca0b 100644 --- a/browser/ui/views/frame/brave_browser_view_layout.cc +++ b/browser/ui/views/frame/brave_browser_view_layout.cc @@ -269,7 +269,8 @@ void BraveBrowserViewLayout::UpdateContentsContainerInsets( // In rounded corners mode, we need to include a little margin so we have // somewhere to draw the shadow. int contents_margin_for_rounded_corners = - BraveBrowser::GetRoundedCornersWebViewMargin(browser_view_->browser()); + BraveContentsViewUtil::GetRoundedCornersWebViewMargin( + browser_view_->browser()); // Don't need contents container's left or right margin with vertical tab as // vertical tab itself has sufficient padding. diff --git a/browser/ui/views/frame/brave_contents_view_util.cc b/browser/ui/views/frame/brave_contents_view_util.cc index 2095f458554e..35140dc3cc98 100644 --- a/browser/ui/views/frame/brave_contents_view_util.cc +++ b/browser/ui/views/frame/brave_contents_view_util.cc @@ -5,6 +5,8 @@ #include "brave/browser/ui/views/frame/brave_contents_view_util.h" +#include "brave/browser/ui/brave_browser.h" +#include "chrome/browser/ui/browser.h" #include "ui/compositor/layer.h" #include "ui/views/view.h" @@ -25,3 +27,9 @@ std::unique_ptr BraveContentsViewUtil::CreateShadow( view->layer()->SetIsFastRoundedCorner(true); return shadow; } + +int BraveContentsViewUtil::GetRoundedCornersWebViewMargin(Browser* browser) { + return BraveBrowser::ShouldUseBraveWebViewRoundedCorners(browser) + ? BraveContentsViewUtil::kMarginThickness + : 0; +} diff --git a/browser/ui/views/frame/brave_contents_view_util.h b/browser/ui/views/frame/brave_contents_view_util.h index 937f4d4fe819..42aaee9a282f 100644 --- a/browser/ui/views/frame/brave_contents_view_util.h +++ b/browser/ui/views/frame/brave_contents_view_util.h @@ -10,6 +10,8 @@ #include "brave/browser/ui/views/view_shadow.h" +class Browser; + namespace views { class View; } @@ -28,6 +30,10 @@ class BraveContentsViewUtil { // Creates a drop shadow for the specified content area view. static std::unique_ptr CreateShadow(views::View* view); + + // If rounded corners are enabled, returns the additional margin required to + // get the shadow to display properly. Otherwise 0. + static int GetRoundedCornersWebViewMargin(Browser* browser); }; #endif // BRAVE_BROWSER_UI_VIEWS_FRAME_BRAVE_CONTENTS_VIEW_UTIL_H_ diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index b82c8aef521f..8c348413de62 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -16,6 +16,7 @@ #include "brave/browser/ui/brave_browser.h" #include "brave/browser/ui/color/brave_color_id.h" #include "brave/browser/ui/tabs/brave_tab_prefs.h" +#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "brave/browser/ui/views/tabs/brave_new_tab_button.h" #include "brave/browser/ui/views/tabs/brave_tab_search_button.h" #include "brave/browser/ui/views/tabs/brave_tab_strip_layout_helper.h" @@ -1225,9 +1226,10 @@ void VerticalTabStripRegionView::UpdateBorder() { !vertical_tab_on_right_.GetPrefName().empty() && *vertical_tab_on_right_; bool sidebar_on_same_side = sidebar_side_.GetValue() == is_on_right; int inset = - 1 - (sidebar_on_same_side - ? 0 - : BraveBrowser::GetRoundedCornersWebViewMargin(browser_)); + 1 - + (sidebar_on_same_side + ? 0 + : BraveContentsViewUtil::GetRoundedCornersWebViewMargin(browser_)); gfx::Insets border_insets = (is_on_right) ? gfx::Insets::TLBR(0, inset, 0, 0) : gfx::Insets::TLBR(0, 0, 0, inset); diff --git a/browser/ui/views/side_panel/brave_side_panel.cc b/browser/ui/views/side_panel/brave_side_panel.cc index ac0c79da87dd..0e5db9541f01 100644 --- a/browser/ui/views/side_panel/brave_side_panel.cc +++ b/browser/ui/views/side_panel/brave_side_panel.cc @@ -24,10 +24,8 @@ #include "chrome/browser/ui/views/side_panel/side_panel_util.h" #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/color/color_provider.h" -#include "ui/gfx/geometry/insets.h" #include "ui/views/background.h" #include "ui/views/border.h" -#include "ui/views/view_class_properties.h" BraveSidePanel::BraveSidePanel(BrowserView* browser_view, HorizontalAlignment horizontal_alignment) @@ -74,7 +72,9 @@ bool BraveSidePanel::IsRightAligned() { void BraveSidePanel::UpdateBorder() { if (BraveBrowser::ShouldUseBraveWebViewRoundedCorners( browser_view_->browser())) { - SetBorder(views::NullBorder()); + // Use a negative top border to hide the separator inserted by the upstream + // side panel implementation. + SetBorder(views::CreateEmptyBorder(gfx::Insets::TLBR(-1, 0, 0, 0))); return; } diff --git a/browser/ui/views/sidebar/sidebar_container_view.cc b/browser/ui/views/sidebar/sidebar_container_view.cc index 47e050963485..bed8a752f1a8 100644 --- a/browser/ui/views/sidebar/sidebar_container_view.cc +++ b/browser/ui/views/sidebar/sidebar_container_view.cc @@ -528,7 +528,10 @@ void SidebarContainerView::ShowSidebar(bool show_side_panel) { // Calculate the start & end width for animation. Both are used when // calculating preferred width during the show animation. - animation_start_width_ = width(); + // Note: as margins of |side_panel_| are part of |width()| we need to remove + // them when calculating the ideal start width of the contents. + animation_start_width_ = + width() - side_panel_->GetProperty(views::kMarginsKey)->width(); animation_end_width_ = sidebar_control_view_->GetPreferredSize().width(); if (show_side_panel) { animation_end_width_ += side_panel_->GetPreferredSize().width(); diff --git a/browser/ui/views/sidebar/sidebar_control_view.cc b/browser/ui/views/sidebar/sidebar_control_view.cc index c37459cfd19d..17247b198c35 100644 --- a/browser/ui/views/sidebar/sidebar_control_view.cc +++ b/browser/ui/views/sidebar/sidebar_control_view.cc @@ -11,6 +11,7 @@ #include "brave/browser/ui/sidebar/sidebar_controller.h" #include "brave/browser/ui/sidebar/sidebar_service_factory.h" #include "brave/browser/ui/sidebar/sidebar_utils.h" +#include "brave/browser/ui/views/frame/brave_contents_view_util.h" #include "brave/browser/ui/views/sidebar/sidebar_item_add_button.h" #include "brave/browser/ui/views/sidebar/sidebar_items_scroll_view.h" #include "brave/components/l10n/common/localization_util.h" @@ -89,7 +90,7 @@ void SidebarControlView::UpdateBackgroundAndBorder() { SetBackground( views::CreateSolidBackground(color_provider->GetColor(kColorToolbar))); int border_thickness = - 1 - BraveBrowser::GetRoundedCornersWebViewMargin(browser_); + 1 - BraveContentsViewUtil::GetRoundedCornersWebViewMargin(browser_); SetBorder(views::CreateEmptyBorder( gfx::Insets::TLBR(0, sidebar_on_left_ ? 0 : border_thickness, 0, sidebar_on_left_ ? border_thickness : 0))); From 57c10686bf66a6f9b8938e5f41c4f790025d7eac Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Thu, 3 Oct 2024 15:38:12 +1300 Subject: [PATCH 7/9] Fix DCHECK --- browser/ui/views/frame/vertical_tab_strip_region_view.cc | 6 ++++-- .../browser/ui/views/side_panel/side_panel_web_ui_view.cc | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index 8c348413de62..afb1e2ec9fe1 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -1097,8 +1097,10 @@ void VerticalTabStripRegionView::OnBoundsChanged( #if DCHECK_IS_ON() if (auto width = GetContentsBounds().width(); width && !IsBrowserFullscren()) { - CHECK_GE(width, tabs::kVerticalTabMinWidth + - tabs::kMarginForVerticalTabContainers * 2); + CHECK_GE( + width, + tabs::kVerticalTabMinWidth + tabs::kMarginForVerticalTabContainers * 2 - + BraveContentsViewUtil::GetRoundedCornersWebViewMargin(browser_)); } #endif } diff --git a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc index 42a9e8a7bcae..cb35df44d575 100644 --- a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc +++ b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc @@ -3,11 +3,11 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at https://mozilla.org/MPL/2.0/. */ -#include "src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc" - #include "brave/browser/brave_browser_features.h" #include "brave/browser/ui/views/frame/brave_contents_view_util.h" +#include "src/chrome/browser/ui/views/side_panel/side_panel_web_ui_view.cc" + void SidePanelWebUIView::AddedToWidget() { if (base::FeatureList::IsEnabled(features::kBraveWebViewRoundedCorners)) { constexpr auto kRadius = BraveContentsViewUtil::kBorderRadius; From f9a0f751e31d5e2c851b14f92ac43ff09d41dd4e Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Fri, 4 Oct 2024 13:51:48 +1300 Subject: [PATCH 8/9] Fix flickering --- browser/ui/views/sidebar/sidebar_container_view.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/browser/ui/views/sidebar/sidebar_container_view.cc b/browser/ui/views/sidebar/sidebar_container_view.cc index bed8a752f1a8..f690bf18e907 100644 --- a/browser/ui/views/sidebar/sidebar_container_view.cc +++ b/browser/ui/views/sidebar/sidebar_container_view.cc @@ -528,13 +528,14 @@ void SidebarContainerView::ShowSidebar(bool show_side_panel) { // Calculate the start & end width for animation. Both are used when // calculating preferred width during the show animation. - // Note: as margins of |side_panel_| are part of |width()| we need to remove - // them when calculating the ideal start width of the contents. - animation_start_width_ = - width() - side_panel_->GetProperty(views::kMarginsKey)->width(); + animation_start_width_ = width(); animation_end_width_ = sidebar_control_view_->GetPreferredSize().width(); if (show_side_panel) { - animation_end_width_ += side_panel_->GetPreferredSize().width(); + // Note: as margins of |side_panel_| are part of |width()| we need to add + // them when calculating the ideal width of the contents. + animation_end_width_ += + side_panel_->GetPreferredSize().width() + + side_panel_->GetProperty(views::kMarginsKey)->width(); } // Don't need event detect widget when sidebar gets visible. From 651504a7ecc77c89de96034abe3e13e25283cfd7 Mon Sep 17 00:00:00 2001 From: Jay Harris Date: Fri, 4 Oct 2024 14:03:01 +1300 Subject: [PATCH 9/9] Fix PrefMember crash --- browser/ui/views/frame/vertical_tab_strip_region_view.cc | 4 +++- browser/ui/views/frame/vertical_tab_strip_region_view.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index afb1e2ec9fe1..9f9838d79e1c 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -658,7 +658,6 @@ VerticalTabStripRegionView::VerticalTabStripRegionView( base::BindRepeating( &VerticalTabStripRegionView::OnFloatingModePrefChanged, base::Unretained(this))); - OnFloatingModePrefChanged(); #if BUILDFLAG(IS_MAC) show_toolbar_on_fullscreen_pref_.Init( @@ -686,6 +685,9 @@ VerticalTabStripRegionView::VerticalTabStripRegionView( BrowserList::GetInstance()->end()) << "Browser shouldn't be added at this point."; BrowserList::AddObserver(this); + + // Note: This should happen after all the PrefMembers have been initialized. + OnFloatingModePrefChanged(); } VerticalTabStripRegionView::~VerticalTabStripRegionView() { diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.h b/browser/ui/views/frame/vertical_tab_strip_region_view.h index 9b556700a01f..41e0d3942eea 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.h +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.h @@ -202,7 +202,6 @@ class VerticalTabStripRegionView : public views::View, BooleanPrefMember collapsed_pref_; BooleanPrefMember expanded_state_per_window_pref_; BooleanPrefMember floating_mode_pref_; - BooleanPrefMember sidebar_side_; IntegerPrefMember expanded_width_pref_; int expanded_width_ = 220; @@ -229,6 +228,7 @@ class VerticalTabStripRegionView : public views::View, fullscreen_observation_{this}; BooleanPrefMember vertical_tab_on_right_; + BooleanPrefMember sidebar_side_; base::WeakPtrFactory weak_factory_{this}; };