| Index: chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.cc
|
| diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.cc
|
| index ee898ce61255cf565ddc1fd67123b91386470c0c..2ede1fde0949d57ea9dfcb3eb5fc0c99823908f8 100644
|
| --- a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.cc
|
| +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.cc
|
| @@ -344,11 +344,13 @@ void EasyUnlockCreateKeysOperation::OnGetSystemSalt(
|
| true, // clobber
|
| base::Bind(&EasyUnlockCreateKeysOperation::OnKeyCreated,
|
| weak_ptr_factory_.GetWeakPtr(),
|
| - index));
|
| + index,
|
| + user_key));
|
| }
|
|
|
| void EasyUnlockCreateKeysOperation::OnKeyCreated(
|
| size_t index,
|
| + const Key& user_key,
|
| bool success,
|
| cryptohome::MountError return_code) {
|
| DCHECK_EQ(key_creation_index_, index);
|
| @@ -359,6 +361,13 @@ void EasyUnlockCreateKeysOperation::OnKeyCreated(
|
| return;
|
| }
|
|
|
| + // Update user context when the key used for signing in is changed.
|
| + if (user_context_.GetAuthFlow() == UserContext::AUTH_FLOW_EASY_UNLOCK &&
|
| + user_context_.GetKey()->GetLabel() ==
|
| + EasyUnlockKeyManager::GetKeyLabel(key_creation_index_)) {
|
| + user_context_.SetKey(user_key);
|
| + }
|
| +
|
| ++key_creation_index_;
|
| CreateKeyForDeviceAtIndex(key_creation_index_);
|
| }
|
|
|