OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
755 AddCallback("resyncUserData", &SigninScreenHandler::HandleResyncUserData); | 755 AddCallback("resyncUserData", &SigninScreenHandler::HandleResyncUserData); |
756 AddCallback("loginUIStateChanged", | 756 AddCallback("loginUIStateChanged", |
757 &SigninScreenHandler::HandleLoginUIStateChanged); | 757 &SigninScreenHandler::HandleLoginUIStateChanged); |
758 AddCallback("unlockOnLoginSuccess", | 758 AddCallback("unlockOnLoginSuccess", |
759 &SigninScreenHandler::HandleUnlockOnLoginSuccess); | 759 &SigninScreenHandler::HandleUnlockOnLoginSuccess); |
760 AddCallback("showLoadingTimeoutError", | 760 AddCallback("showLoadingTimeoutError", |
761 &SigninScreenHandler::HandleShowLoadingTimeoutError); | 761 &SigninScreenHandler::HandleShowLoadingTimeoutError); |
762 AddCallback("updateOfflineLogin", | 762 AddCallback("updateOfflineLogin", |
763 &SigninScreenHandler::HandleUpdateOfflineLogin); | 763 &SigninScreenHandler::HandleUpdateOfflineLogin); |
764 AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); | 764 AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); |
| 765 AddCallback("hardlockPod", &SigninScreenHandler::HandleHardlockPod); |
765 AddCallback("retrieveAuthenticatedUserEmail", | 766 AddCallback("retrieveAuthenticatedUserEmail", |
766 &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail); | 767 &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail); |
767 AddCallback("getPublicSessionKeyboardLayouts", | 768 AddCallback("getPublicSessionKeyboardLayouts", |
768 &SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); | 769 &SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); |
769 AddCallback("cancelConsumerManagementEnrollment", | 770 AddCallback("cancelConsumerManagementEnrollment", |
770 &SigninScreenHandler::HandleCancelConsumerManagementEnrollment); | 771 &SigninScreenHandler::HandleCancelConsumerManagementEnrollment); |
771 | 772 |
772 | 773 |
773 // This message is sent by the kiosk app menu, but is handled here | 774 // This message is sent by the kiosk app menu, but is handled here |
774 // so we can tell the delegate to launch the app. | 775 // so we can tell the delegate to launch the app. |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
939 | 940 |
940 void SigninScreenHandler::EnableInput() { | 941 void SigninScreenHandler::EnableInput() { |
941 // Only for lock screen at the moment. | 942 // Only for lock screen at the moment. |
942 ScreenLocker::default_screen_locker()->EnableInput(); | 943 ScreenLocker::default_screen_locker()->EnableInput(); |
943 } | 944 } |
944 | 945 |
945 void SigninScreenHandler::SetAuthType( | 946 void SigninScreenHandler::SetAuthType( |
946 const std::string& username, | 947 const std::string& username, |
947 ScreenlockBridge::LockHandler::AuthType auth_type, | 948 ScreenlockBridge::LockHandler::AuthType auth_type, |
948 const base::string16& initial_value) { | 949 const base::string16& initial_value) { |
| 950 if (delegate_->GetAuthType(username) == |
| 951 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD) |
| 952 return; |
| 953 |
949 delegate_->SetAuthType(username, auth_type); | 954 delegate_->SetAuthType(username, auth_type); |
950 | 955 |
951 CallJS("login.AccountPickerScreen.setAuthType", | 956 CallJS("login.AccountPickerScreen.setAuthType", |
952 username, | 957 username, |
953 static_cast<int>(auth_type), | 958 static_cast<int>(auth_type), |
954 base::StringValue(initial_value)); | 959 base::StringValue(initial_value)); |
955 } | 960 } |
956 | 961 |
957 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( | 962 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( |
958 const std::string& username) const { | 963 const std::string& username) const { |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1295 | 1300 |
1296 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { | 1301 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { |
1297 offline_login_active_ = offline_login_active; | 1302 offline_login_active_ = offline_login_active; |
1298 } | 1303 } |
1299 | 1304 |
1300 void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { | 1305 void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { |
1301 SetUserInputMethod(user_id); | 1306 SetUserInputMethod(user_id); |
1302 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); | 1307 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); |
1303 } | 1308 } |
1304 | 1309 |
| 1310 void SigninScreenHandler::HandleHardlockPod(const std::string& user_id) { |
| 1311 SetAuthType(user_id, |
| 1312 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, |
| 1313 base::string16()); |
| 1314 HideUserPodCustomIcon(user_id); |
| 1315 } |
| 1316 |
1305 void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( | 1317 void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( |
1306 double attempt_token) { | 1318 double attempt_token) { |
1307 // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen. | 1319 // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen. |
1308 email_retriever_.reset(new AuthenticatedUserEmailRetriever( | 1320 email_retriever_.reset(new AuthenticatedUserEmailRetriever( |
1309 base::Bind(&SigninScreenHandler::CallJS<double, std::string>, | 1321 base::Bind(&SigninScreenHandler::CallJS<double, std::string>, |
1310 base::Unretained(this), | 1322 base::Unretained(this), |
1311 "login.GaiaSigninScreen.setAuthenticatedUserEmail", | 1323 "login.GaiaSigninScreen.setAuthenticatedUserEmail", |
1312 attempt_token), | 1324 attempt_token), |
1313 Profile::FromWebUI(web_ui())->GetRequestContext())); | 1325 Profile::FromWebUI(web_ui())->GetRequestContext())); |
1314 } | 1326 } |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1472 return gaia_screen_handler_->frame_error(); | 1484 return gaia_screen_handler_->frame_error(); |
1473 } | 1485 } |
1474 | 1486 |
1475 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1487 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
1476 caps_lock_enabled_ = enabled; | 1488 caps_lock_enabled_ = enabled; |
1477 if (page_is_ready()) | 1489 if (page_is_ready()) |
1478 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1490 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
1479 } | 1491 } |
1480 | 1492 |
1481 } // namespace chromeos | 1493 } // namespace chromeos |
OLD | NEW |