From b793e1b5d522fd67b96e425d4bf05279c49150db Mon Sep 17 00:00:00 2001 From: varjolintu Date: Sun, 3 May 2020 08:45:27 +0300 Subject: [PATCH] Allow fill to readOnly fields --- keepassxc-browser/content/autocomplete.js | 5 ++++- keepassxc-browser/content/keepassxc-browser.js | 2 +- keepassxc-browser/content/pwgen.js | 2 +- keepassxc-browser/content/totp-field.js | 3 ++- keepassxc-browser/content/username-field.js | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/keepassxc-browser/content/autocomplete.js b/keepassxc-browser/content/autocomplete.js index 87db5b5..7b6aa0c 100644 --- a/keepassxc-browser/content/autocomplete.js +++ b/keepassxc-browser/content/autocomplete.js @@ -10,6 +10,10 @@ kpxcAutocomplete.shadowRoot = undefined; kpxcAutocomplete.wrapper = undefined; kpxcAutocomplete.create = function(input, showListInstantly = false, autoSubmit = false) { + if (input.readOnly) { + return; + } + kpxcAutocomplete.autoSubmit = autoSubmit; kpxcAutocomplete.input = input; kpxcAutocomplete.started = true; @@ -238,7 +242,6 @@ kpxcAutocomplete.updatePosition = function(inputField, elem) { div.style.top = Pixels(rect.top + document.scrollingElement.scrollTop + inputField.offsetHeight); div.style.left = Pixels(rect.left + document.scrollingElement.scrollLeft); } - }; // Detect click outside autocomplete diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index ea665a5..f10fb27 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -705,7 +705,7 @@ kpxcObserverHelper.getInputs = function(target) { // Filter out any input fields with type 'hidden' right away const inputFields = []; Array.from(target.getElementsByTagName('input')).forEach(e => { - if (e.type !== 'hidden' && !e.readOnly) { + if (e.type !== 'hidden') { inputFields.push(e); } }); diff --git a/keepassxc-browser/content/pwgen.js b/keepassxc-browser/content/pwgen.js index e6de428..d6fc1d8 100644 --- a/keepassxc-browser/content/pwgen.js +++ b/keepassxc-browser/content/pwgen.js @@ -24,7 +24,7 @@ class PasswordIcon extends Icon { } PasswordIcon.prototype.initField = function(field, inputs, pos) { - if (!field) { + if (!field || field.readOnly) { return; } diff --git a/keepassxc-browser/content/totp-field.js b/keepassxc-browser/content/totp-field.js index 84b4b83..f715448 100644 --- a/keepassxc-browser/content/totp-field.js +++ b/keepassxc-browser/content/totp-field.js @@ -42,7 +42,8 @@ TOTPFieldIcon.prototype.initField = function(field, forced) { || field.size < 2 || (field.maxLength > 0 && (field.maxLength < 6 || field.maxLength > 8)) || field.id.match(ignoreRegex) - || field.name.match(ignoreRegex)) { + || field.name.match(ignoreRegex) + || field.readOnly) { return; } } else { diff --git a/keepassxc-browser/content/username-field.js b/keepassxc-browser/content/username-field.js index 5f8eb36..50da737 100644 --- a/keepassxc-browser/content/username-field.js +++ b/keepassxc-browser/content/username-field.js @@ -39,7 +39,8 @@ UsernameFieldIcon.prototype.initField = function(field) { || field.getAttribute('kpxc-username-field') === 'true' || field.getAttribute('kpxc-totp-field') === 'true' || (field.hasAttribute('kpxc-defined') && field.getAttribute('kpxc-defined') !== 'username') - || !kpxcFields.isVisible(field)) { + || !kpxcFields.isVisible(field) + || field.readOnly) { return; }