Skip to content

Commit

Permalink
Bugfix FXIOS-10429 - Private tabs are not restored after force crash (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
PARAIPAN9 authored Nov 6, 2024
1 parent 2111b53 commit d53086a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ enum TabTrayActionType: ActionType {
case didLoadTabTray
case dismissTabTray
case firefoxAccountChanged
case closePrivateTabsSettingToggled
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TabManagerMiddleware {
} else if let action = action as? TabTrayAction {
self.resolveTabTrayActions(action: action, state: state)
} else if let action = action as? TabPanelViewAction {
self.resovleTabPanelViewActions(action: action, state: state)
self.resolveTabPanelViewActions(action: action, state: state)
} else if let action = action as? MainMenuAction {
self.resolveMainMenuActions(with: action, appState: state)
} else if let action = action as? HeaderAction {
Expand Down Expand Up @@ -90,12 +90,14 @@ class TabManagerMiddleware {
guard let panelType = action.panelType else { return }
changePanel(panelType, uuid: action.windowUUID)

case TabTrayActionType.closePrivateTabsSettingToggled:
preserveTabs(uuid: action.windowUUID)
default:
break
}
}

private func resovleTabPanelViewActions(action: TabPanelViewAction, state: AppState) {
private func resolveTabPanelViewActions(action: TabPanelViewAction, state: AppState) {
switch action.actionType {
case TabPanelViewActionType.tabPanelDidLoad:
let isPrivate = action.panelType == .privateTabs
Expand Down Expand Up @@ -968,4 +970,9 @@ class TabManagerMiddleware {
)
}
}

private func preserveTabs(uuid: WindowUUID) {
let tabManager = tabManager(for: uuid)
tabManager.preserveTabs()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,11 @@ class AppSettingsTableViewController: SettingsTableViewController,
prefKey: PrefsKeys.Settings.closePrivateTabs,
defaultValue: true,
titleText: .AppSettingsClosePrivateTabsTitle,
statusText: .AppSettingsClosePrivateTabsDescription)
statusText: .AppSettingsClosePrivateTabsDescription) { _ in
let action = TabTrayAction(windowUUID: self.windowUUID,
actionType: TabTrayActionType.closePrivateTabsSettingToggled)
store.dispatch(action)
}
]

privacySettings.append(ContentBlockerSetting(settings: self, settingsDelegate: parentCoordinator))
Expand Down

0 comments on commit d53086a

Please sign in to comment.