tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 20a23bdc4250219a2ab290038b17338d365729fa
parent 23a1f7521c6f631ddc95712338ff6309432eafca
Author: David P. <daparks@mozilla.com>
Date:   Thu, 23 Oct 2025 16:53:21 +0000

Bug 1995368: Fix saved group tab storage removal in backups r=fchasen

From the review for bug 1994513, `savedGroups` tab entries contain a state
object, the way `_closedTabs` does (but `tabs` does not).

Differential Revision: https://phabricator.services.mozilla.com/D269276

Diffstat:
Mbrowser/components/backup/resources/SessionStoreBackupResource.sys.mjs | 2+-
Mbrowser/components/backup/tests/xpcshell/test_SessionStoreBackupResource_mockSessionStore.js | 18+++++++++++-------
2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/browser/components/backup/resources/SessionStoreBackupResource.sys.mjs b/browser/components/backup/resources/SessionStoreBackupResource.sys.mjs @@ -65,7 +65,7 @@ export class SessionStoreBackupResource extends BackupResource { if (sessionStoreState.savedGroups) { sessionStoreState.savedGroups.forEach(group => { if (group.tabs) { - group.tabs.forEach(tab => delete tab.storage); + group.tabs.forEach(tab => delete tab.state.storage); } }); } diff --git a/browser/components/backup/tests/xpcshell/test_SessionStoreBackupResource_mockSessionStore.js b/browser/components/backup/tests/xpcshell/test_SessionStoreBackupResource_mockSessionStore.js @@ -87,15 +87,19 @@ const mockSessionStore = { { tabs: [ { - savedGroupData: -3.7, - storage: { - message: "I don't get serialized!", + state: { + savedGroupData: -3.7, + storage: { + message: "I don't get serialized!", + }, }, }, { - someData: "hi I am window #2's data", - moreData: -3.71, - // tab has no storage + state: { + someData: "hi I am window #2's data", + moreData: -3.71, + // tab has no storage + }, }, ], notTabData: "notTabData", @@ -112,7 +116,7 @@ filteredMockSessionData.windows.forEach(win => { win._closedTabs.forEach(closedTab => delete closedTab.state.storage); }); filteredMockSessionData.savedGroups.forEach(group => { - group.tabs.forEach(tab => delete tab.storage); + group.tabs.forEach(tab => delete tab.state.storage); }); /**