| 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 |