| Index: chrome/browser/ui/crypto_module_delegate_nss.cc
|
| diff --git a/chrome/browser/ui/crypto_module_delegate_nss.cc b/chrome/browser/ui/crypto_module_delegate_nss.cc
|
| index 5812e5491eafe72163eea83e005b3faaa032ba66..4add711e6877f531edca76e5bbb7a2820aeb8919 100644
|
| --- a/chrome/browser/ui/crypto_module_delegate_nss.cc
|
| +++ b/chrome/browser/ui/crypto_module_delegate_nss.cc
|
| @@ -6,8 +6,10 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/bind.h"
|
| -#include "chrome/browser/net/nss_context.h"
|
| +#include "base/callback.h"
|
| +#include "components/cert_database/public/cert_database_service_io_part.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "net/cert/nss_cert_database.h"
|
|
|
| using content::BrowserThread;
|
|
|
| @@ -17,7 +19,10 @@ void CreateWithSlot(chrome::CryptoModulePasswordReason reason,
|
| const net::HostPortPair& server,
|
| const base::Callback<void(
|
| scoped_ptr<ChromeNSSCryptoModuleDelegate>)>& callback,
|
| - crypto::ScopedPK11Slot slot) {
|
| + net::NSSCertDatabase* nss_cert_db) {
|
| + crypto::ScopedPK11Slot slot;
|
| + if (nss_cert_db)
|
| + slot = nss_cert_db->GetPrivateSlot();
|
| if (!slot) {
|
| callback.Run(scoped_ptr<ChromeNSSCryptoModuleDelegate>());
|
| return;
|
| @@ -45,19 +50,19 @@ ChromeNSSCryptoModuleDelegate::~ChromeNSSCryptoModuleDelegate() {}
|
| void ChromeNSSCryptoModuleDelegate::CreateForResourceContext(
|
| chrome::CryptoModulePasswordReason reason,
|
| const net::HostPortPair& server,
|
| - content::ResourceContext* context,
|
| + cert_database::CertDatabaseServiceIOPart* cert_db_io,
|
| const base::Callback<void(scoped_ptr<ChromeNSSCryptoModuleDelegate>)>&
|
| callback) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| DCHECK(!callback.is_null());
|
|
|
| - base::Callback<void(crypto::ScopedPK11Slot)> get_slot_callback =
|
| + base::Callback<void(net::NSSCertDatabase*)> get_nssdb_callback =
|
| base::Bind(&CreateWithSlot, reason, server, callback);
|
|
|
| - crypto::ScopedPK11Slot slot =
|
| - GetPrivateNSSKeySlotForResourceContext(context, get_slot_callback);
|
| - if (slot)
|
| - get_slot_callback.Run(slot.Pass());
|
| + net::NSSCertDatabase* nssdb =
|
| + cert_db_io->GetNSSCertDatabase(get_nssdb_callback);
|
| + if (nssdb)
|
| + get_nssdb_callback.Run(nssdb);
|
| }
|
|
|
| // TODO(mattm): allow choosing which slot to generate and store the key.
|
|
|