mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 08:13:42 +00:00
reseed storage on logout
This commit is contained in:
@@ -280,6 +280,7 @@ export default class MainBackground {
|
||||
|
||||
await this.setIcon();
|
||||
await this.refreshBadgeAndMenu();
|
||||
await this.reseedStorage();
|
||||
this.notificationsService.updateConnection(false);
|
||||
}
|
||||
|
||||
@@ -339,6 +340,36 @@ export default class MainBackground {
|
||||
}
|
||||
}
|
||||
|
||||
async reseedStorage() {
|
||||
if (!this.platformUtilsService.isChrome() && !this.platformUtilsService.isVivaldi() &&
|
||||
!this.platformUtilsService.isOpera()) {
|
||||
return;
|
||||
}
|
||||
|
||||
const currentLockOption = await this.storageService.get<number>(ConstantsService.lockOptionKey);
|
||||
if (currentLockOption == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
const getStorage = (): Promise<any> => new Promise((resolve) => {
|
||||
chrome.storage.local.get(null, (o: any) => resolve(o));
|
||||
});
|
||||
|
||||
const clearStorage = (): Promise<void> => new Promise((resolve) => {
|
||||
chrome.storage.local.clear(() => resolve());
|
||||
});
|
||||
|
||||
const storage = await getStorage();
|
||||
await clearStorage();
|
||||
|
||||
for (const key in storage) {
|
||||
if (!storage.hasOwnProperty(key)) {
|
||||
continue;
|
||||
}
|
||||
await this.storageService.save(key, storage[key]);
|
||||
}
|
||||
}
|
||||
|
||||
private async buildContextMenu() {
|
||||
if (this.isSafari || !chrome.contextMenus || this.buildingContextMenu) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user