Chromium Code Reviews| 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() { |