summaryrefslogtreecommitdiffstats
path: root/chrome/browser/webdata/web_data_service.cc
diff options
context:
space:
mode:
authorpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-12 22:39:14 +0000
committerpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-12 22:39:14 +0000
commit603c1d0ce8f84241739005df226f5e31494dd3cd (patch)
tree509914ea91ab2fde93a3bdc156fd7c2902bf70f6 /chrome/browser/webdata/web_data_service.cc
parent4fb8792e0d0960bf776f67e43e878beedd6f0463 (diff)
downloadchromium_src-603c1d0ce8f84241739005df226f5e31494dd3cd.zip
chromium_src-603c1d0ce8f84241739005df226f5e31494dd3cd.tar.gz
chromium_src-603c1d0ce8f84241739005df226f5e31494dd3cd.tar.bz2
New functions in WebDatabase and WebDataService for the removal of form entries made between two given times. BrowserDataRemover::Remove now clears autofill data.
BUG=3870 Review URL: http://codereview.chromium.org/9775 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5312 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/webdata/web_data_service.cc')
-rw-r--r--chrome/browser/webdata/web_data_service.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/chrome/browser/webdata/web_data_service.cc b/chrome/browser/webdata/web_data_service.cc
index 002977c..e3e3f44 100644
--- a/chrome/browser/webdata/web_data_service.cc
+++ b/chrome/browser/webdata/web_data_service.cc
@@ -342,6 +342,19 @@ void WebDataService::RemoveLoginsCreatedAfter(const Time delete_begin) {
RemoveLoginsCreatedBetween(delete_begin, Time());
}
+void WebDataService::RemoveFormElementsAddedBetween(const Time& delete_begin,
+ const Time& delete_end) {
+ GenericRequest2<Time, Time>* request =
+ new GenericRequest2<Time, Time>(this,
+ GetNextRequestHandle(),
+ NULL,
+ delete_begin,
+ delete_end);
+ RegisterRequest(request);
+ ScheduleTask(NewRunnableMethod(this,
+ &WebDataService::RemoveFormElementsAddedBetweenImpl, request));
+}
+
WebDataService::Handle WebDataService::GetLogins(
const PasswordForm& form,
WebDataServiceConsumer* consumer) {
@@ -615,6 +628,16 @@ void WebDataService::GetFormValuesForElementNameImpl(WebDataRequest* request,
request->RequestComplete();
}
+void WebDataService::RemoveFormElementsAddedBetweenImpl(
+ GenericRequest2<Time, Time>* request) {
+ if (db_ && !request->IsCancelled()) {
+ if (db_->RemoveFormElementsAddedBetween(request->GetArgument1(),
+ request->GetArgument2()))
+ ScheduleCommit();
+ }
+ request->RequestComplete();
+}
+
////////////////////////////////////////////////////////////////////////////////
//
// Web Apps implementation.