-
Notifications
You must be signed in to change notification settings - Fork 442
Fix #7574: Add support for multi-window & persistent private browsing #7575
Conversation
f8269dd
to
740f911
Compare
740f911
to
b7fdd0a
Compare
55c3cff
to
c0c2ad2
Compare
Sources/Brave/Frontend/Browser/Tabs/TabBar/TabsBarViewController.swift
Outdated
Show resolved
Hide resolved
c0c2ad2
to
503b8bf
Compare
.../Brave/Frontend/Browser/BrowserViewController/BrowserViewController+TabManagerDelegate.swift
Outdated
Show resolved
Hide resolved
1c12673
to
71ae5ea
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.
Runtime Review:
Prefix: These were all tests based on having 2 windows of Brave side-by-side on a 12.9" iPad in landscape orientation
Bugs That Need Fixing:
-
Brave News: Turning on Brave News on one windows NTP breaks Brave News on the other window
- Expected: News should load on the other window as well and display the same data set
-
Brave News: Altering followed sources only brings up "New Content Available" button on window that triggered it. Closing a tab on another window doesn't reload Brave News with the new set of data and will not show the updated data until the app is killed and re-launched.
- Expected: Both NTPs should reference the same set of News data or at least ensure that new NTP's use the updated data
-
Browser Lock: "Unlock" button only appears on 1 window until its tapped on the other?
- Expected: Should show it on both probably
-
Playlist: Plays the same content on multiple windows
- Expected: If content can only be played on one window at a time then we need to block the other or something with some UI
-
Playlist: Shows "Resource Loading" errors when playing from multiple windows
Polish:
-
Shields: Turning shields off for a website loaded in multiple windows does not reflect that
- Expected: Sync state across windows, reload matching webpages on all connected scenes?
-
Brave News: Toggling follow status of a source while viewing the source window on both windows don't update until you leave and revisit the screen
- Expected: If possible these should be synced so that changes to the
-
Browser Lock: Unlocking from browser lock only unlocks one window. Intended behaviour?
- Expected: Unlock all scenes that are connected/visible on the screen/foregrounded
-
Playlist: Removing an item from Playlist doesn't update the URL bar if you're viewing the videos source webpage at the same time
- Expected: Should stay in sync so that items added/removed from one window sync to the other
-
Tab Tray: For some reason if you open the tab tray on one window and click on the other window, the cells aspect ratio changes.
- Expected: I assume the longer one is the correct one but not sure
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.
This PR may as well been named "Remove PrivateBrowsingManager singleton, oh and by the way also add multi-window support" 😂
Sources/Brave/Frontend/Browser/New Tab Page/Sections/BraveNewsSectionProvider.swift
Outdated
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/New Tab Page/Sections/BraveNewsSectionProvider.swift
Outdated
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/New Tab Page/Sections/StatsSectionProvider.swift
Outdated
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/New Tab Page/Sections/StatsSectionProvider.swift
Outdated
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistDetailViewController.swift
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistListViewController.swift
Outdated
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/Playlist/Managers & Cache/PlaylistCarplayManager.swift
Show resolved
Hide resolved
Sources/Brave/Frontend/Browser/PrivacyHub/PrivacyReportsManager.swift
Outdated
Show resolved
Hide resolved
Not sure: Also, I left playlist working on multiple windows because I realized this is what Safari and WebKit do when you're playing Youtube on multiple web-views. So I followed the same behaviour. Though, I could always block it I guess. |
de20f9b
to
ea30164
Compare
I have the design for private tabs lock available here: |
Thanks @aguscruiz. |
c4fa06e
to
922a481
Compare
Sources/Brave/Frontend/Browser/New Tab Page/Sections/StatsSectionProvider.swift
Show resolved
Hide resolved
0af679b
to
e528998
Compare
78573f1
to
8c3d685
Compare
Fix BraveRewards crash when allocating multiple rewards. Add persistent private browsing. Wallet fix for when onboarding is visible in multiple windows. Fix windowIds being the same on tapping the app icon. Set window selected Fix window activation predicate so that tapping the Application Icon does not create new windows. Added documentation to the SceneDelegate when restoring.
Fix private tab deleting when exiting persistence mode.
Move AppState to the same location as delegates Open context menus like Safari to allow opening URLs in new windows Moved alert for existing users and updated text. Updated icons with leo-sfsymbol
Rebase & Fixed bug in alert
Default persistent private browsing to off.
02d072a
to
c03bb7e
Compare
Security Review
Summary of Changes
TODO:
This pull request fixes #7574
Submitter Checklist:
NSLocalizableString()
Test Plan:
Screenshots:
Split (Regular + Regular):
Split (Regular + Private):
Private Window Protection:
Private Window NTP:
Reviewer Checklist:
QA/(Yes|No)
bug
/enhancement