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 88a79968f86a2868a3699832a1029aacd077d9e3..fa3ef083bafb3fe3d8a27f9d1ad04e734709bd0b 100644 |
--- a/components/autofill/content/renderer/password_autofill_agent.cc |
+++ b/components/autofill/content/renderer/password_autofill_agent.cc |
@@ -30,6 +30,7 @@ |
#include "components/autofill/core/common/autofill_util.h" |
#include "components/autofill/core/common/form_field_data.h" |
#include "components/autofill/core/common/password_form_fill_data.h" |
+#include "components/password_manager/core/common/experiments.h" |
#include "components/security_state/core/security_state.h" |
#include "content/public/common/origin_util.h" |
#include "content/public/renderer/document_state.h" |
@@ -1769,13 +1770,23 @@ 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 (password_manager::ManualFallbackForSavingEnabled()) { |
vasilii
2017/07/21 12:48:20
Are you sure we need this check here? It introduce
kolos1
2017/07/24 15:33:30
The flag is removed.
|
+ if (!has_no_password) { |
+ GetPasswordManagerDriver()->ShowManualFallback( |
+ provisionally_saved_form_.password_form()); |
+ } else { |
+ GetPasswordManagerDriver()->HideManualFallback(); |
+ } |
+ } |
} |
const mojom::AutofillDriverPtr& PasswordAutofillAgent::GetAutofillDriver() { |