| Index: components/autofill/content/renderer/password_form_conversion_utils.cc
|
| diff --git a/components/autofill/content/renderer/password_form_conversion_utils.cc b/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| index dc6bf7ba20cc386d85fab9c1c101a2ea0c5d8b73..4780a84cbf737c26bc88f5228d07736a57067420 100644
|
| --- a/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| +++ b/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| @@ -389,6 +389,7 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| form, &ignore_invisible_passwords, &ignore_invisible_usernames);
|
| std::string layout_sequence;
|
| layout_sequence.reserve(form.control_elements.size());
|
| + size_t number_of_non_empty_text_non_password_fields = 0;
|
| for (size_t i = 0; i < form.control_elements.size(); ++i) {
|
| WebFormControlElement control_element = form.control_elements[i];
|
|
|
| @@ -403,6 +404,10 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| continue;
|
| layout_sequence.push_back('P');
|
| } else {
|
| + if (nonscript_modified_values &&
|
| + nonscript_modified_values->find(*input_element) !=
|
| + nonscript_modified_values->end())
|
| + ++number_of_non_empty_text_non_password_fields;
|
| if (element_is_invisible && ignore_invisible_usernames)
|
| continue;
|
| layout_sequence.push_back('N');
|
| @@ -594,6 +599,14 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| password_form->blacklisted_by_user = false;
|
| password_form->type = PasswordForm::TYPE_MANUAL;
|
|
|
| + // The password form is considered that it looks like SignUp form if it has
|
| + // more than 1 text field with user input or it has a new password field and
|
| + // no current password field.
|
| + password_form->does_look_like_signup_form =
|
| + number_of_non_empty_text_non_password_fields > 1 ||
|
| + (number_of_non_empty_text_non_password_fields == 1 &&
|
| + password_form->password_element.empty() &&
|
| + !password_form->new_password_element.empty());
|
| return true;
|
| }
|
|
|
|
|