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

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

Issue 825773003: PasswordStore: Use ScopedVector to express ownership of forms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use assignment instead of construction Created 5 years, 11 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_store_default.cc
diff --git a/components/password_manager/core/browser/password_store_default.cc b/components/password_manager/core/browser/password_store_default.cc
index abebed9a7f331a07df3f092b0de8e399e26a666c..ea493e321b3f399a4dbebdd695a2fdf472e59d8c 100644
--- a/components/password_manager/core/browser/password_store_default.cc
+++ b/components/password_manager/core/browser/password_store_default.cc
@@ -78,40 +78,36 @@ PasswordStoreChangeList PasswordStoreDefault::RemoveLoginImpl(
PasswordStoreChangeList PasswordStoreDefault::RemoveLoginsCreatedBetweenImpl(
base::Time delete_begin,
base::Time delete_end) {
- std::vector<PasswordForm*> forms;
+ ScopedVector<autofill::PasswordForm> forms;
PasswordStoreChangeList changes;
if (login_db_ &&
login_db_->GetLoginsCreatedBetween(delete_begin, delete_end, &forms)) {
if (login_db_->RemoveLoginsCreatedBetween(delete_begin, delete_end)) {
- for (std::vector<PasswordForm*>::const_iterator it = forms.begin();
- it != forms.end(); ++it) {
+ for (const auto* form : forms) {
changes.push_back(
- PasswordStoreChange(PasswordStoreChange::REMOVE, **it));
+ PasswordStoreChange(PasswordStoreChange::REMOVE, *form));
}
LogStatsForBulkDeletion(changes.size());
}
}
- STLDeleteElements(&forms);
return changes;
}
PasswordStoreChangeList PasswordStoreDefault::RemoveLoginsSyncedBetweenImpl(
base::Time delete_begin,
base::Time delete_end) {
- std::vector<PasswordForm*> forms;
+ ScopedVector<autofill::PasswordForm> forms;
PasswordStoreChangeList changes;
if (login_db_ &&
login_db_->GetLoginsSyncedBetween(delete_begin, delete_end, &forms)) {
if (login_db_->RemoveLoginsSyncedBetween(delete_begin, delete_end)) {
- for (std::vector<PasswordForm*>::const_iterator it = forms.begin();
- it != forms.end(); ++it) {
+ for (const auto* form : forms) {
changes.push_back(
- PasswordStoreChange(PasswordStoreChange::REMOVE, **it));
+ PasswordStoreChange(PasswordStoreChange::REMOVE, *form));
}
LogStatsForBulkDeletionDuringRollback(changes.size());
}
}
- STLDeleteElements(&forms);
return changes;
}
@@ -119,31 +115,41 @@ void PasswordStoreDefault::GetLoginsImpl(
const autofill::PasswordForm& form,
AuthorizationPromptPolicy prompt_policy,
const ConsumerCallbackRunner& callback_runner) {
- std::vector<PasswordForm*> matched_forms;
+ ScopedVector<autofill::PasswordForm> matched_forms;
if (login_db_)
login_db_->GetLogins(form, &matched_forms);
- callback_runner.Run(matched_forms);
+ callback_runner.Run(matched_forms.Pass());
}
void PasswordStoreDefault::GetAutofillableLoginsImpl(
GetLoginsRequest* request) {
- FillAutofillableLogins(request->result());
+ // TODO(vabr) -- request should have a ScopedVector<autofill::PasswordForm>
+ // instead of using |logins| here.
+ DCHECK(request->result()->empty());
+ ScopedVector<autofill::PasswordForm> logins;
+ FillAutofillableLogins(&logins);
+ logins.swap(*request->result());
ForwardLoginsResult(request);
}
void PasswordStoreDefault::GetBlacklistLoginsImpl(GetLoginsRequest* request) {
- FillBlacklistLogins(request->result());
+ // TODO(vabr) -- request should have a ScopedVector<autofill::PasswordForm>
+ // instead of using |logins| here.
+ DCHECK(request->result()->empty());
+ ScopedVector<autofill::PasswordForm> logins;
+ FillBlacklistLogins(&logins);
+ logins.swap(*request->result());
ForwardLoginsResult(request);
}
bool PasswordStoreDefault::FillAutofillableLogins(
- std::vector<PasswordForm*>* forms) {
+ ScopedVector<autofill::PasswordForm>* forms) {
DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
return login_db_ && login_db_->GetAutofillableLogins(forms);
}
bool PasswordStoreDefault::FillBlacklistLogins(
- std::vector<PasswordForm*>* forms) {
+ ScopedVector<autofill::PasswordForm>* forms) {
DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
return login_db_ && login_db_->GetBlacklistLogins(forms);
}

Powered by Google App Engine
This is Rietveld 408576698