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); |
} |