summaryrefslogtreecommitdiffstats
path: root/chromeos/cert_loader.cc
diff options
context:
space:
mode:
authorpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 11:31:27 +0000
committerpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 11:31:27 +0000
commit16674118b704a7e6482fe0aaadd584a61969640e (patch)
tree67bcf8efe783fd2a5c91d59fc06ed0841ec41333 /chromeos/cert_loader.cc
parent1af6687eb88d8aba8e1ea7b232f8de89d4f00537 (diff)
downloadchromium_src-16674118b704a7e6482fe0aaadd584a61969640e.zip
chromium_src-16674118b704a7e6482fe0aaadd584a61969640e.tar.gz
chromium_src-16674118b704a7e6482fe0aaadd584a61969640e.tar.bz2
Fix CertLoader certificates_loaded() during notification.
Also remove the conditional loading of certificates, which prevents tests including CertLoader. BUG=NONE R=stevenjb@chromium.org TBR=xiyuan@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=214351 Review URL: https://chromiumcodereview.appspot.com/20799002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215873 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/cert_loader.cc')
-rw-r--r--chromeos/cert_loader.cc33
1 files changed, 16 insertions, 17 deletions
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_)