Chromium Code Reviews| Index: chrome/browser/net/nss_context_linux.cc |
| diff --git a/chrome/browser/net/nss_context_linux.cc b/chrome/browser/net/nss_context_linux.cc |
| index 5aa18e6bb64f8196a01154eef396c0c84d7fe332..9c0701d2c204c7b0f64c8b0ffa8fa6d233299f56 100644 |
| --- a/chrome/browser/net/nss_context_linux.cc |
| +++ b/chrome/browser/net/nss_context_linux.cc |
| @@ -8,6 +8,10 @@ |
| #include "crypto/nss_util_internal.h" |
| #include "net/cert/nss_cert_database.h" |
| +namespace { |
| +net::NSSCertDatabase* g_nss_cert_database = NULL; |
| +} // namespace |
| + |
| crypto::ScopedPK11Slot GetPublicNSSKeySlotForResourceContext( |
| content::ResourceContext* context) { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
| @@ -25,5 +29,9 @@ net::NSSCertDatabase* GetNSSCertDatabaseForResourceContext( |
| content::ResourceContext* context, |
| const base::Callback<void(net::NSSCertDatabase*)>& callback) { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
| - return net::NSSCertDatabase::GetInstance(); |
| + if (!g_nss_cert_database) { |
| + g_nss_cert_database = new net::NSSCertDatabase( |
| + crypto::ScopedPK11Slot(crypto::GetPersistentNSSKeySlot())); |
| + } |
| + return g_nss_cert_database; |
|
Ryan Sleevi
2014/07/22 01:18:32
The only reason this is safe is because of the DCH
pneubeck (no reviews)
2014/07/22 08:23:56
The DCHECK indicates that we already don't handle
|
| } |