From 36b580d60a20b736b8d9d557ba8d58427853b7f8 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Sat, 17 Sep 2016 13:47:17 -0400 Subject: [PATCH] smarter username field selection for no form condition --- src/services/autofillService.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/services/autofillService.js b/src/services/autofillService.js index 7825f98b90..a4bb289d34 100644 --- a/src/services/autofillService.js +++ b/src/services/autofillService.js @@ -104,9 +104,25 @@ function initAutofill() { } } else if (passwordFields.length == 1) { + // The page does not have any forms with password fields. Use the one password field on the page and the + // input field just before it as the username. + password = passwordFields[0]; if (password.elementNumber > 0) { - username = pageDetails.fields[password.elementNumber - 1]; + for (i = 0; i < pageDetails.fields.length; i++) { + f = pageDetails.fields[i]; + if (f.elementNumber > password.elementNumber) { + break; + } + + if (f.type === 'text' || f.type === 'email') { + username = f; + } + } + + if (!username) { + username = pageDetails.fields[password.elementNumber - 1]; + } } }