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

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

Issue 1480153002: Investigate Android build problems in review 1414463004. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Add //url dep on GN test_support target. Created 5 years 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 63a7e706f859b579e466ac73e4794dd1fd264b51..13f09dc1d9bfb5178d5860eb84c338e7032ebdee 100644
--- a/chrome/browser/password_manager/password_store_mac.cc
+++ b/chrome/browser/password_manager/password_store_mac.cc
@@ -27,6 +27,7 @@
#include "components/password_manager/core/browser/password_store_change.h"
#include "content/public/browser/browser_thread.h"
#include "crypto/apple_keychain.h"
+#include "url/origin.h"
using autofill::PasswordForm;
using crypto::AppleKeychain;
@@ -1132,6 +1133,34 @@ PasswordStoreChangeList PasswordStoreMac::RemoveLoginImpl(
return changes;
}
+PasswordStoreChangeList PasswordStoreMac::RemoveLoginsByOriginAndTimeImpl(
+ const url::Origin& origin,
+ base::Time delete_begin,
+ base::Time delete_end) {
+ PasswordStoreChangeList changes;
+ ScopedVector<PasswordForm> forms_to_consider;
+ ScopedVector<PasswordForm> forms_to_remove;
+ if (login_metadata_db_ &&
+ login_metadata_db_->GetLoginsCreatedBetween(delete_begin, delete_end,
+ &forms_to_consider)) {
+ MoveAllFormsOut(
+ &forms_to_consider,
+ [this, &origin, &forms_to_remove](
+ scoped_ptr<autofill::PasswordForm> form_to_consider) {
+ if (origin.IsSameOriginWith(url::Origin(form_to_consider->origin)) &&
+ login_metadata_db_->RemoveLogin(*form_to_consider))
+ forms_to_remove.push_back(form_to_consider.Pass());
+ });
+ if (!forms_to_remove.empty()) {
+ RemoveKeychainForms(forms_to_remove.get());
+ CleanOrphanedForms(&forms_to_remove); // Add the orphaned forms.
+ changes = FormsToRemoveChangeList(forms_to_remove.get());
+ LogStatsForBulkDeletion(changes.size());
+ }
+ }
+ return changes;
+}
+
PasswordStoreChangeList PasswordStoreMac::RemoveLoginsCreatedBetweenImpl(
base::Time delete_begin,
base::Time delete_end) {

Powered by Google App Engine
This is Rietveld 408576698