-
Notifications
You must be signed in to change notification settings - Fork 895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encapsulate the split view in a new class #24478
base: master
Are you sure you want to change the base?
Conversation
0d74c08
to
480d308
Compare
480d308
to
1bc390c
Compare
6804671
to
fed9dad
Compare
e1291af
to
9e0616c
Compare
Regressions from this PR.
Whenever active tab changes in a same tile, we set different styled borfer to active/inactive tabs. |
9e0616c
to
5c52436
Compare
32ccddd
to
f01442c
Compare
f943ebf
to
e10df73
Compare
e10df73
to
1cc501a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm @simonhong
browser/ui/views/split_view/split_view_layout_manager_unittest.cc
Outdated
Show resolved
Hide resolved
Previously, * BrowserView was responsible for managing the split view. * ContentsContainer has two web view, and two dev tools, which would weird view hierarchy. This PR introduces `SplitView` class and it encapsulate operations related to split view. And split view contains two `ContentsContainer`, so that we don't reuse upstream's contents container as is. Also this change doesn't intend to change the behavior. The existing test like `SplitViewBrowserTest` and `SplitViewLayoutManagerTest` would check the regression.
Use same border thickness for active/inactive tab in the split view. Otherwise, it could cause web contents resizing whenever active tab changes between the tab in the split view.
1cc501a
to
6ad8171
Compare
[puLL-Merge] - brave/brave-core@24478 DescriptionThis PR significantly refactors the split view functionality in the Brave browser. It introduces a new ChangesChanges
sequenceDiagram
participant BraveBrowserView
participant SplitView
participant SplitViewLayoutManager
participant ContentsWebView
participant SecondaryContentsWebView
BraveBrowserView->>SplitView: Create
SplitView->>SplitViewLayoutManager: Create
SplitView->>ContentsWebView: Manage
SplitView->>SecondaryContentsWebView: Manage
BraveBrowserView->>SplitView: WillChangeActiveWebContents
SplitView->>SplitViewLayoutManager: UpdateLayout
BraveBrowserView->>SplitView: DidChangeActiveWebContents
SplitView->>ContentsWebView: UpdateVisibility
SplitView->>SecondaryContentsWebView: UpdateVisibility
Possible Issues
Security HotspotsNo significant security hotspots identified in this refactoring. |
@bridiver PTAL when you're available. |
@bridiver Kindly ping. |
Previously,
This PR introduces
SplitView
class and it encapsulate operations related to split view. And split view contains twoContentsContainer
, so that we don't reuse upstream's contents container as is.Also this change doesn't intend to change the behavior. The existing test like
SplitViewBrowserTest
andSplitViewLayoutManagerTest
would check the regression.Resolves brave/brave-browser#39542
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
wikinpm run presubmit
wiki,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan:
No behavior changes.