summaryrefslogtreecommitdiffstats
path: root/chrome/browser/webdata/web_data_service_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/webdata/web_data_service_win.cc')
-rw-r--r--chrome/browser/webdata/web_data_service_win.cc65
1 files changed, 65 insertions, 0 deletions
diff --git a/chrome/browser/webdata/web_data_service_win.cc b/chrome/browser/webdata/web_data_service_win.cc
new file mode 100644
index 0000000..7219b82
--- /dev/null
+++ b/chrome/browser/webdata/web_data_service_win.cc
@@ -0,0 +1,65 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/webdata/web_data_service.h"
+
+#include "chrome/browser/password_manager/ie7_password.h"
+
+void WebDataService::AddIE7Login(const IE7PasswordInfo& info) {
+ GenericRequest<IE7PasswordInfo>* request =
+ new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(), NULL,
+ info);
+ RegisterRequest(request);
+ ScheduleTask(NewRunnableMethod(this, &WebDataService::AddIE7LoginImpl,
+ request));
+}
+
+void WebDataService::RemoveIE7Login(const IE7PasswordInfo& info) {
+ GenericRequest<IE7PasswordInfo>* request =
+ new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(), NULL,
+ info);
+ RegisterRequest(request);
+ ScheduleTask(NewRunnableMethod(this, &WebDataService::RemoveIE7LoginImpl,
+ request));
+}
+
+WebDataService::Handle WebDataService::GetIE7Login(
+ const IE7PasswordInfo& info,
+ WebDataServiceConsumer* consumer) {
+ GenericRequest<IE7PasswordInfo>* request =
+ new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(),
+ consumer, info);
+ RegisterRequest(request);
+ ScheduleTask(NewRunnableMethod(this, &WebDataService::GetIE7LoginImpl,
+ request));
+ return request->GetHandle();
+}
+
+void WebDataService::AddIE7LoginImpl(GenericRequest<IE7PasswordInfo>* request) {
+ if (db_ && !request->IsCancelled()) {
+ if (db_->AddIE7Login(request->GetArgument()))
+ ScheduleCommit();
+ }
+ request->RequestComplete();
+}
+
+void WebDataService::RemoveIE7LoginImpl(
+ GenericRequest<IE7PasswordInfo>* request) {
+ if (db_ && !request->IsCancelled()) {
+ if (db_->RemoveIE7Login(request->GetArgument()))
+ ScheduleCommit();
+ }
+ request->RequestComplete();
+}
+
+void WebDataService::GetIE7LoginImpl(
+ GenericRequest<IE7PasswordInfo>* request) {
+ if (db_ && !request->IsCancelled()) {
+ IE7PasswordInfo result;
+ db_->GetIE7Login(request->GetArgument(), &result);
+ request->SetResult(
+ new WDResult<IE7PasswordInfo>(PASSWORD_IE7_RESULT, result));
+ }
+ request->RequestComplete();
+}