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

Unified Diff: chrome/browser/password_manager/password_store_mac.cc

Issue 1858513002: chrome/browser/password_manager: scoped_ptr -> unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Windows -- revert unwanted change Created 4 years, 8 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: chrome/browser/password_manager/password_store_mac.cc
diff --git a/chrome/browser/password_manager/password_store_mac.cc b/chrome/browser/password_manager/password_store_mac.cc
index f643086e6b1c4bd362dd08ac6e06ed7a97f0ee77..63dca04ff7d065131de170d116e784a6f6415846 100644
--- a/chrome/browser/password_manager/password_store_mac.cc
+++ b/chrome/browser/password_manager/password_store_mac.cc
@@ -226,12 +226,13 @@ const PasswordForm* BestKeychainFormForForm(
// Iterates over all elements in |forms|, passes the pointed to objects to
// |mover|, and clears |forms| efficiently. FormMover needs to be a callable
-// entity, accepting scoped_ptr<autofill::PasswordForm> as its sole argument.
+// entity, accepting std::unique_ptr<autofill::PasswordForm> as its sole
+// argument.
template <typename FormMover>
inline void MoveAllFormsOut(ScopedVector<autofill::PasswordForm>* forms,
FormMover mover) {
for (autofill::PasswordForm* form_ptr : *forms) {
- mover(scoped_ptr<autofill::PasswordForm>(form_ptr));
+ mover(std::unique_ptr<autofill::PasswordForm>(form_ptr));
}
// We moved the ownership of every form out of |forms|. For performance
// reasons, we can just weak_clear it, instead of nullptr-ing the respective
@@ -497,13 +498,13 @@ void ExtractNonKeychainForms(ScopedVector<autofill::PasswordForm>* forms,
ScopedVector<autofill::PasswordForm>* extracted) {
extracted->reserve(extracted->size() + forms->size());
ScopedVector<autofill::PasswordForm> remaining;
- MoveAllFormsOut(
- forms, [&remaining, extracted](scoped_ptr<autofill::PasswordForm> form) {
- if (IsLoginDatabaseOnlyForm(*form))
- extracted->push_back(std::move(form));
- else
- remaining.push_back(std::move(form));
- });
+ MoveAllFormsOut(forms, [&remaining, extracted](
+ std::unique_ptr<autofill::PasswordForm> form) {
+ if (IsLoginDatabaseOnlyForm(*form))
+ extracted->push_back(std::move(form));
+ else
+ remaining.push_back(std::move(form));
+ });
forms->swap(remaining);
}
@@ -531,19 +532,20 @@ void MergePasswordForms(ScopedVector<autofill::PasswordForm>* keychain_forms,
// |unused_database_forms|, based on whether they have a match in the keychain
// forms or not. If there is a match, add its password to the DB form and
// mark the keychain form as used.
- MoveAllFormsOut(database_forms, [keychain_forms, &used_keychain_forms,
- merged_forms, &unused_database_forms](
- scoped_ptr<autofill::PasswordForm> form) {
- const PasswordForm* best_match =
- BestKeychainFormForForm(*form, keychain_forms->get());
- if (best_match) {
- used_keychain_forms.insert(best_match);
- form->password_value = best_match->password_value;
- merged_forms->push_back(std::move(form));
- } else {
- unused_database_forms.push_back(std::move(form));
- }
- });
+ MoveAllFormsOut(
+ database_forms,
+ [keychain_forms, &used_keychain_forms, merged_forms,
+ &unused_database_forms](std::unique_ptr<autofill::PasswordForm> form) {
+ const PasswordForm* best_match =
+ BestKeychainFormForForm(*form, keychain_forms->get());
+ if (best_match) {
+ used_keychain_forms.insert(best_match);
+ form->password_value = best_match->password_value;
+ merged_forms->push_back(std::move(form));
+ } else {
+ unused_database_forms.push_back(std::move(form));
+ }
+ });
database_forms->swap(unused_database_forms);
// Clear out all the Keychain entries we used.
@@ -600,17 +602,18 @@ void GetPasswordsForForms(const AppleKeychain& keychain,
unused_db_forms.reserve(database_forms->size());
// Move database forms with a password stored in |keychain| to |passwords|,
// including the password. The rest is moved to |unused_db_forms|.
- MoveAllFormsOut(database_forms,
- [&keychain, &item_form_pairs, passwords, &unused_db_forms](
- scoped_ptr<autofill::PasswordForm> form) {
- ScopedVector<autofill::PasswordForm> keychain_matches =
- ExtractPasswordsMergeableWithForm(keychain, item_form_pairs, *form);
-
- ScopedVector<autofill::PasswordForm> db_form_container;
- db_form_container.push_back(std::move(form));
- MergePasswordForms(&keychain_matches, &db_form_container, passwords);
- AppendSecondToFirst(&unused_db_forms, &db_form_container);
- });
+ MoveAllFormsOut(
+ database_forms,
+ [&keychain, &item_form_pairs, passwords,
+ &unused_db_forms](std::unique_ptr<autofill::PasswordForm> form) {
+ ScopedVector<autofill::PasswordForm> keychain_matches =
+ ExtractPasswordsMergeableWithForm(keychain, item_form_pairs, *form);
+
+ ScopedVector<autofill::PasswordForm> db_form_container;
+ db_form_container.push_back(std::move(form));
+ MergePasswordForms(&keychain_matches, &db_form_container, passwords);
+ AppendSecondToFirst(&unused_db_forms, &db_form_container);
+ });
database_forms->swap(unused_db_forms);
STLDeleteContainerPairSecondPointers(item_form_pairs.begin(),
@@ -685,7 +688,7 @@ ScopedVector<autofill::PasswordForm> ExtractPasswordsMergeableWithForm(
if (FormIsValidAndMatchesOtherForm(query_form, *(i->second))) {
// Create a new object, since the caller is responsible for deleting the
// returned forms.
- scoped_ptr<PasswordForm> form_with_password(new PasswordForm());
+ std::unique_ptr<PasswordForm> form_with_password(new PasswordForm());
FillPasswordFormFromKeychainItem(
keychain, *(i->first), form_with_password.get(),
true); // Load password attributes and data.
@@ -838,7 +841,7 @@ MacKeychainPasswordFormAdapter::ConvertKeychainItemsToForms(
std::vector<SecKeychainItemRef>* items) {
ScopedVector<autofill::PasswordForm> forms;
for (SecKeychainItemRef item : *items) {
- scoped_ptr<PasswordForm> form(new PasswordForm());
+ std::unique_ptr<PasswordForm> form(new PasswordForm());
if (internal_keychain_helpers::FillPasswordFormFromKeychainItem(
*keychain_, item, form.get(), true)) {
forms.push_back(std::move(form));
@@ -956,7 +959,7 @@ OSType MacKeychainPasswordFormAdapter::CreatorCodeForSearch() {
PasswordStoreMac::PasswordStoreMac(
scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner,
scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner,
- scoped_ptr<AppleKeychain> keychain)
+ std::unique_ptr<AppleKeychain> keychain)
: password_manager::PasswordStore(main_thread_runner, db_thread_runner),
keychain_(std::move(keychain)),
login_metadata_db_(nullptr) {
@@ -1145,13 +1148,14 @@ PasswordStoreChangeList PasswordStoreMac::RemoveLoginsByURLAndTimeImpl(
if (login_metadata_db_ &&
login_metadata_db_->GetLoginsCreatedBetween(delete_begin, delete_end,
&forms_to_consider)) {
- MoveAllFormsOut(&forms_to_consider,
- [this, &url_filter, &forms_to_remove](
- scoped_ptr<autofill::PasswordForm> form_to_consider) {
- if (url_filter.Run(form_to_consider->origin) &&
- login_metadata_db_->RemoveLogin(*form_to_consider))
- forms_to_remove.push_back(std::move(form_to_consider));
- });
+ MoveAllFormsOut(
+ &forms_to_consider,
+ [this, &url_filter, &forms_to_remove](
+ std::unique_ptr<autofill::PasswordForm> form_to_consider) {
+ if (url_filter.Run(form_to_consider->origin) &&
+ login_metadata_db_->RemoveLogin(*form_to_consider))
+ forms_to_remove.push_back(std::move(form_to_consider));
+ });
if (!forms_to_remove.empty()) {
RemoveKeychainForms(forms_to_remove.get());
CleanOrphanedForms(&forms_to_remove); // Add the orphaned forms.
@@ -1306,12 +1310,13 @@ void PasswordStoreMac::RemoveSiteStatsImpl(const GURL& origin_domain) {
login_metadata_db_->stats_table().RemoveRow(origin_domain);
}
-std::vector<scoped_ptr<password_manager::InteractionsStats>>
+std::vector<std::unique_ptr<password_manager::InteractionsStats>>
PasswordStoreMac::GetSiteStatsImpl(const GURL& origin_domain) {
DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
return login_metadata_db_
? login_metadata_db_->stats_table().GetRows(origin_domain)
- : std::vector<scoped_ptr<password_manager::InteractionsStats>>();
+ : std::vector<
+ std::unique_ptr<password_manager::InteractionsStats>>();
}
bool PasswordStoreMac::AddToKeychainIfNecessary(const PasswordForm& form) {
@@ -1347,7 +1352,7 @@ void PasswordStoreMac::RemoveDatabaseForms(
DCHECK(login_metadata_db_);
ScopedVector<autofill::PasswordForm> removed_forms;
MoveAllFormsOut(forms, [this, &removed_forms](
- scoped_ptr<autofill::PasswordForm> form) {
+ std::unique_ptr<autofill::PasswordForm> form) {
if (login_metadata_db_->RemoveLogin(*form))
removed_forms.push_back(std::move(form));
});
« no previous file with comments | « chrome/browser/password_manager/password_store_mac.h ('k') | chrome/browser/password_manager/password_store_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698