| 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);
|
| }
|
|
|