| Index: crypto/nss_util.cc | 
| diff --git a/crypto/nss_util.cc b/crypto/nss_util.cc | 
| index 3915b7597953f66e5671927cd66d1273f06791ed..fdf2b3793d7a43e52dcec4acdc9ce8d2ff244db1 100644 | 
| --- a/crypto/nss_util.cc | 
| +++ b/crypto/nss_util.cc | 
| @@ -573,11 +573,17 @@ class NSSInitSingleton { | 
| chromeos_user_map_.erase(i); | 
| } | 
|  | 
| -  void SetSystemKeySlotForTesting(ScopedPK11Slot slot) { | 
| +  void SetSystemKeySlotForTesting(bool skip_tpm_initialization, | 
| +                                  ScopedPK11Slot slot) { | 
| // Ensure that a previous value of test_system_slot_ is not overwritten. | 
| // Unsetting, i.e. setting a NULL, however is allowed. | 
| DCHECK(!slot || !test_system_slot_); | 
| test_system_slot_ = slot.Pass(); | 
| +    if (skip_tpm_initialization) { | 
| +      EnableTPMTokenForNSS(); | 
| +      CHECK(test_system_slot_); | 
| +      tpm_slot_ = PK11_ReferenceSlot(test_system_slot_.get()); | 
| +    } | 
| } | 
| #endif  // defined(OS_CHROMEOS) | 
|  | 
| @@ -1015,8 +1021,10 @@ ScopedPK11Slot GetSystemNSSKeySlot( | 
| return g_nss_singleton.Get().GetSystemNSSKeySlot(callback); | 
| } | 
|  | 
| -void SetSystemKeySlotForTesting(ScopedPK11Slot slot) { | 
| -  g_nss_singleton.Get().SetSystemKeySlotForTesting(ScopedPK11Slot()); | 
| +void SetSystemKeySlotForTesting(bool skip_tpm_initialization, | 
| +                                ScopedPK11Slot slot) { | 
| +  g_nss_singleton.Get().SetSystemKeySlotForTesting(skip_tpm_initialization, | 
| +                                                   slot.Pass()); | 
| } | 
|  | 
| void EnableTPMTokenForNSS() { | 
|  |