Index: components/autofill/content/renderer/password_autofill_agent.cc |
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc |
index 851e64f46de7ff1a70e2a95cbacc64543316d64b..9e97ef839fe2aba207432071d2f9d3dc92d69ce6 100644 |
--- a/components/autofill/content/renderer/password_autofill_agent.cc |
+++ b/components/autofill/content/renderer/password_autofill_agent.cc |
@@ -1798,13 +1798,21 @@ void PasswordAutofillAgent::ProvisionallySavePassword( |
const blink::WebFormElement& form, |
const blink::WebInputElement& input, |
ProvisionallySaveRestriction restriction) { |
- if (!password_form || (restriction == RESTRICTION_NON_EMPTY_PASSWORD && |
- password_form->password_value.empty() && |
- password_form->new_password_value.empty())) { |
+ if (!password_form) |
return; |
- } |
+ bool has_no_password = password_form->password_value.empty() && |
+ password_form->new_password_value.empty(); |
+ if (restriction == RESTRICTION_NON_EMPTY_PASSWORD && has_no_password) |
+ return; |
+ |
DCHECK(password_form && (!form.IsNull() || !input.IsNull())); |
provisionally_saved_form_.Set(std::move(password_form), form, input); |
+ if (!has_no_password) { |
+ GetPasswordManagerDriver()->ShowManualFallbackForSaving( |
+ provisionally_saved_form_.password_form()); |
+ } else { |
+ GetPasswordManagerDriver()->HideManualFallbackForSaving(); |
+ } |
} |
const mojom::AutofillDriverPtr& PasswordAutofillAgent::GetAutofillDriver() { |