Index: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
index 485016214c0ad4f49680b449844dc7de05dd1cd4..e09d5e7f3cb35cc0e3e87aed28218c3648411530 100644 |
--- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
+++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
@@ -251,6 +251,10 @@ void UserManagerScreenHandler::SetAuthType( |
const std::string& user_email, |
ScreenlockBridge::LockHandler::AuthType auth_type, |
const base::string16& auth_value) { |
+ if (GetAuthType(user_email) == |
+ ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD) |
+ return; |
+ |
user_auth_type_map_[user_email] = auth_type; |
web_ui()->CallJavascriptFunction( |
"login.AccountPickerScreen.setAuthType", |
@@ -417,6 +421,16 @@ void UserManagerScreenHandler::HandleAttemptUnlock( |
GetScreenlockRouter(email)->OnAuthAttempted(GetAuthType(email), ""); |
} |
+void UserManagerScreenHandler::HandleHardlockUserPod( |
+ const base::ListValue* args) { |
+ std::string email; |
+ CHECK(args->GetString(0, &email)); |
+ SetAuthType(email, |
+ ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, |
+ base::string16()); |
+ HideUserPodCustomIcon(email); |
+} |
+ |
void UserManagerScreenHandler::OnClientLoginSuccess( |
const ClientLoginResult& result) { |
chrome::SetLocalAuthCredentials(authenticating_profile_index_, |