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 |