From 3f5b20c7b66d63ee57d7da65656c427a22bd56ae Mon Sep 17 00:00:00 2001 From: varjolintu Date: Tue, 7 Jan 2020 14:44:31 +0200 Subject: [PATCH] Add Save Domain Only option when saving new credentials --- keepassxc-browser/_locales/en/messages.json | 4 ++++ keepassxc-browser/background/page.js | 4 ++++ keepassxc-browser/content/keepassxc-browser.js | 2 +- keepassxc-browser/options/options.html | 8 +++++++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/keepassxc-browser/_locales/en/messages.json b/keepassxc-browser/_locales/en/messages.json index df44b7c..ee7716d 100644 --- a/keepassxc-browser/_locales/en/messages.json +++ b/keepassxc-browser/_locales/en/messages.json @@ -691,6 +691,10 @@ "message": "When saving new credentials, save only the domain instead of full URL.", "description": "Save domain only option help text." }, + "optionsSaveDomainOnlyCustomLoginHelpText": { + "message": "When saving new custom login fields, save only the domain instead of full URL.", + "description": "Save domain only option help text." + }, "optionsAutoFillAndSendHelpText": { "message": "If credentials are found for a page and the login-type is an HTTP Basic Auth request, KeePassXC-Browser tries to login with the first given credentials.", "description": "Auto-Fill And Send option help text." diff --git a/keepassxc-browser/background/page.js b/keepassxc-browser/background/page.js index b597042..557187d 100755 --- a/keepassxc-browser/background/page.js +++ b/keepassxc-browser/background/page.js @@ -13,6 +13,7 @@ const defaultSettings = { showLoginFormIcon: true, showOTPIcon: true, saveDomainOnly: true, + saveDomainOnlyNewCreds: false, autoReconnect: false, defaultGroup: '', defaultGroupAlwaysAsk: false @@ -69,6 +70,9 @@ page.initSettings = async function() { if (!('saveDomainOnly' in page.settings)) { page.settings.saveDomainOnly = defaultSettings.saveDomainOnly; } + if (!('saveDomainOnlyNewCreds' in page.settings)) { + page.settings.saveDomainOnlyNewCreds = defaultSettings.saveDomainOnlyNewCreds; + } if (!('autoReconnect' in page.settings)) { page.settings.autoReconnect = defaultSettings.autoReconnect; } diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index e064e27..89161ff 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -1654,7 +1654,7 @@ kpxc.rememberCredentials = async function(usernameValue, passwordValue, urlValue let url = this.action; if (!url) { - url = kpxc.getDocumentLocation(); + url = kpxc.settings.saveDomainOnlyNewCreds ? document.location.origin : document.location.href; if (url.indexOf('?') > 0) { url = url.substring(0, url.indexOf('?')); if (url.length < document.location.origin.length) { diff --git a/keepassxc-browser/options/options.html b/keepassxc-browser/options/options.html index 7f54ee9..eeb4107 100644 --- a/keepassxc-browser/options/options.html +++ b/keepassxc-browser/options/options.html @@ -161,6 +161,12 @@ +
+ + +


@@ -168,7 +174,7 @@ - +