| Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| index 10bfe44c76e23f9319811f26439e9e9f946bcc2c..fd64a50ef38211f66f0b58f53bf3bd3e071bf7c7 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| @@ -1059,14 +1059,21 @@ void SigninScreenHandler::UpdateAddButtonStatus() {
|
| }
|
|
|
| void SigninScreenHandler::HandleAuthenticateUser(const AccountId& account_id,
|
| - const std::string& password) {
|
| + const std::string& password,
|
| + bool authenticated_by_pin) {
|
| if (!delegate_)
|
| return;
|
| DCHECK_EQ(account_id.GetUserEmail(),
|
| gaia::SanitizeEmail(account_id.GetUserEmail()));
|
| + chromeos::PinStorage* pin_storage =
|
| + chromeos::PinStorageFactory::GetForAccountId(account_id);
|
| + // If pin storage is unavailable, authenticated by PIN must be false.
|
| + DCHECK(!pin_storage || pin_storage->IsPinAuthenticationAvailable() ||
|
| + !authenticated_by_pin);
|
|
|
| UserContext user_context(account_id);
|
| user_context.SetKey(Key(password));
|
| + user_context.SetIsUsingPin(authenticated_by_pin);
|
| delegate_->Login(user_context, SigninSpecifics());
|
|
|
| HidePinKeyboardIfNeeded(account_id);
|
|
|