Merge pull request #15839 from brave/sidebar_right_aligned_border

Fixed sidebar's horizontal alignment is not properly set at startup
This commit is contained in:
Simon Hong
2022-11-08 20:09:34 +09:00
committed by GitHub
3 changed files with 39 additions and 8 deletions
+36 -3
View File
@@ -10,6 +10,7 @@
#include "brave/browser/ui/sidebar/sidebar_service_factory.h"
#include "brave/browser/ui/sidebar/sidebar_utils.h"
#include "brave/browser/ui/views/frame/brave_browser_view.h"
#include "brave/browser/ui/views/side_panel/brave_side_panel.h"
#include "brave/browser/ui/views/sidebar/sidebar_container_view.h"
#include "brave/browser/ui/views/sidebar/sidebar_control_view.h"
#include "brave/browser/ui/views/sidebar/sidebar_items_contents_view.h"
@@ -88,10 +89,22 @@ class SidebarBrowserTest : public InProcessBrowserTest {
sidebar_items_contents_view->OnItemPressed(item, event);
}
SidebarControlView* GetSidebarControlView() const {
return GetSidebarContainerView()->sidebar_control_view_;
}
SidebarContainerView* GetSidebarContainerView() const {
return static_cast<SidebarContainerView*>(controller()->sidebar());
}
BraveSidePanel* GetSidePanel() const {
return GetSidebarContainerView()->side_panel_;
}
bool IsSidebarUIOnLeft() const {
auto* sidebar_container_view =
static_cast<SidebarContainerView*>(controller()->sidebar());
return sidebar_container_view->sidebar_on_left_;
return GetSidebarContainerView()->sidebar_on_left_ &&
!GetSidePanel()->IsRightAligned() &&
GetSidebarControlView()->sidebar_on_left_;
}
};
@@ -227,6 +240,26 @@ IN_PROC_BROWSER_TEST_F(SidebarBrowserTest, IterateBuiltInWebTypeTest) {
EXPECT_EQ(0, tab_model()->active_index());
}
// Test sidebar's initial horizontal option is set properly.
IN_PROC_BROWSER_TEST_F(SidebarBrowserTest, PRE_InitialHorizontalOptionTest) {
auto* prefs = browser()->profile()->GetPrefs();
// Check default horizontal option is left-sided.
EXPECT_FALSE(prefs->GetBoolean(prefs::kSidePanelHorizontalAlignment));
EXPECT_TRUE(IsSidebarUIOnLeft());
// Set right-sided for next testing.
prefs->SetBoolean(prefs::kSidePanelHorizontalAlignment, true);
}
IN_PROC_BROWSER_TEST_F(SidebarBrowserTest, InitialHorizontalOptionTest) {
auto* prefs = browser()->profile()->GetPrefs();
// Check horizontal option is right-sided.
EXPECT_TRUE(prefs->GetBoolean(prefs::kSidePanelHorizontalAlignment));
EXPECT_FALSE(IsSidebarUIOnLeft());
}
IN_PROC_BROWSER_TEST_F(SidebarBrowserTest, EventDetectWidgetTest) {
auto* widget = GetEventDetectWidget();
auto* service = SidebarServiceFactory::GetForProfile(browser()->profile());
+1 -1
View File
@@ -211,7 +211,6 @@ BraveBrowserView::BraveBrowserView(std::unique_ptr<Browser> browser)
prefs::kSidePanelHorizontalAlignment,
base::BindRepeating(&BraveBrowserView::OnPreferenceChanged,
base::Unretained(this)));
UpdateSideBarHorizontalAlignment();
}
}
@@ -266,6 +265,7 @@ sidebar::Sidebar* BraveBrowserView::InitSidebar() {
// Start Sidebar UI initialization.
DCHECK(sidebar_container_view_);
sidebar_container_view_->Init();
UpdateSideBarHorizontalAlignment();
return sidebar_container_view_;
}
@@ -125,18 +125,16 @@ void SidebarContainerView::Init() {
// Hide by default. Visibility will be controlled by show options later.
DoHideSidebar(false);
UpdateToolbarButtonVisibility();
SetSidebarOnLeft(sidebar_on_left_);
}
void SidebarContainerView::SetSidebarOnLeft(bool sidebar_on_left) {
DCHECK(initialized_);
if (sidebar_on_left_ == sidebar_on_left)
return;
sidebar_on_left_ = sidebar_on_left;
if (!initialized_)
return;
DCHECK(sidebar_control_view_);
sidebar_control_view_->SetSidebarOnLeft(sidebar_on_left_);
GetEventDetectWidget()->SetSidebarOnLeft(sidebar_on_left_);