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

Unified Diff: components/password_manager/core/browser/password_store.cc

Issue 1369173002: Implement origin-based deletion for passwords in PasswordDefaultStore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Drain message loop during fixture teardown Created 5 years, 2 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: components/password_manager/core/browser/password_store.cc
diff --git a/components/password_manager/core/browser/password_store.cc b/components/password_manager/core/browser/password_store.cc
index 6a1e3110c05ca5d3078e4c948e3a1d84d48be5a0..6ca80b08001767e45c56c1b3ee30b25430ed438f 100644
--- a/components/password_manager/core/browser/password_store.cc
+++ b/components/password_manager/core/browser/password_store.cc
@@ -14,6 +14,7 @@
#include "components/password_manager/core/browser/affiliated_match_helper.h"
#include "components/password_manager/core/browser/password_store_consumer.h"
#include "components/password_manager/core/browser/password_syncable_service.h"
+#include "url/origin.h"
using autofill::PasswordForm;
@@ -108,6 +109,15 @@ void PasswordStore::RemoveLogin(const PasswordForm& form) {
ScheduleTask(base::Bind(&PasswordStore::RemoveLoginInternal, this, form));
}
+void PasswordStore::RemoveLoginsByOriginAndTime(
+ const url::Origin& origin,
+ base::Time delete_begin,
+ base::Time delete_end,
+ const base::Closure& completion) {
+ ScheduleTask(base::Bind(&PasswordStore::RemoveLoginsByOriginAndTimeInternal,
+ this, origin, delete_begin, delete_end, completion));
+}
+
void PasswordStore::RemoveLoginsCreatedBetween(
base::Time delete_begin,
base::Time delete_end,
@@ -332,6 +342,18 @@ void PasswordStore::UpdateLoginWithPrimaryKeyInternal(
NotifyLoginsChanged(all_changes);
}
+void PasswordStore::RemoveLoginsByOriginAndTimeInternal(
+ const url::Origin& origin,
+ base::Time delete_begin,
+ base::Time delete_end,
+ const base::Closure& completion) {
+ PasswordStoreChangeList changes =
+ RemoveLoginsByOriginAndTimeImpl(origin, delete_begin, delete_end);
+ NotifyLoginsChanged(changes);
+ if (!completion.is_null())
+ main_thread_runner_->PostTask(FROM_HERE, completion);
+}
+
void PasswordStore::RemoveLoginsCreatedBetweenInternal(
base::Time delete_begin,
base::Time delete_end,
@@ -538,4 +560,16 @@ void PasswordStore::DestroySyncableService() {
syncable_service_.reset();
}
+// No-op implementation of RemoveLoginsByOriginAndTimeImpl to please the
+// compiler on derived classes that have not yet provided an implementation on
+// their own.
+// TODO(ttr314@googlemail.com): Once crbug.com/113973 is done, remove default
+// implementation and mark method as pure virtual.
+PasswordStoreChangeList PasswordStore::RemoveLoginsByOriginAndTimeImpl(
+ const url::Origin& origin,
+ base::Time delete_begin,
+ base::Time delete_end) {
+ return PasswordStoreChangeList();
+}
+
} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698