From b6ef3456f8e3cd042efed76c24339d4817061ba8 Mon Sep 17 00:00:00 2001 From: varjolintu Date: Tue, 17 Mar 2020 16:57:43 +0200 Subject: [PATCH] Hide username icon properly when needed --- keepassxc-browser/content/banner.js | 4 ++-- keepassxc-browser/content/keepassxc-browser.js | 2 +- keepassxc-browser/content/ui.js | 1 - keepassxc-browser/content/username-field.js | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/keepassxc-browser/content/banner.js b/keepassxc-browser/content/banner.js index d4aeba5..daf33a4 100644 --- a/keepassxc-browser/content/banner.js +++ b/keepassxc-browser/content/banner.js @@ -146,8 +146,8 @@ kpxcBanner.saveNewCredentials = async function(credentials = {}) { // Only the Root group and no KeePassXC-Browser passwords -> save to default // Or when default group is not set and defaultGroupAskAlways is disabled -> save to default - if ((result.groups === undefined || (result.groups.length > 0 && result.groups[0].children.length === 0)) || - (!result.defaultGroupAlwaysAsk && (result.defaultGroup === '' || result.defaultGroup === DEFAULT_BROWSER_GROUP))) { + if ((result.groups === undefined || (result.groups.length > 0 && result.groups[0].children.length === 0)) + || (!result.defaultGroupAlwaysAsk && (result.defaultGroup === '' || result.defaultGroup === DEFAULT_BROWSER_GROUP))) { const args = [ credentials.username, credentials.password, credentials.url ]; // If root group is defined by the user, and there's no default browser group, save the credentials to the root group diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index a4badde..28b8672 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -1028,7 +1028,7 @@ kpxc.initPasswordGenerator = function(inputs) { } }; -kpxc.initOTPFields = function(inputs, databaseClosed) { +kpxc.initOTPFields = function(inputs) { for (const i of inputs) { const id = i.getLowerCaseAttribute('id'); const name = i.getLowerCaseAttribute('name'); diff --git a/keepassxc-browser/content/ui.js b/keepassxc-browser/content/ui.js index 4a09f7a..a870972 100644 --- a/keepassxc-browser/content/ui.js +++ b/keepassxc-browser/content/ui.js @@ -104,7 +104,6 @@ kpxcUI.setIconPosition = function(icon, field) { kpxcUI.updateFromIntersectionObserver = function(iconClass, entries) { for (const entry of entries) { const rect = DOMRectToArray(entry.boundingClientRect); - const temp = entry.target.closest('.kpxc-username-icon'); if ((entry.intersectionRatio === 0 && !entry.isIntersecting) || (rect.some(x => x < -10))) { iconClass.icon.style.display = 'none'; diff --git a/keepassxc-browser/content/username-field.js b/keepassxc-browser/content/username-field.js index bb1510f..bf31c56 100644 --- a/keepassxc-browser/content/username-field.js +++ b/keepassxc-browser/content/username-field.js @@ -41,7 +41,7 @@ class UsernameFieldIcon extends Icon { } UsernameFieldIcon.prototype.initField = function(field) { - if (!field || field.getAttribute('kpxc-username-field') === 'true') { + if (!field || field.getAttribute('kpxc-username-field') === 'true' || !kpxcFields.isVisible(field)) { return; }