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