diff --git a/src/background.js b/src/background.js index 22abba7c8f..4ecb24d570 100644 --- a/src/background.js +++ b/src/background.js @@ -756,7 +756,7 @@ function checkLock() { if (diffSeconds >= lockOptionSeconds) { // need to lock now - Q.all([cryptoService.clearKey(), cryptoService.clearOrgKeys()]).then(function () { + Q.all([cryptoService.clearKey(), cryptoService.clearOrgKeys(true)]).then(function () { cryptoService.clearPrivateKey(); setIcon(); folderService.clearCache(); diff --git a/src/services/cryptoService.js b/src/services/cryptoService.js index 7e496c0650..3eb840b965 100644 --- a/src/services/cryptoService.js +++ b/src/services/cryptoService.js @@ -236,13 +236,18 @@ function initCryptoService(constantsService) { _privateKey = null; }; - CryptoService.prototype.clearOrgKeys = function () { + CryptoService.prototype.clearOrgKeys = function (memoryOnly) { var deferred = Q.defer(); - _orgKeys = {}; - chrome.storage.local.remove('encOrgKeys', function () { + _orgKeys = null; + if (memoryOnly) { deferred.resolve(); - }); + } + else { + chrome.storage.local.remove('encOrgKeys', function () { + deferred.resolve(); + }); + } return deferred.promise; };