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 |