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 2920dec61d7fc68cbbf9f9327b0a59a9f3361896..2f4715b58af98b3a9e2a4198285a88d624a50b8a 100644 |
--- a/components/password_manager/core/browser/password_manager.cc |
+++ b/components/password_manager/core/browser/password_manager.cc |
@@ -232,7 +232,8 @@ void PasswordManager::SetGenerationElementAndReasonForForm( |
// ability to detect forms. |
auto manager = base::MakeUnique<PasswordFormManager>( |
this, client_, driver->AsWeakPtr(), form, |
- base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore()))); |
+ base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore())), |
+ nullptr); |
pending_login_managers_.push_back(std::move(manager)); |
} |
@@ -273,8 +274,8 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) { |
auto matched_manager_it = pending_login_managers_.end(); |
PasswordFormManager::MatchResultMask current_match_result = |
PasswordFormManager::RESULT_NO_MATCH; |
- // Below, "matching" is in DoesManage-sense and "not ready" in |
- // !HasCompletedMatching sense. We keep track of such PasswordFormManager |
+ // Below, "matching" is in DoesManage-sense and "not ready" in the sense of |
+ // FormFetcher being ready. We keep track of such PasswordFormManager |
// instances for UMA. |
for (auto iter = pending_login_managers_.begin(); |
iter != pending_login_managers_.end(); ++iter) { |
@@ -358,7 +359,7 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) { |
void PasswordManager::UpdateFormManagers() { |
for (const auto& form_manager : pending_login_managers_) { |
- form_manager->FetchDataFromPasswordStore(); |
+ form_manager->form_fetcher()->Fetch(); |
} |
} |
@@ -520,8 +521,8 @@ void PasswordManager::CreatePendingLoginManagers( |
auto manager = base::MakeUnique<PasswordFormManager>( |
this, client_, |
(driver ? driver->AsWeakPtr() : base::WeakPtr<PasswordManagerDriver>()), |
- *iter, |
- base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore()))); |
+ *iter, base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore())), |
+ nullptr); |
pending_login_managers_.push_back(std::move(manager)); |
} |
@@ -546,7 +547,8 @@ bool PasswordManager::CanProvisionalManagerSave() { |
return false; |
} |
- if (!provisional_save_manager_->HasCompletedMatching()) { |
+ if (provisional_save_manager_->form_fetcher()->GetState() == |
+ FormFetcher::State::WAITING) { |
// We have a provisional save manager, but it didn't finish matching yet. |
// We just give up. |
RecordFailure(MATCHING_NOT_COMPLETE, |