diff --git a/keepassxc-browser/content/fill.js b/keepassxc-browser/content/fill.js index 30d8cc4..f607436 100644 --- a/keepassxc-browser/content/fill.js +++ b/keepassxc-browser/content/fill.js @@ -316,16 +316,7 @@ kpxcFill.fillInStringFields = function(fields, stringFields) { // Performs Auto-Submit. If filling single credentials is enabled, a 5 second timeout will be needed for fill kpxcFill.performAutoSubmit = async function(combination, skipAutoSubmit) { - // Check for site preference overrides - const sitePreference = kpxc.retrieveSitePreference(); - let autoSubmitSitePreference = false; - if (sitePreference !== null && sitePreference !== undefined) { - if (sitePreference.autoSubmit === true || sitePreference.autoSubmit === false) { - autoSubmitSitePreference = sitePreference.autoSubmit; - } - } - - if (!kpxc.settings.autoSubmit && !autoSubmitSitePreference) { + if (!kpxc.settings.autoSubmit && !kpxc.preferencesForPage?.autoSubmit) { return; } diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index 74b3b9c..41049de 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -26,6 +26,7 @@ kpxc.detectedFields = 0; kpxc.improvedFieldDetectionEnabledForPage = false; kpxc.inputs = []; kpxc.settings = {}; +kpxc.preferencesForPage = null; kpxc.singleInputEnabledForPage = false; kpxc.submitUrl = null; kpxc.url = null; @@ -502,19 +503,10 @@ kpxc.prepareCredentials = async function() { } if (kpxc.credentials.length === 1) { - if (kpxc.settings.autoFillSingleEntry) { + if (kpxc.preferencesForPage?.autoFillCredentials || kpxc.settings.autoFillSingleEntry) { kpxcFill.fillFromAutofill(); return; } - - // Check for site preference overrides - const sitePreference = kpxc.retrieveSitePreference(); - if (sitePreference !== null && sitePreference !== undefined) { - if (sitePreference.autoFillCredentials === true) { - kpxcFill.fillFromAutofill(); - return; - } - } } kpxc.initLoginPopup(); @@ -983,6 +975,7 @@ const initContentScript = async function() { } kpxc.settings = settings; + kpxc.preferencesForPage = kpxc.retrieveSitePreference(); if (await kpxc.siteIgnored()) { logDebug('This site is ignored in Site Preferences.'); diff --git a/keepassxc-browser/content/totp-field.js b/keepassxc-browser/content/totp-field.js index 8f49d5b..2608108 100644 --- a/keepassxc-browser/content/totp-field.js +++ b/keepassxc-browser/content/totp-field.js @@ -106,17 +106,7 @@ class TOTPFieldIcon extends Icon { // Fill TOTP automatically if option is enabled TOTPFieldIcon.prototype.autoFillSingleTotp = async function(field) { - // Check for site preference overrides - const sitePreference = kpxc.retrieveSitePreference(); - let autoFillSingleTotpSitePreference = false; - if (sitePreference !== null && sitePreference !== undefined) { - if (sitePreference.autoFillTOTP === true || sitePreference.autoFillTOTP === false) { - autoFillSingleTotpSitePreference = sitePreference.autoFillTOTP; - } - } - - - if (kpxc.settings.autoFillSingleTotp || autoFillSingleTotpSitePreference) { + if (kpxc.preferencesForPage?.autoFillTOTP || kpxc.settings.autoFillSingleTotp) { if (kpxc.credentials.length === 0) { await kpxc.receiveCredentialsIfNecessary(); }