Fix save domain only option

This commit is contained in:
varjolintu 2018-05-11 11:44:32 +03:00
parent 292b6ca0ae
commit fd9e01985d

View file

@ -632,7 +632,8 @@ cipDefine.initDescription = function() {
fieldIds.push(cipFields.prepareId(i));
}
cip.settings['defined-credential-fields'][document.location.href] = {
const location = cip.getDocumentLocation();
cip.settings['defined-credential-fields'][location] = {
username: cipDefine.selection.username,
password: cipDefine.selection.password,
fields: fieldIds
@ -652,7 +653,8 @@ cipDefine.initDescription = function() {
$description.append($btnAgain);
$description.append($btnDismiss);
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][document.location.href]) {
const location = cip.getDocumentLocation();
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][location]) {
const $p = jQuery('<p>').html('For this page credential fields are already selected and will be overwritten.<br />');
const $btnDiscard = jQuery('<button>')
.attr('id', 'btn-warning')
@ -662,7 +664,7 @@ cipDefine.initDescription = function() {
.addClass('btn-sm')
.addClass('btn-danger')
.click(function(e) {
delete cip.settings['defined-credential-fields'][document.location.href];
delete cip.settings['defined-credential-fields'][location];
browser.runtime.sendMessage({
action: 'save_settings',
@ -907,7 +909,8 @@ cipFields.getCombination = function(givenType, fieldId) {
}
}
// use defined credential fields (already loaded into combinations)
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][document.location.href]) {
const location = cip.getDocumentLocation();
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][location]) {
return cipFields.combinations[0];
}
@ -1107,8 +1110,9 @@ cipFields.prepareCombinations = function(combinations) {
};
cipFields.useDefinedCredentialFields = function() {
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][document.location.href]) {
const creds = cip.settings['defined-credential-fields'][document.location.href];
const location = cip.getDocumentLocation();
if (cip.settings['defined-credential-fields'] && cip.settings['defined-credential-fields'][location]) {
const creds = cip.settings['defined-credential-fields'][location];
let $found = _f(creds.username) || _f(creds.password);
for (const i of creds.fields) {
@ -1807,7 +1811,7 @@ cip.rememberCredentials = function(usernameValue, passwordValue) {
let url = jQuery(this)[0].action;
if (!url) {
url = cip.settings.saveDomainOnly ? document.location.origin : document.location.href;
url = cip.getDocumentLocation();
if (url.indexOf('?') > 0) {
url = url.substring(0, url.indexOf('?'));
if (url.length < document.location.origin.length) {
@ -1848,6 +1852,10 @@ cip.ignoreSite = function(sites) {
};
cip.getDocumentLocation = function() {
return cip.settings.saveDomainOnly ? document.location.origin : document.location.href;
};
var cipEvents = {};
cipEvents.clearCredentials = function() {