| Index: chromeos/tpm_token_loader.cc
|
| diff --git a/chromeos/tpm_token_loader.cc b/chromeos/tpm_token_loader.cc
|
| index 6d1bd5345f6f0e4b7fec0c9aa3407ae277b3031c..f48fb16e99e915defa002b34b9d44a38e5a7a074 100644
|
| --- a/chromeos/tpm_token_loader.cc
|
| +++ b/chromeos/tpm_token_loader.cc
|
| @@ -55,7 +55,13 @@ static TPMTokenLoader* g_tpm_token_loader = NULL;
|
| // static
|
| void TPMTokenLoader::Initialize() {
|
| CHECK(!g_tpm_token_loader);
|
| - g_tpm_token_loader = new TPMTokenLoader();
|
| + g_tpm_token_loader = new TPMTokenLoader(false /*for_test*/);
|
| +}
|
| +
|
| +// static
|
| +void TPMTokenLoader::InitializeForTest() {
|
| + CHECK(!g_tpm_token_loader);
|
| + g_tpm_token_loader = new TPMTokenLoader(true /*for_test*/);
|
| }
|
|
|
| // static
|
| @@ -77,19 +83,20 @@ bool TPMTokenLoader::IsInitialized() {
|
| return g_tpm_token_loader;
|
| }
|
|
|
| -TPMTokenLoader::TPMTokenLoader()
|
| - : initialize_tpm_for_test_(false),
|
| +TPMTokenLoader::TPMTokenLoader(bool for_test)
|
| + : initialized_for_test_(for_test),
|
| tpm_token_state_(TPM_STATE_UNKNOWN),
|
| tpm_request_delay_(
|
| base::TimeDelta::FromMilliseconds(kInitialRequestDelayMs)),
|
| tpm_token_slot_id_(-1),
|
| weak_factory_(this) {
|
| - if (LoginState::IsInitialized())
|
| + if (!initialized_for_test_ && LoginState::IsInitialized())
|
| LoginState::Get()->AddObserver(this);
|
| -}
|
|
|
| -void TPMTokenLoader::InitializeTPMForTest() {
|
| - initialize_tpm_for_test_ = true;
|
| + if (initialized_for_test_) {
|
| + tpm_token_state_ = TPM_TOKEN_INITIALIZED;
|
| + tpm_user_pin_ = "111111";
|
| + }
|
| }
|
|
|
| void TPMTokenLoader::SetCryptoTaskRunner(
|
| @@ -99,7 +106,7 @@ void TPMTokenLoader::SetCryptoTaskRunner(
|
| }
|
|
|
| TPMTokenLoader::~TPMTokenLoader() {
|
| - if (LoginState::IsInitialized())
|
| + if (!initialized_for_test_ && LoginState::IsInitialized())
|
| LoginState::Get()->RemoveObserver(this);
|
| }
|
|
|
| @@ -127,14 +134,14 @@ void TPMTokenLoader::MaybeStartTokenInitialization() {
|
| if (!LoginState::IsInitialized())
|
| return;
|
|
|
| - bool request_certificates = LoginState::Get()->IsUserLoggedIn() ||
|
| + bool start_initialization = LoginState::Get()->IsUserLoggedIn() ||
|
| LoginState::Get()->IsInSafeMode();
|
|
|
| - VLOG(1) << "RequestCertificates: " << request_certificates;
|
| - if (!request_certificates)
|
| + VLOG(1) << "StartTokenInitialization: " << start_initialization;
|
| + if (!start_initialization)
|
| return;
|
|
|
| - if (!initialize_tpm_for_test_ && !base::SysInfo::IsRunningOnChromeOS())
|
| + if (!base::SysInfo::IsRunningOnChromeOS())
|
| tpm_token_state_ = TPM_DISABLED;
|
|
|
| // Treat TPM as disabled for guest users since they do not store certs.
|
| @@ -277,8 +284,7 @@ void TPMTokenLoader::OnTPMTokenInitialized(bool success) {
|
| }
|
|
|
| void TPMTokenLoader::NotifyTPMTokenReady() {
|
| - FOR_EACH_OBSERVER(Observer, observers_,
|
| - OnTPMTokenReady(tpm_user_pin_, tpm_token_name_, tpm_token_slot_id_));
|
| + FOR_EACH_OBSERVER(Observer, observers_, OnTPMTokenReady());
|
| }
|
|
|
| void TPMTokenLoader::LoggedInStateChanged() {
|
|
|