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 4829a4ab320bfd940d1eab36c1a2adc74f5eddd7..daefc12b2bec456c872332318389abd74f0e73f6 100644 |
--- a/chrome/browser/ui/crypto_module_delegate_nss.cc |
+++ b/chrome/browser/ui/crypto_module_delegate_nss.cc |
@@ -6,7 +6,6 @@ |
#include "base/basictypes.h" |
#include "base/bind.h" |
-#include "chrome/browser/net/nss_context.h" |
#include "content/public/browser/browser_thread.h" |
using content::BrowserThread; |
@@ -22,19 +21,24 @@ ChromeNSSCryptoModuleDelegate::ChromeNSSCryptoModuleDelegate( |
ChromeNSSCryptoModuleDelegate::~ChromeNSSCryptoModuleDelegate() {} |
bool ChromeNSSCryptoModuleDelegate::InitializeSlot( |
- content::ResourceContext* context, |
- const base::Closure& initialization_complete_callback) { |
+ const base::Closure& initialization_complete_callback, |
+ CertDatabaseServiceIOPart* cert_db_io) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
DCHECK(!slot_); |
- base::Callback<void(crypto::ScopedPK11Slot)> get_slot_callback; |
- if (!initialization_complete_callback.is_null()) |
- get_slot_callback = base::Bind(&ChromeNSSCryptoModuleDelegate::DidGetSlot, |
- // Caller is responsible for keeping |this| |
- // alive until the callback is run. |
- base::Unretained(this), |
- initialization_complete_callback); |
+ base::Callback<void(net::NSSCertDatabase*)> get_nss_cert_db_callback; |
+ if (!initialization_complete_callback.is_null()) { |
+ get_nss_cert_db_callback = |
+ base::Bind(&ChromeNSSCryptoModuleDelegate::DidGetNSSCertDB, |
+ // Caller is responsible for keeping |this| |
+ // alive until the callback is run. |
+ base::Unretained(this), |
+ initialization_complete_callback); |
+ } |
- slot_ = GetPrivateNSSKeySlotForResourceContext(context, get_slot_callback); |
+ net::NSSCertDatabase* nss_cert_db = |
+ cert_db_io->GetNSSCertDatabase(get_nss_cert_db_callback); |
+ if (nss_cert_db) |
+ slot_ = nss_cert_db->GetPrivateSlot(); |
return slot_.get() != NULL; |
} |
@@ -88,10 +92,11 @@ void ChromeNSSCryptoModuleDelegate::GotPassword(const std::string& password) { |
event_.Signal(); |
} |
-void ChromeNSSCryptoModuleDelegate::DidGetSlot(const base::Closure& callback, |
- crypto::ScopedPK11Slot slot) { |
+void ChromeNSSCryptoModuleDelegate::DidGetNSSCertDB( |
+ const base::Closure& callback, |
+ net::NSSCertDatabase* nss_cert_db) { |
DCHECK(!slot_); |
- slot_ = slot.Pass(); |
+ slot_ = nss_cert_db->GetPrivateSlot(); |
callback.Run(); |
} |