1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-22 11:13:46 +00:00

Added lock timer and adjusted context menus and badge appropriately

This commit is contained in:
Kyle Spearrin
2016-10-25 00:23:21 -04:00
parent 80ed37ada6
commit c982667338
8 changed files with 122 additions and 62 deletions

View File

@@ -1,6 +1,7 @@
function ConstantsService() {
return {
disableGaKey: 'disableGa',
lockOptionKey: 'lockOption'
lockOptionKey: 'lockOption',
lastActiveKey: 'lastActive'
};
};

View File

@@ -8,6 +8,10 @@ function FolderService(cryptoService, userService, apiService) {
};
function initFolderService() {
FolderService.prototype.clearCache = function () {
this.decryptedFolderCache = null
};
FolderService.prototype.encrypt = function (folder) {
var model = {
id: folder.id
@@ -62,30 +66,37 @@ function initFolderService() {
FolderService.prototype.getAllDecrypted = function () {
var deferred = Q.defer();
var self = this;
if (self.decryptedFolderCache) {
deferred.resolve(self.decryptedFolderCache);
return deferred.promise;
}
var promises = [];
var decFolders = [{
id: null,
name: '(none)'
}];
self.getAll(function (folders) {
for (var i = 0; i < folders.length; i++) {
promises.push(folders[i].decrypt().then(function (folder) {
decFolders.push(folder);
}));
cryptoService.getKey(false, function (key) {
if (!key) {
deferred.reject();
return deferred.promise;
}
Q.all(promises).then(function () {
if (decFolders.length > 0) {
self.decryptedFolderCache = decFolders;
if (self.decryptedFolderCache) {
deferred.resolve(self.decryptedFolderCache);
return deferred.promise;
}
var promises = [];
var decFolders = [{
id: null,
name: '(none)'
}];
self.getAll(function (folders) {
for (var i = 0; i < folders.length; i++) {
promises.push(folders[i].decrypt().then(function (folder) {
decFolders.push(folder);
}));
}
deferred.resolve(decFolders);
Q.all(promises).then(function () {
if (decFolders.length > 0) {
self.decryptedFolderCache = decFolders;
}
deferred.resolve(decFolders);
});
});
});

View File

@@ -22,6 +22,7 @@ function i18nService() {
copyUsername: chrome.i18n.getMessage('copyUsername'),
autoFill: chrome.i18n.getMessage('autoFill'),
generatePasswordCopied: chrome.i18n.getMessage('generatePasswordCopied'),
noMatchingSites: chrome.i18n.getMessage('noMatchingSites'),
autoFillInfo: chrome.i18n.getMessage('autoFillInfo'),
addSite: chrome.i18n.getMessage('addSite'),
passwordHint: chrome.i18n.getMessage('passwordHint'),

View File

@@ -8,6 +8,10 @@ function SiteService(cryptoService, userService, apiService) {
};
function initSiteService() {
SiteService.prototype.clearCache = function () {
this.decryptedSiteCache = null
};
SiteService.prototype.encrypt = function (site) {
var model = {
id: site.id,
@@ -79,25 +83,32 @@ function initSiteService() {
SiteService.prototype.getAllDecrypted = function () {
var deferred = Q.defer();
var self = this;
if (self.decryptedSiteCache) {
deferred.resolve(self.decryptedSiteCache);
return deferred.promise;
}
var promises = [];
var decSites = [];
self.getAll(function (sites) {
for (var i = 0; i < sites.length; i++) {
promises.push(sites[i].decrypt().then(function (site) {
decSites.push(site);
}));
cryptoService.getKey(false, function (key) {
if (!key) {
deferred.reject();
return deferred.promise;
}
Q.all(promises).then(function () {
self.decryptedSiteCache = decSites;
if (self.decryptedSiteCache) {
deferred.resolve(self.decryptedSiteCache);
return deferred.promise;
}
var promises = [];
var decSites = [];
self.getAll(function (sites) {
for (var i = 0; i < sites.length; i++) {
promises.push(sites[i].decrypt().then(function (site) {
decSites.push(site);
}));
}
Q.all(promises).then(function () {
self.decryptedSiteCache = decSites;
deferred.resolve(self.decryptedSiteCache);
});
});
});