• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/webdata/web_data_service.h"
6 
7 #include "base/task.h"
8 #include "chrome/browser/password_manager/ie7_password.h"
9 #include "chrome/browser/webdata/web_database.h"
10 
AddIE7Login(const IE7PasswordInfo & info)11 void WebDataService::AddIE7Login(const IE7PasswordInfo& info) {
12   GenericRequest<IE7PasswordInfo>* request =
13       new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(), NULL,
14                                           info);
15   RegisterRequest(request);
16   ScheduleTask(NewRunnableMethod(this, &WebDataService::AddIE7LoginImpl,
17                                  request));
18 }
19 
RemoveIE7Login(const IE7PasswordInfo & info)20 void WebDataService::RemoveIE7Login(const IE7PasswordInfo& info) {
21   GenericRequest<IE7PasswordInfo>* request =
22       new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(), NULL,
23                                           info);
24   RegisterRequest(request);
25   ScheduleTask(NewRunnableMethod(this, &WebDataService::RemoveIE7LoginImpl,
26                                  request));
27 }
28 
GetIE7Login(const IE7PasswordInfo & info,WebDataServiceConsumer * consumer)29 WebDataService::Handle WebDataService::GetIE7Login(
30     const IE7PasswordInfo& info,
31     WebDataServiceConsumer* consumer) {
32   GenericRequest<IE7PasswordInfo>* request =
33       new GenericRequest<IE7PasswordInfo>(this, GetNextRequestHandle(),
34                                           consumer, info);
35   RegisterRequest(request);
36   ScheduleTask(NewRunnableMethod(this, &WebDataService::GetIE7LoginImpl,
37                                  request));
38   return request->GetHandle();
39 }
40 
AddIE7LoginImpl(GenericRequest<IE7PasswordInfo> * request)41 void WebDataService::AddIE7LoginImpl(GenericRequest<IE7PasswordInfo>* request) {
42   if (db_ && !request->IsCancelled()) {
43     if (db_->GetLoginsTable()->AddIE7Login(request->GetArgument()))
44       ScheduleCommit();
45   }
46   request->RequestComplete();
47 }
48 
RemoveIE7LoginImpl(GenericRequest<IE7PasswordInfo> * request)49 void WebDataService::RemoveIE7LoginImpl(
50     GenericRequest<IE7PasswordInfo>* request) {
51   if (db_ && !request->IsCancelled()) {
52     if (db_->GetLoginsTable()->RemoveIE7Login(request->GetArgument()))
53       ScheduleCommit();
54   }
55   request->RequestComplete();
56 }
57 
GetIE7LoginImpl(GenericRequest<IE7PasswordInfo> * request)58 void WebDataService::GetIE7LoginImpl(
59     GenericRequest<IE7PasswordInfo>* request) {
60   if (db_ && !request->IsCancelled()) {
61     IE7PasswordInfo result;
62     db_->GetLoginsTable()->GetIE7Login(request->GetArgument(), &result);
63     request->SetResult(
64         new WDResult<IE7PasswordInfo>(PASSWORD_IE7_RESULT, result));
65   }
66   request->RequestComplete();
67 }
68