| 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_x.h" | 5 #include "chrome/browser/password_manager/password_store_x.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 if (use_native_backend() && backend_->RemoveLogin(form)) { | 80 if (use_native_backend() && backend_->RemoveLogin(form)) { |
| 81 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, form)); | 81 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, form)); |
| 82 allow_fallback_ = false; | 82 allow_fallback_ = false; |
| 83 } else if (allow_default_store()) { | 83 } else if (allow_default_store()) { |
| 84 changes = PasswordStoreDefault::RemoveLoginImpl(form); | 84 changes = PasswordStoreDefault::RemoveLoginImpl(form); |
| 85 } | 85 } |
| 86 return changes; | 86 return changes; |
| 87 } | 87 } |
| 88 | 88 |
| 89 PasswordStoreChangeList PasswordStoreX::RemoveLoginsCreatedBetweenImpl( | 89 PasswordStoreChangeList PasswordStoreX::RemoveLoginsCreatedBetweenImpl( |
| 90 const base::Time& delete_begin, | 90 base::Time delete_begin, |
| 91 const base::Time& delete_end) { | 91 base::Time delete_end) { |
| 92 CheckMigration(); | 92 CheckMigration(); |
| 93 vector<PasswordForm*> forms; | |
| 94 PasswordStoreChangeList changes; | 93 PasswordStoreChangeList changes; |
| 95 if (use_native_backend() && | 94 if (use_native_backend() && |
| 96 backend_->GetLoginsCreatedBetween(delete_begin, delete_end, &forms) && | 95 backend_->RemoveLoginsCreatedBetween( |
| 97 backend_->RemoveLoginsCreatedBetween(delete_begin, delete_end)) { | 96 delete_begin, delete_end, &changes)) { |
| 98 for (vector<PasswordForm*>::const_iterator it = forms.begin(); | |
| 99 it != forms.end(); ++it) { | |
| 100 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, | |
| 101 **it)); | |
| 102 } | |
| 103 LogStatsForBulkDeletion(changes.size()); | 97 LogStatsForBulkDeletion(changes.size()); |
| 104 allow_fallback_ = false; | 98 allow_fallback_ = false; |
| 105 } else if (allow_default_store()) { | 99 } else if (allow_default_store()) { |
| 106 changes = PasswordStoreDefault::RemoveLoginsCreatedBetweenImpl(delete_begin, | 100 changes = PasswordStoreDefault::RemoveLoginsCreatedBetweenImpl(delete_begin, |
| 107 delete_end); | 101 delete_end); |
| 108 } | 102 } |
| 109 STLDeleteElements(&forms); | |
| 110 return changes; | 103 return changes; |
| 111 } | 104 } |
| 112 | 105 |
| 113 PasswordStoreChangeList PasswordStoreX::RemoveLoginsSyncedBetweenImpl( | 106 PasswordStoreChangeList PasswordStoreX::RemoveLoginsSyncedBetweenImpl( |
| 114 base::Time delete_begin, | 107 base::Time delete_begin, |
| 115 base::Time delete_end) { | 108 base::Time delete_end) { |
| 116 CheckMigration(); | 109 CheckMigration(); |
| 117 PasswordStoreChangeList changes; | 110 PasswordStoreChangeList changes; |
| 118 if (use_native_backend() && | 111 if (use_native_backend() && |
| 119 backend_->RemoveLoginsSyncedBetween(delete_begin, delete_end, &changes)) { | 112 backend_->RemoveLoginsSyncedBetween(delete_begin, delete_end, &changes)) { |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 // it before deleting the file just in case there is some problem deleting | 275 // it before deleting the file just in case there is some problem deleting |
| 283 // the file (e.g. directory is not writable, but file is), which would | 276 // the file (e.g. directory is not writable, but file is), which would |
| 284 // otherwise cause passwords to re-migrate next (or maybe every) time. | 277 // otherwise cause passwords to re-migrate next (or maybe every) time. |
| 285 DeleteAndRecreateDatabaseFile(); | 278 DeleteAndRecreateDatabaseFile(); |
| 286 } | 279 } |
| 287 } | 280 } |
| 288 ssize_t result = ok ? forms.size() : -1; | 281 ssize_t result = ok ? forms.size() : -1; |
| 289 STLDeleteElements(&forms); | 282 STLDeleteElements(&forms); |
| 290 return result; | 283 return result; |
| 291 } | 284 } |
| OLD | NEW |