Fixed blank tab is shown after attaching split view #26994
+4
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix brave/brave-browser#41852
This PR depends on #24478
When split view transfers to another browser,
its web contents should be cleared before attached to target browser.
It's done by SplitView::UpdateContentsWebViewVisual().
So far, we posted it to next turn when we break tile.
If we break a tile by unsplit, it doesn't cause any issue because
any other secondary web view doesn't host that secondary web contents.
However, if it's attached to another browser window, it's another story.
When we detach a split view from browser A and attach to browser B,
browser A breaks a tile after detached.
And then, they are attached to browser B and we make them as a split view.
If we don't clear secondary web contents after break the tile synchronously,
browser A and browser B's secondary web view has same web contents till posed `UpdateContentsWebViewVisual().
This could cause unexpected behavior like above issue.
So, secondary web view should be cleared synchronously after breaking a tile.
Screen.Recording.2024-12-12.143054.mp4
Resolves
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:
SplitViewBrowserTest.BreakingTileMakesSecondaryWebViewHidden
See the linked issue for manul test