diff options
-rw-r--r-- | chrome/browser/ui/webui/options/certificate_manager_browsertest.cc | 4 | ||||
-rw-r--r-- | chromeos/cert_loader.cc | 33 | ||||
-rw-r--r-- | chromeos/dbus/cryptohome_client.cc | 7 |
3 files changed, 25 insertions, 19 deletions
diff --git a/chrome/browser/ui/webui/options/certificate_manager_browsertest.cc b/chrome/browser/ui/webui/options/certificate_manager_browsertest.cc index ba52cd7..1517808 100644 --- a/chrome/browser/ui/webui/options/certificate_manager_browsertest.cc +++ b/chrome/browser/ui/webui/options/certificate_manager_browsertest.cc @@ -25,6 +25,7 @@ #include "chrome/browser/policy/profile_policy_connector.h" #include "chrome/browser/policy/profile_policy_connector_factory.h" #include "chromeos/network/onc/onc_test_utils.h" +#include "crypto/nss_util.h" #endif using testing::AnyNumber; @@ -93,6 +94,9 @@ class CertificateManagerBrowserTest : public options::OptionsUIBrowserTest { } policy::MockConfigurationPolicyProvider provider_; +#if defined(OS_CHROMEOS) + crypto::ScopedTestNSSDB test_nssdb_; +#endif }; #if defined(OS_CHROMEOS) diff --git a/chromeos/cert_loader.cc b/chromeos/cert_loader.cc index d60b9d0..5d76711 100644 --- a/chromeos/cert_loader.cc +++ b/chromeos/cert_loader.cc @@ -44,8 +44,7 @@ base::TimeDelta GetNextRequestDelayMs(base::TimeDelta last_delay) { } void LoadNSSCertificates(net::CertificateList* cert_list) { - if (base::chromeos::IsRunningOnChromeOS()) - net::NSSCertDatabase::GetInstance()->ListCerts(cert_list); + net::NSSCertDatabase::GetInstance()->ListCerts(cert_list); } void CallOpenPersistentNSSDB() { @@ -54,8 +53,7 @@ void CallOpenPersistentNSSDB() { // Ensure we've opened the user's key/certificate database. crypto::OpenPersistentNSSDB(); - if (base::chromeos::IsRunningOnChromeOS()) - crypto::EnableTPMTokenForNSS(); + crypto::EnableTPMTokenForNSS(); } } // namespace @@ -77,8 +75,7 @@ void CertLoader::Shutdown() { // static CertLoader* CertLoader::Get() { - CHECK(g_cert_loader) - << "CertLoader::Get() called before Initialize()"; + CHECK(g_cert_loader) << "CertLoader::Get() called before Initialize()"; return g_cert_loader; } @@ -151,6 +148,9 @@ void CertLoader::MaybeRequestCertificates() { // Ensure we only initialize the TPM token once. DCHECK_EQ(tpm_token_state_, TPM_STATE_UNKNOWN); + if (!base::chromeos::IsRunningOnChromeOS()) + tpm_token_state_ = TPM_DISABLED; + InitializeTokenAndLoadCertificates(); } @@ -197,16 +197,14 @@ void CertLoader::InitializeTokenAndLoadCertificates() { return; } case TPM_TOKEN_INFO_RECEIVED: { - if (base::chromeos::IsRunningOnChromeOS()) { - base::PostTaskAndReplyWithResult( - crypto_task_runner_.get(), - FROM_HERE, - base::Bind(&crypto::InitializeTPMToken, - tpm_token_name_, tpm_user_pin_), - base::Bind(&CertLoader::OnTPMTokenInitialized, - initialize_token_factory_.GetWeakPtr())); - return; - } + base::PostTaskAndReplyWithResult( + crypto_task_runner_.get(), + FROM_HERE, + base::Bind( + &crypto::InitializeTPMToken, tpm_token_name_, tpm_user_pin_), + base::Bind(&CertLoader::OnTPMTokenInitialized, + initialize_token_factory_.GetWeakPtr())); + return; tpm_token_state_ = TPM_TOKEN_INITIALIZED; // FALL_THROUGH_INTENDED } @@ -349,8 +347,9 @@ void CertLoader::UpdateCertificates(net::CertificateList* cert_list) { // Ignore any existing certificates. cert_list_.swap(*cert_list); - NotifyCertificatesLoaded(!certificates_loaded_); + bool initial_load = !certificates_loaded_; certificates_loaded_ = true; + NotifyCertificatesLoaded(initial_load); certificates_update_running_ = false; if (certificates_update_required_) diff --git a/chromeos/dbus/cryptohome_client.cc b/chromeos/dbus/cryptohome_client.cc index a766d09..6ba9834 100644 --- a/chromeos/dbus/cryptohome_client.cc +++ b/chromeos/dbus/cryptohome_client.cc @@ -1033,8 +1033,11 @@ class CryptohomeClientStubImpl : public CryptohomeClient { const char kStubLabel[] = "Stub TPM Token"; const char kStubUserPin[] = "012345"; base::MessageLoop::current()->PostTask( - FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, kStubLabel, - kStubUserPin)); + FROM_HERE, + base::Bind(callback, + DBUS_METHOD_CALL_SUCCESS, + std::string(kStubLabel), + std::string(kStubUserPin))); } // CryptohomeClient override. |