Merge pull request #789 from yuya-oc/persist-cookies

Make sure that cookies are saved to disk when closing the app
This commit is contained in:
Yuya Ochiai
2018-05-08 20:30:56 +09:00
committed by GitHub
2 changed files with 25 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ import allowProtocolDialog from './main/allowProtocolDialog';
import PermissionManager from './main/PermissionManager';
import permissionRequestHandler from './main/permissionRequestHandler';
import AppStateManager from './main/AppStateManager';
import initCookieManager from './main/cookieManager';
import SpellChecker from './main/SpellChecker';
@@ -423,6 +424,8 @@ app.on('ready', () => {
}
}
initCookieManager(session.defaultSession);
mainWindow = createMainWindow(config, {
hideOnStartup,
linuxAppIcon: path.join(assetsDir, 'appicon.png'),

22
src/main/cookieManager.js Normal file
View File

@@ -0,0 +1,22 @@
import {app} from 'electron';
function flushCookiesStore(session) {
session.cookies.flushStore((err) => {
if (err) {
console.log(err);
}
});
}
export default function initCookieManager(session) {
// Somehow cookies are not immediately saved to disk.
// So manually flush cookie store to disk on closing the app.
// https://github.com/electron/electron/issues/8416
app.on('before-quit', () => {
flushCookiesStore(session);
});
app.on('browser-window-blur', () => {
flushCookiesStore(session);
});
}