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..f14829dabab8be2192fe33530e7f7aa1d2075a87 100644 |
--- a/chrome/browser/ui/crypto_module_delegate_nss.cc |
+++ b/chrome/browser/ui/crypto_module_delegate_nss.cc |
@@ -6,18 +6,24 @@ |
#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; |
namespace { |
-void CreateWithSlot(chrome::CryptoModulePasswordReason reason, |
- const net::HostPortPair& server, |
- const base::Callback<void( |
- scoped_ptr<ChromeNSSCryptoModuleDelegate>)>& callback, |
- crypto::ScopedPK11Slot slot) { |
+void CreateWithNSSCertDB( |
+ chrome::CryptoModulePasswordReason reason, |
+ const net::HostPortPair& server, |
+ const base::Callback<void(scoped_ptr<ChromeNSSCryptoModuleDelegate>)>& |
+ callback, |
+ 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; |
@@ -42,22 +48,22 @@ ChromeNSSCryptoModuleDelegate::ChromeNSSCryptoModuleDelegate( |
ChromeNSSCryptoModuleDelegate::~ChromeNSSCryptoModuleDelegate() {} |
// static |
-void ChromeNSSCryptoModuleDelegate::CreateForResourceContext( |
+void ChromeNSSCryptoModuleDelegate::CreateForCertDatabase( |
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::Bind(&CreateWithSlot, reason, server, callback); |
+ base::Callback<void(net::NSSCertDatabase*)> got_nssdb_callback = |
+ base::Bind(&CreateWithNSSCertDB, 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(got_nssdb_callback); |
+ if (nssdb) |
+ got_nssdb_callback.Run(nssdb); |
} |
// TODO(mattm): allow choosing which slot to generate and store the key. |