mirror of
https://github.com/bitwarden/browser.git
synced 2024-09-15 02:18:42 +02:00
skip autofill username option
This commit is contained in:
parent
ad66d15a33
commit
7561ae4996
@ -734,7 +734,11 @@ var bg_isBackground = true,
|
|||||||
}
|
}
|
||||||
|
|
||||||
function autofillPage() {
|
function autofillPage() {
|
||||||
bg_autofillService.doAutoFill(loginToAutoFill, pageDetailsToAutoFill, true);
|
bg_autofillService.doAutoFill({
|
||||||
|
login: loginToAutoFill,
|
||||||
|
pageDetails: pageDetailsToAutoFill,
|
||||||
|
fromBackground: true
|
||||||
|
});
|
||||||
// reset
|
// reset
|
||||||
loginToAutoFill = null;
|
loginToAutoFill = null;
|
||||||
pageDetailsToAutoFill = [];
|
pageDetailsToAutoFill = [];
|
||||||
|
@ -74,7 +74,11 @@ angular
|
|||||||
toastr.error(i18nService.autofillError);
|
toastr.error(i18nService.autofillError);
|
||||||
}
|
}
|
||||||
|
|
||||||
autofillService.doAutoFill(login, pageDetails, false).then(function (totpCode) {
|
autofillService.doAutoFill({
|
||||||
|
login: login,
|
||||||
|
pageDetails: pageDetails,
|
||||||
|
fromBackground: false
|
||||||
|
}).then(function (totpCode) {
|
||||||
$analytics.eventTrack('Autofilled');
|
$analytics.eventTrack('Autofilled');
|
||||||
if (totpCode && utilsService.isFirefox()) {
|
if (totpCode && utilsService.isFirefox()) {
|
||||||
utilsService.copyToClipboard(totpCode, document);
|
utilsService.copyToClipboard(totpCode, document);
|
||||||
|
@ -121,7 +121,7 @@ function initAutofill() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!passwordFields.length) {
|
if (!passwordFields.length && !fill.skipUsernameOnlyFill) {
|
||||||
// No password fields on this page. Let's try to just fuzzy fill the username.
|
// No password fields on this page. Let's try to just fuzzy fill the username.
|
||||||
for (i = 0; i < pageDetails.fields.length; i++) {
|
for (i = 0; i < pageDetails.fields.length; i++) {
|
||||||
var f = pageDetails.fields[i];
|
var f = pageDetails.fields[i];
|
||||||
@ -186,7 +186,7 @@ function initAutofill() {
|
|||||||
return formData;
|
return formData;
|
||||||
};
|
};
|
||||||
|
|
||||||
AutofillService.prototype.doAutoFill = function (login, pageDetails, fromBackground, skipTotp, skipLastUsed) {
|
AutofillService.prototype.doAutoFill = function (options) {
|
||||||
var deferred = Q.defer();
|
var deferred = Q.defer();
|
||||||
var self = this,
|
var self = this,
|
||||||
totpPromise = null;
|
totpPromise = null;
|
||||||
@ -201,22 +201,23 @@ function initAutofill() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tab || !login || !pageDetails || !pageDetails.length) {
|
if (!tab || !options.login || !options.pageDetails || !options.pageDetails.length) {
|
||||||
deferred.reject();
|
deferred.reject();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var didAutofill = false;
|
var didAutofill = false;
|
||||||
for (var i = 0; i < pageDetails.length; i++) {
|
for (var i = 0; i < options.pageDetails.length; i++) {
|
||||||
// make sure we're still on correct tab
|
// make sure we're still on correct tab
|
||||||
if (pageDetails[i].tab.id !== tab.id || pageDetails[i].tab.url !== tab.url) {
|
if (options.pageDetails[i].tab.id !== tab.id || options.pageDetails[i].tab.url !== tab.url) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var fillScript = self.generateFillScript(pageDetails[i].details, {
|
var fillScript = self.generateFillScript(options.pageDetails[i].details, {
|
||||||
username: login.username,
|
username: options.login.username,
|
||||||
password: login.password,
|
password: options.login.password,
|
||||||
fields: login.fields
|
fields: options.login.fields,
|
||||||
|
skipUsernameOnlyFill: options.skipUsernameOnlyFill || false
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!fillScript || !fillScript.script || !fillScript.script.length) {
|
if (!fillScript || !fillScript.script || !fillScript.script.length) {
|
||||||
@ -224,24 +225,24 @@ function initAutofill() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
didAutofill = true;
|
didAutofill = true;
|
||||||
if (!skipLastUsed) {
|
if (!options.skipLastUsed) {
|
||||||
self.loginService.updateLastUsedDate(login.id, function () { });
|
self.loginService.updateLastUsedDate(options.login.id, function () { });
|
||||||
}
|
}
|
||||||
|
|
||||||
chrome.tabs.sendMessage(tab.id, {
|
chrome.tabs.sendMessage(tab.id, {
|
||||||
command: 'fillForm',
|
command: 'fillForm',
|
||||||
fillScript: fillScript
|
fillScript: fillScript
|
||||||
}, { frameId: pageDetails[i].frameId });
|
}, { frameId: options.pageDetails[i].frameId });
|
||||||
|
|
||||||
if (totpPromise || (fromBackground && self.utilsService.isFirefox()) ||
|
if (totpPromise || (options.fromBackground && self.utilsService.isFirefox()) ||
|
||||||
skipTotp || !login.totp || !self.tokenService.getPremium()) {
|
options.skipTotp || !options.login.totp || !self.tokenService.getPremium()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
totpPromise = self.totpService.isAutoCopyEnabled().then(function (enabled) {
|
totpPromise = self.totpService.isAutoCopyEnabled().then(function (enabled) {
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
/* jshint ignore:start */
|
/* jshint ignore:start */
|
||||||
return self.totpService.getCode(login.totp);
|
return self.totpService.getCode(options.login.totp);
|
||||||
/* jshint ignore:end */
|
/* jshint ignore:end */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,7 +299,14 @@ function initAutofill() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.doAutoFill(login, pageDetails, true, true, true);
|
self.doAutoFill({
|
||||||
|
login: login,
|
||||||
|
pageDetails: pageDetails,
|
||||||
|
fromBackground: true,
|
||||||
|
skipTotp: true,
|
||||||
|
skipLastUsed: true,
|
||||||
|
skipUsernameOnlyFill: true
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user