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 @@
-
+