| Index: components/password_manager/core/browser/password_manager.cc
|
| diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
| index f734ef0010b49b527f7f87b5d5222a4e5044c519..d09d2f54c663beba50cd39a05d725c1b7db45072 100644
|
| --- a/components/password_manager/core/browser/password_manager.cc
|
| +++ b/components/password_manager/core/browser/password_manager.cc
|
| @@ -178,6 +178,26 @@ void PasswordManager::GenerationAvailableForForm(const PasswordForm& form) {
|
| }
|
| }
|
|
|
| +void PasswordManager::OnPresaveGeneratedPassword(
|
| + const autofill::PasswordForm& form) {
|
| + DCHECK(client_->IsSavingAndFillingEnabledForCurrentPage());
|
| + PasswordFormManager* form_manager = GetMatchingPendingManager(form);
|
| + if (form_manager) {
|
| + form_manager->PresaveGeneratedPassword(form);
|
| + return;
|
| + }
|
| +}
|
| +
|
| +void PasswordManager::OnUpdatePresavedPassword(
|
| + const autofill::PasswordForm& form) {
|
| + DCHECK(client_->IsSavingAndFillingEnabledForCurrentPage());
|
| + PasswordFormManager* form_manager = GetMatchingPendingManager(form);
|
| + if (form_manager) {
|
| + form_manager->UpdatePresavedPassword(form);
|
| + return;
|
| + }
|
| +}
|
| +
|
| void PasswordManager::SetHasGeneratedPasswordForForm(
|
| password_manager::PasswordManagerDriver* driver,
|
| const PasswordForm& form,
|
| @@ -186,6 +206,8 @@ void PasswordManager::SetHasGeneratedPasswordForForm(
|
|
|
| PasswordFormManager* form_manager = GetMatchingPendingManager(form);
|
| if (form_manager) {
|
| + if (!password_is_generated)
|
| + form_manager->RemovePresavedPassword();
|
| form_manager->set_has_generated_password(password_is_generated);
|
| return;
|
| }
|
|
|