Bug 1315524 - Clear sessionStorage when expiring or sanitizing cookies on clean shutdown. r=mikedeboer
--- a/browser/components/sessionstore/SessionSaver.jsm
+++ b/browser/components/sessionstore/SessionSaver.jsm
@@ -209,27 +209,30 @@ var SessionSaverInternal = {
break;
}
delete state._closedWindows[i]._shouldRestore;
state.windows.unshift(state._closedWindows.pop());
}
}
- // Clear all cookies on clean shutdown according to user preferences
+ // Clear all cookies and storage on clean shutdown according to user preferences
if (RunState.isClosing) {
let expireCookies = Services.prefs.getIntPref("network.cookie.lifetimePolicy") ==
Services.cookies.QueryInterface(Ci.nsICookieService).ACCEPT_SESSION;
let sanitizeCookies = Services.prefs.getBoolPref("privacy.sanitize.sanitizeOnShutdown") &&
Services.prefs.getBoolPref("privacy.clearOnShutdown.cookies");
let restart = Services.prefs.getBoolPref("browser.sessionstore.resume_session_once");
- // Don't clear cookies when restarting
+ // Don't clear when restarting
if ((expireCookies || sanitizeCookies) && !restart) {
for (let window of state.windows) {
delete window.cookies;
+ for (let tab of window.tabs) {
+ delete tab.storage;
+ }
}
}
}
stopWatchFinish("COLLECT_DATA_MS", "COLLECT_DATA_LONGEST_OP_MS");
return this._writeState(state);
},