| Index: components/autofill/content/renderer/form_autofill_util.cc
|
| diff --git a/components/autofill/content/renderer/form_autofill_util.cc b/components/autofill/content/renderer/form_autofill_util.cc
|
| index 965f7f6695f207a83e232c23810bbaaa0875a75e..5ddf212f1ba26c36e0d20b264fd77369cee56d90 100644
|
| --- a/components/autofill/content/renderer/form_autofill_util.cc
|
| +++ b/components/autofill/content/renderer/form_autofill_util.cc
|
| @@ -1045,14 +1045,14 @@ void PreviewForm(const FormData& form, const WebFormControlElement& element) {
|
| }
|
|
|
| bool ClearPreviewedFormWithElement(const WebFormControlElement& element,
|
| - bool was_autofilled) {
|
| + bool was_autofilled,
|
| + bool was_password_autofilled) {
|
| WebFormElement form_element = element.form();
|
| if (form_element.isNull())
|
| return false;
|
|
|
| std::vector<WebFormControlElement> control_elements;
|
| - ExtractAutofillableElements(form_element, REQUIRE_AUTOCOMPLETE,
|
| - &control_elements);
|
| + ExtractAutofillableElements(form_element, REQUIRE_NONE, &control_elements);
|
| for (size_t i = 0; i < control_elements.size(); ++i) {
|
| // There might be unrelated elements in this form which have already been
|
| // auto-filled. For example, the user might have already filled the address
|
| @@ -1093,6 +1093,8 @@ bool ClearPreviewedFormWithElement(const WebFormControlElement& element,
|
| // cursor.
|
| int length = control_element.value().length();
|
| control_element.setSelectionRange(length, length);
|
| + } else if (input_element->isPasswordField()) {
|
| + input_element->setAutofilled(was_password_autofilled);
|
| } else {
|
| control_element.setAutofilled(false);
|
| }
|
|
|