Index: chrome/browser/chromeos/login/session/user_session_manager.cc |
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc |
index c9abbfbf612be6813adf288985b58422bb127ee0..98ac1177d6157950e5794d314f02924a06a7d6b7 100644 |
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
@@ -1299,7 +1299,7 @@ |
void UserSessionManager::UpdateEasyUnlockKeys(const UserContext& user_context) { |
// Skip key update because FakeCryptohomeClient always return success |
- // and RefreshKeys op expects a failure to stop. As a result, some tests would |
+ // and RemoveKey op expects a failure to stop. As a result, some tests would |
// timeout. |
// TODO(xiyuan): Revisit this when adding tests. |
if (!base::SysInfo::IsRunningOnChromeOS()) |
@@ -1325,16 +1325,23 @@ |
EasyUnlockScreenlockStateHandler::NO_HARDLOCK); |
} |
- base::ListValue empty_list; |
- if (!device_list) |
- device_list = &empty_list; |
- |
EasyUnlockKeyManager* key_manager = GetEasyUnlockKeyManager(); |
running_easy_unlock_key_ops_ = true; |
- key_manager->RefreshKeys( |
- user_context, *device_list, |
- base::Bind(&UserSessionManager::OnEasyUnlockKeyOpsFinished, AsWeakPtr(), |
- user_context.GetUserID())); |
+ if (device_list) { |
+ key_manager->RefreshKeys( |
+ user_context, |
+ *device_list, |
+ base::Bind(&UserSessionManager::OnEasyUnlockKeyOpsFinished, |
+ AsWeakPtr(), |
+ user_context.GetUserID())); |
+ } else { |
+ key_manager->RemoveKeys( |
+ user_context, |
+ 0, |
+ base::Bind(&UserSessionManager::OnEasyUnlockKeyOpsFinished, |
+ AsWeakPtr(), |
+ user_context.GetUserID())); |
+ } |
} |
void UserSessionManager::AttemptRestart(Profile* profile) { |