From a2bce477a7181a8e8f37cc9aa0f9a042bb25d458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20V=C3=A4nttinen?= Date: Sun, 14 Jun 2020 15:11:29 +0300 Subject: [PATCH 1/2] Update version number to 1.6.4. --- keepassxc-browser/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keepassxc-browser/manifest.json b/keepassxc-browser/manifest.json index d07ea0d..aa59d46 100755 --- a/keepassxc-browser/manifest.json +++ b/keepassxc-browser/manifest.json @@ -1,8 +1,8 @@ { "manifest_version": 2, "name": "KeePassXC-Browser", - "version": "1.6.3", - "version_name": "1.6.3", + "version": "1.6.4", + "version_name": "1.6.4", "description": "__MSG_extensionDescription__", "author": "KeePassXC Team", "icons": { From 3e6a9101e710aff7225e43502e05dbf2d9500e7c Mon Sep 17 00:00:00 2001 From: varjolintu Date: Mon, 15 Jun 2020 17:00:06 +0300 Subject: [PATCH 2/2] Fix icon state update and rename CSS variables used --- .../content/keepassxc-browser.js | 30 +++++++++---------- keepassxc-browser/content/username-field.js | 6 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index f10fb27..cce25ac 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -841,6 +841,7 @@ const initcb = async function() { kpxc.initObserver(); } + await kpxc.updateDatabaseState(); await kpxc.initCredentialFields(); // Retrieve submitted credentials if available. @@ -1038,14 +1039,6 @@ kpxc.initCredentialFields = async function(forceCall, inputs) { return; } - // Check database closed status - const res = await browser.runtime.sendMessage({ - action: 'get_status', - args: [ true ] - }); - - _databaseState = !res.keePassXCAvailable ? DatabaseState.DISCONNECTED : DatabaseState.LOCKED; - if (!kpxcFields.useDefinedCredentialFields()) { // Get all combinations of username + password fields kpxcFields.combinations = kpxcFields.getAllCombinations(inputs); @@ -1940,6 +1933,19 @@ kpxc.passwordFilled = async function() { return await browser.runtime.sendMessage({ action: 'password_get_filled' }); }; +kpxc.updateDatabaseState = async function() { + const res = await browser.runtime.sendMessage({ + action: 'get_status', + args: [ true ] + }); + + if (!res.keePassXCAvailable) { + _databaseState = DatabaseState.DISCONNECTED; + return; + } + + _databaseState = res.databaseClosed ? DatabaseState.LOCKED : DatabaseState.UNLOCKED; +}; const kpxcEvents = {}; @@ -1964,13 +1970,7 @@ kpxcEvents.triggerActivatedTab = async function() { // Doesn't run a second time because of _called.initCredentialFields set to true kpxc.init(); - // Update username field lock state - const res = await browser.runtime.sendMessage({ - action: 'get_status', - args: [ true ] - }); - - _databaseState = !res.keePassXCAvailable ? DatabaseState.DISCONNECTED : DatabaseState.LOCKED; + await kpxc.updateDatabaseState(); kpxc.switchIcons(); // initCredentialFields calls also "retrieve_credentials", to prevent it diff --git a/keepassxc-browser/content/username-field.js b/keepassxc-browser/content/username-field.js index 50da737..738276d 100644 --- a/keepassxc-browser/content/username-field.js +++ b/keepassxc-browser/content/username-field.js @@ -7,8 +7,8 @@ kpxcUsernameIcons.newIcon = function(field, databaseState = DatabaseState.DISCON kpxcUsernameIcons.icons.push(new UsernameFieldIcon(field, databaseState)); }; -kpxcUsernameIcons.switchIcon = function(locked) { - kpxcUsernameIcons.icons.forEach(u => u.switchIcon(locked)); +kpxcUsernameIcons.switchIcon = function(state) { + kpxcUsernameIcons.icons.forEach(u => u.switchIcon(state)); }; @@ -28,7 +28,7 @@ class UsernameFieldIcon extends Icon { return; } - this.icon.classList.remove('lock', 'moz-lock', 'unlock', 'moz-unlock', 'disconnected', 'moz-disconnected'); + this.icon.classList.remove('lock', 'lock-moz', 'unlock', 'unlock-moz', 'disconnected', 'disconnected-moz'); this.icon.classList.add(getIconClassName(state)); this.icon.title = getIconText(state); }