Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Unified Diff: components/password_manager/core/browser/password_manager.cc

Issue 2900693002: [Password Manager] Convert |pending_login_managers_| to an array of scoped_refptr (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 804aa5d4348ce113c20c7fc59ab3fa4754090ce6..df1208d08c74d832936efae8a6144c4fb80466b5 100644
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -238,7 +238,7 @@ void PasswordManager::SetGenerationElementAndReasonForForm(
// If there is no corresponding PasswordFormManager, we create one. This is
// not the common case, and should only happen when there is a bug in our
// ability to detect forms.
- auto manager = base::MakeUnique<PasswordFormManager>(
+ auto manager = base::MakeRefCounted<PasswordFormManager>(
this, client_, driver->AsWeakPtr(), form,
base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore())),
nullptr);
@@ -349,11 +349,9 @@ void PasswordManager::ProvisionallySavePassword(
return;
}
- std::unique_ptr<PasswordFormManager> manager;
- // Transfer ownership of the manager from |pending_login_managers_| to
+ // Copy ownership of the manager from |pending_login_managers_| to
// |manager|.
- manager.swap(*matched_manager_it);
- pending_login_managers_.erase(matched_manager_it);
+ scoped_refptr<PasswordFormManager> manager(*matched_manager_it);
PasswordForm submitted_form(form);
submitted_form.preferred = true;
@@ -410,7 +408,7 @@ void PasswordManager::UpdateFormManagers() {
void PasswordManager::DropFormManagers() {
pending_login_managers_.clear();
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
all_visible_forms_.clear();
}
@@ -567,7 +565,7 @@ void PasswordManager::CreatePendingLoginManagers(
if (logger)
logger->LogFormSignatures(Logger::STRING_ADDING_SIGNATURE, *iter);
- auto manager = base::MakeUnique<PasswordFormManager>(
+ auto manager = base::MakeRefCounted<PasswordFormManager>(
this, client_,
(driver ? driver->AsWeakPtr() : base::WeakPtr<PasswordManagerDriver>()),
*iter, base::WrapUnique(new FormSaverImpl(client_->GetPasswordStore())),
@@ -603,7 +601,7 @@ bool PasswordManager::CanProvisionalManagerSave() {
RecordFailure(MATCHING_NOT_COMPLETE,
provisional_save_manager_->observed_form().origin,
logger.get());
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
return false;
}
return true;
@@ -650,7 +648,7 @@ void PasswordManager::OnPasswordFormsRendered(
if (logger)
logger->LogMessage(Logger::STRING_DECISION_DROP);
provisional_save_manager_->LogSubmitFailed();
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
return;
}
@@ -687,7 +685,7 @@ void PasswordManager::OnPasswordFormsRendered(
all_visible_forms_[i]);
logger->LogMessage(Logger::STRING_DECISION_DROP);
}
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
// Clear all_visible_forms_ once we found the match.
all_visible_forms_.clear();
return;
@@ -754,7 +752,7 @@ void PasswordManager::OnLoginSuccessful() {
RecordFailure(SYNC_CREDENTIAL,
provisional_save_manager_->observed_form().origin,
logger.get());
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
return;
}
}
@@ -794,7 +792,7 @@ void PasswordManager::OnLoginSuccessful() {
if (provisional_save_manager_->has_generated_password()) {
client_->AutomaticPasswordSave(std::move(provisional_save_manager_));
} else {
- provisional_save_manager_.reset();
+ provisional_save_manager_ = nullptr;
}
}
}

Powered by Google App Engine
This is Rietveld 408576698