| 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 138e06ff1a435fe887e73dbb1c9891ed4bf1b454..615a30b2479a4eb95b862e3f49611ff639fbf1e0 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| @@ -762,6 +762,7 @@ void SigninScreenHandler::RegisterMessages() {
|
| AddCallback("updateOfflineLogin",
|
| &SigninScreenHandler::HandleUpdateOfflineLogin);
|
| AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod);
|
| + AddCallback("hardlockPod", &SigninScreenHandler::HandleHardlockPod);
|
| AddCallback("retrieveAuthenticatedUserEmail",
|
| &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail);
|
| AddCallback("getPublicSessionKeyboardLayouts",
|
| @@ -946,6 +947,10 @@ void SigninScreenHandler::SetAuthType(
|
| const std::string& username,
|
| ScreenlockBridge::LockHandler::AuthType auth_type,
|
| const base::string16& initial_value) {
|
| + if (delegate_->GetAuthType(username) ==
|
| + ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD)
|
| + return;
|
| +
|
| delegate_->SetAuthType(username, auth_type);
|
|
|
| CallJS("login.AccountPickerScreen.setAuthType",
|
| @@ -1302,6 +1307,13 @@ void SigninScreenHandler::HandleFocusPod(const std::string& user_id) {
|
| WallpaperManager::Get()->SetUserWallpaperDelayed(user_id);
|
| }
|
|
|
| +void SigninScreenHandler::HandleHardlockPod(const std::string& user_id) {
|
| + SetAuthType(user_id,
|
| + ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD,
|
| + base::string16());
|
| + HideUserPodCustomIcon(user_id);
|
| +}
|
| +
|
| void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail(
|
| double attempt_token) {
|
| // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen.
|
|
|