| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/password_manager/password_store_mac.h" | 5 #include "chrome/browser/password_manager/password_store_mac.h" |
| 6 | 6 |
| 7 #include <CoreServices/CoreServices.h> | 7 #include <CoreServices/CoreServices.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1189 &forms_to_remove) && | 1189 &forms_to_remove) && |
| 1190 login_metadata_db_->RemoveLoginsSyncedBetween(delete_begin, delete_end)) { | 1190 login_metadata_db_->RemoveLoginsSyncedBetween(delete_begin, delete_end)) { |
| 1191 RemoveKeychainForms(forms_to_remove.get()); | 1191 RemoveKeychainForms(forms_to_remove.get()); |
| 1192 CleanOrphanedForms(&forms_to_remove); // Add the orphaned forms_to_remove. | 1192 CleanOrphanedForms(&forms_to_remove); // Add the orphaned forms_to_remove. |
| 1193 changes = FormsToRemoveChangeList(forms_to_remove.get()); | 1193 changes = FormsToRemoveChangeList(forms_to_remove.get()); |
| 1194 LogStatsForBulkDeletionDuringRollback(changes.size()); | 1194 LogStatsForBulkDeletionDuringRollback(changes.size()); |
| 1195 } | 1195 } |
| 1196 return changes; | 1196 return changes; |
| 1197 } | 1197 } |
| 1198 | 1198 |
| 1199 PasswordStoreChangeList PasswordStoreMac::DisableAutoSignInForAllLoginsImpl() { | 1199 PasswordStoreChangeList PasswordStoreMac::DisableAutoSignInForOriginsImpl( |
| 1200 ScopedVector<PasswordForm> forms; | 1200 const base::Callback<bool(const GURL&)>& origin_filter) { |
| 1201 PasswordStoreChangeList list; | 1201 ScopedVector<autofill::PasswordForm> forms; |
| 1202 if (login_metadata_db_ && login_metadata_db_->GetAutoSignInLogins(&forms) && | 1202 PasswordStoreChangeList changes; |
| 1203 login_metadata_db_->DisableAutoSignInForAllLogins()) { | 1203 if (!login_metadata_db_ || |
| 1204 for (const auto& form : forms) | 1204 !login_metadata_db_->GetAutoSignInLogins(&forms)) { |
| 1205 list.push_back(PasswordStoreChange(PasswordStoreChange::UPDATE, *form)); | 1205 return changes; |
| 1206 } | 1206 } |
| 1207 | 1207 |
| 1208 return list; | 1208 std::set<GURL> origins_to_update; |
| 1209 for (const auto* form : forms) { |
| 1210 if (origin_filter.Run(form->origin)) |
| 1211 origins_to_update.insert(form->origin); |
| 1212 } |
| 1213 |
| 1214 std::set<GURL> origins_updated; |
| 1215 for (const GURL& origin : origins_to_update) { |
| 1216 if (login_metadata_db_->DisableAutoSignInForOrigin(origin)) |
| 1217 origins_updated.insert(origin); |
| 1218 } |
| 1219 |
| 1220 for (const auto* form : forms) { |
| 1221 if (origins_updated.count(form->origin)) { |
| 1222 changes.push_back( |
| 1223 PasswordStoreChange(PasswordStoreChange::UPDATE, *form)); |
| 1224 } |
| 1225 } |
| 1226 |
| 1227 return changes; |
| 1209 } | 1228 } |
| 1210 | 1229 |
| 1211 bool PasswordStoreMac::RemoveStatisticsCreatedBetweenImpl( | 1230 bool PasswordStoreMac::RemoveStatisticsCreatedBetweenImpl( |
| 1212 base::Time delete_begin, | 1231 base::Time delete_begin, |
| 1213 base::Time delete_end) { | 1232 base::Time delete_end) { |
| 1214 return login_metadata_db_ && | 1233 return login_metadata_db_ && |
| 1215 login_metadata_db_->stats_table().RemoveStatsBetween(delete_begin, | 1234 login_metadata_db_->stats_table().RemoveStatsBetween(delete_begin, |
| 1216 delete_end); | 1235 delete_end); |
| 1217 } | 1236 } |
| 1218 | 1237 |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1377 ScopedVector<PasswordForm> forms_with_keychain_entry; | 1396 ScopedVector<PasswordForm> forms_with_keychain_entry; |
| 1378 internal_keychain_helpers::GetPasswordsForForms(*keychain_, &database_forms, | 1397 internal_keychain_helpers::GetPasswordsForForms(*keychain_, &database_forms, |
| 1379 &forms_with_keychain_entry); | 1398 &forms_with_keychain_entry); |
| 1380 | 1399 |
| 1381 // Clean up any orphaned database entries. | 1400 // Clean up any orphaned database entries. |
| 1382 RemoveDatabaseForms(&database_forms); | 1401 RemoveDatabaseForms(&database_forms); |
| 1383 | 1402 |
| 1384 // Move the orphaned DB forms to the output parameter. | 1403 // Move the orphaned DB forms to the output parameter. |
| 1385 AppendSecondToFirst(orphaned_forms, &database_forms); | 1404 AppendSecondToFirst(orphaned_forms, &database_forms); |
| 1386 } | 1405 } |
| OLD | NEW |