| Index: components/password_manager/core/browser/credential_manager_password_form_manager.cc
|
| diff --git a/components/password_manager/core/browser/credential_manager_password_form_manager.cc b/components/password_manager/core/browser/credential_manager_password_form_manager.cc
|
| index c1230f724bf2c188cbe2957ae22679f3cbd0a8ef..559c2109e67d37885bf5f1c8bdb5fba563609f97 100644
|
| --- a/components/password_manager/core/browser/credential_manager_password_form_manager.cc
|
| +++ b/components/password_manager/core/browser/credential_manager_password_form_manager.cc
|
| @@ -19,13 +19,16 @@ CredentialManagerPasswordFormManager::CredentialManagerPasswordFormManager(
|
| PasswordManagerClient* client,
|
| base::WeakPtr<PasswordManagerDriver> driver,
|
| const PasswordForm& observed_form,
|
| + std::unique_ptr<autofill::PasswordForm> saved_form,
|
| CredentialManagerPasswordFormManagerDelegate* delegate)
|
| : PasswordFormManager(driver->GetPasswordManager(),
|
| client,
|
| driver,
|
| observed_form,
|
| true),
|
| - delegate_(delegate) {
|
| + delegate_(delegate),
|
| + saved_form_(std::move(saved_form)) {
|
| + DCHECK(saved_form_);
|
| FetchDataFromPasswordStore();
|
| }
|
|
|
| @@ -38,9 +41,8 @@ void CredentialManagerPasswordFormManager::OnGetPasswordStoreResults(
|
|
|
| // Mark the form as "preferred", as we've been told by the API that this is
|
| // indeed the credential set that the user used to sign into the site.
|
| - PasswordForm provisionally_saved_form(observed_form());
|
| - provisionally_saved_form.preferred = true;
|
| - ProvisionallySave(provisionally_saved_form, IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| + saved_form_->preferred = true;
|
| + ProvisionallySave(*saved_form_, IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| delegate_->OnProvisionalSaveComplete();
|
| }
|
|
|
|
|