Chromium Code Reviews| Index: chrome/browser/certificate_manager_model.cc |
| diff --git a/chrome/browser/certificate_manager_model.cc b/chrome/browser/certificate_manager_model.cc |
| index e932883638c538e2f7b5fbd667894bb568b770e5..141f91c7e09b1aff49835f730e94881c716a83fa 100644 |
| --- a/chrome/browser/certificate_manager_model.cc |
| +++ b/chrome/browser/certificate_manager_model.cc |
| @@ -8,10 +8,12 @@ |
| #include "base/i18n/time_formatting.h" |
| #include "base/logging.h" |
| #include "base/strings/utf_string_conversions.h" |
| -#include "chrome/browser/net/nss_context.h" |
| +#include "chrome/browser/net/cert_database_service_factory.h" |
| #include "chrome/browser/ui/crypto_module_password_dialog_nss.h" |
| #include "chrome/common/net/x509_certificate_model.h" |
| #include "chrome/grit/generated_resources.h" |
| +#include "components/cert_database/public/cert_database_service.h" |
| +#include "components/cert_database/public/cert_database_service_io_part.h" |
| #include "content/public/browser/browser_context.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/resource_context.h" |
| @@ -32,10 +34,12 @@ using content::BrowserThread; |
| // UI thread IO Thread |
| // |
| // CertificateManagerModel::Create |
| +// | |
| +// CertDatabaseService::GetIOPart |
| // \--------------------------------------v |
| // CertificateManagerModel::GetCertDBOnIOThread |
| // | |
| -// GetNSSCertDatabaseForResourceContext |
| +// CertDatabaseServiceIOPart::GetNSSCertDatabase |
| // | |
| // CertificateManagerModel::DidGetCertDBOnIOThread |
| // | |
| @@ -53,11 +57,14 @@ void CertificateManagerModel::Create( |
| CertificateManagerModel::Observer* observer, |
| const CreationCallback& callback) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + cert_database::CertDatabaseService* cert_db_service = |
| + cert_database::CertDatabaseServiceFactory::GetForBrowserContext( |
| + browser_context); |
| BrowserThread::PostTask( |
| BrowserThread::IO, |
| FROM_HERE, |
| base::Bind(&CertificateManagerModel::GetCertDBOnIOThread, |
| - browser_context->GetResourceContext(), |
| + cert_db_service->GetIOPart(), |
|
Joao da Silva
2014/10/30 09:48:00
cert_database_service_factory_chromeos.cc returns
pneubeck (no reviews)
2014/11/05 14:53:36
Done.
|
| observer, |
| callback)); |
| } |
| @@ -245,15 +252,19 @@ void CertificateManagerModel::DidGetCertDBOnIOThread( |
| // static |
| void CertificateManagerModel::GetCertDBOnIOThread( |
| - content::ResourceContext* context, |
| + base::WeakPtr<cert_database::CertDatabaseServiceIOPart> cert_db_service_io, |
| CertificateManagerModel::Observer* observer, |
| const CreationCallback& callback) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| - net::NSSCertDatabase* cert_db = GetNSSCertDatabaseForResourceContext( |
| - context, |
| - base::Bind(&CertificateManagerModel::DidGetCertDBOnIOThread, |
| - observer, |
| - callback)); |
| + // If the CertDatabase is shutting down already, there's no need to finish the |
| + // certificate manager's initialization. |
| + if (!cert_db_service_io) |
| + return; |
| + |
| + base::Callback<void(net::NSSCertDatabase*)> get_db_callback = base::Bind( |
| + &CertificateManagerModel::DidGetCertDBOnIOThread, observer, callback); |
| + net::NSSCertDatabase* cert_db = |
| + cert_db_service_io->GetNSSCertDatabase(get_db_callback); |
| if (cert_db) |
| - DidGetCertDBOnIOThread(observer, callback, cert_db); |
| + get_db_callback.Run(cert_db); |
| } |