| 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 10 matching lines...) Expand all Loading... |
| 21 #include "base/strings/stringprintf.h" | 21 #include "base/strings/stringprintf.h" |
| 22 #include "base/strings/utf_string_conversions.h" | 22 #include "base/strings/utf_string_conversions.h" |
| 23 #include "base/sys_info.h" | 23 #include "base/sys_info.h" |
| 24 #include "chrome/browser/browser_process.h" | 24 #include "chrome/browser/browser_process.h" |
| 25 #include "chrome/browser/browser_process_platform_part_chromeos.h" | 25 #include "chrome/browser/browser_process_platform_part_chromeos.h" |
| 26 #include "chrome/browser/browser_shutdown.h" | 26 #include "chrome/browser/browser_shutdown.h" |
| 27 #include "chrome/browser/chrome_notification_types.h" | 27 #include "chrome/browser/chrome_notification_types.h" |
| 28 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 28 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 29 #include "chrome/browser/chromeos/boot_times_loader.h" | 29 #include "chrome/browser/chromeos/boot_times_loader.h" |
| 30 #include "chrome/browser/chromeos/input_method/input_method_util.h" | 30 #include "chrome/browser/chromeos/input_method/input_method_util.h" |
| 31 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" | |
| 32 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" | 31 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" |
| 33 #include "chrome/browser/chromeos/login/hwid_checker.h" | 32 #include "chrome/browser/chromeos/login/hwid_checker.h" |
| 34 #include "chrome/browser/chromeos/login/lock/screen_locker.h" | 33 #include "chrome/browser/chromeos/login/lock/screen_locker.h" |
| 35 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" | 34 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" |
| 36 #include "chrome/browser/chromeos/login/ui/login_display_host.h" | 35 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
| 37 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" | 36 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
| 38 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" | 37 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" |
| 39 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" | 38 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" |
| 40 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" | 39 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
| 41 #include "chrome/browser/chromeos/login/wizard_controller.h" | 40 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 builder->Add("confirmPasswordConfirmButton", | 403 builder->Add("confirmPasswordConfirmButton", |
| 405 IDS_LOGIN_CONFIRM_PASSWORD_CONFIRM_BUTTON); | 404 IDS_LOGIN_CONFIRM_PASSWORD_CONFIRM_BUTTON); |
| 406 builder->Add("confirmPasswordText", IDS_LOGIN_CONFIRM_PASSWORD_TEXT); | 405 builder->Add("confirmPasswordText", IDS_LOGIN_CONFIRM_PASSWORD_TEXT); |
| 407 builder->Add("confirmPasswordErrorText", | 406 builder->Add("confirmPasswordErrorText", |
| 408 IDS_LOGIN_CONFIRM_PASSWORD_ERROR_TEXT); | 407 IDS_LOGIN_CONFIRM_PASSWORD_ERROR_TEXT); |
| 409 | 408 |
| 410 builder->Add("fatalEnrollmentError", | 409 builder->Add("fatalEnrollmentError", |
| 411 IDS_ENTERPRISE_ENROLLMENT_AUTH_FATAL_ERROR); | 410 IDS_ENTERPRISE_ENROLLMENT_AUTH_FATAL_ERROR); |
| 412 builder->Add("insecureURLEnrollmentError", | 411 builder->Add("insecureURLEnrollmentError", |
| 413 IDS_ENTERPRISE_ENROLLMENT_AUTH_INSECURE_URL_ERROR); | 412 IDS_ENTERPRISE_ENROLLMENT_AUTH_INSECURE_URL_ERROR); |
| 414 | |
| 415 if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled()) | |
| 416 builder->Add("demoLoginMessage", IDS_KIOSK_MODE_LOGIN_MESSAGE); | |
| 417 } | 413 } |
| 418 | 414 |
| 419 void SigninScreenHandler::Show(const LoginScreenContext& context) { | 415 void SigninScreenHandler::Show(const LoginScreenContext& context) { |
| 420 CHECK(delegate_); | 416 CHECK(delegate_); |
| 421 | 417 |
| 422 // Just initialize internal fields from context and call ShowImpl(). | 418 // Just initialize internal fields from context and call ShowImpl(). |
| 423 oobe_ui_ = context.oobe_ui(); | 419 oobe_ui_ = context.oobe_ui(); |
| 424 | 420 |
| 425 std::string email; | 421 std::string email; |
| 426 if (is_enrolling_consumer_management_) { | 422 if (is_enrolling_consumer_management_) { |
| 427 // We don't check if the value of the owner e-mail is trusted because it is | 423 // We don't check if the value of the owner e-mail is trusted because it is |
| 428 // only used to pre-fill the e-mail field in Gaia sign-in page and a cached | 424 // only used to pre-fill the e-mail field in Gaia sign-in page and a cached |
| 429 // value is sufficient. | 425 // value is sufficient. |
| 430 CrosSettings::Get()->GetString(kDeviceOwner, &email); | 426 CrosSettings::Get()->GetString(kDeviceOwner, &email); |
| 431 } else { | 427 } else { |
| 432 email = context.email(); | 428 email = context.email(); |
| 433 } | 429 } |
| 434 gaia_screen_handler_->PopulateEmail(email); | 430 gaia_screen_handler_->PopulateEmail(email); |
| 435 ShowImpl(); | 431 ShowImpl(); |
| 436 histogram_helper_->OnScreenShow(); | 432 histogram_helper_->OnScreenShow(); |
| 437 } | 433 } |
| 438 | 434 |
| 439 void SigninScreenHandler::ShowRetailModeLoginSpinner() { | |
| 440 CallJS("showLoginSpinner"); | |
| 441 } | |
| 442 | |
| 443 void SigninScreenHandler::SetDelegate(SigninScreenHandlerDelegate* delegate) { | 435 void SigninScreenHandler::SetDelegate(SigninScreenHandlerDelegate* delegate) { |
| 444 delegate_ = delegate; | 436 delegate_ = delegate; |
| 445 if (delegate_) | 437 if (delegate_) |
| 446 delegate_->SetWebUIHandler(this); | 438 delegate_->SetWebUIHandler(this); |
| 447 else | 439 else |
| 448 auto_enrollment_progress_subscription_.reset(); | 440 auto_enrollment_progress_subscription_.reset(); |
| 449 } | 441 } |
| 450 | 442 |
| 451 void SigninScreenHandler::SetNativeWindowDelegate( | 443 void SigninScreenHandler::SetNativeWindowDelegate( |
| 452 NativeWindowDelegate* native_window_delegate) { | 444 NativeWindowDelegate* native_window_delegate) { |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 728 gfx::NativeWindow SigninScreenHandler::GetNativeWindow() { | 720 gfx::NativeWindow SigninScreenHandler::GetNativeWindow() { |
| 729 if (native_window_delegate_) | 721 if (native_window_delegate_) |
| 730 return native_window_delegate_->GetNativeWindow(); | 722 return native_window_delegate_->GetNativeWindow(); |
| 731 return NULL; | 723 return NULL; |
| 732 } | 724 } |
| 733 | 725 |
| 734 void SigninScreenHandler::RegisterMessages() { | 726 void SigninScreenHandler::RegisterMessages() { |
| 735 AddCallback("authenticateUser", &SigninScreenHandler::HandleAuthenticateUser); | 727 AddCallback("authenticateUser", &SigninScreenHandler::HandleAuthenticateUser); |
| 736 AddCallback("attemptUnlock", &SigninScreenHandler::HandleAttemptUnlock); | 728 AddCallback("attemptUnlock", &SigninScreenHandler::HandleAttemptUnlock); |
| 737 AddCallback("getUsers", &SigninScreenHandler::HandleGetUsers); | 729 AddCallback("getUsers", &SigninScreenHandler::HandleGetUsers); |
| 738 AddCallback("launchDemoUser", &SigninScreenHandler::HandleLaunchDemoUser); | |
| 739 AddCallback("launchIncognito", &SigninScreenHandler::HandleLaunchIncognito); | 730 AddCallback("launchIncognito", &SigninScreenHandler::HandleLaunchIncognito); |
| 740 AddCallback("showSupervisedUserCreationScreen", | 731 AddCallback("showSupervisedUserCreationScreen", |
| 741 &SigninScreenHandler::HandleShowSupervisedUserCreationScreen); | 732 &SigninScreenHandler::HandleShowSupervisedUserCreationScreen); |
| 742 AddCallback("launchPublicSession", | 733 AddCallback("launchPublicSession", |
| 743 &SigninScreenHandler::HandleLaunchPublicSession); | 734 &SigninScreenHandler::HandleLaunchPublicSession); |
| 744 AddRawCallback("offlineLogin", &SigninScreenHandler::HandleOfflineLogin); | 735 AddRawCallback("offlineLogin", &SigninScreenHandler::HandleOfflineLogin); |
| 745 AddCallback("rebootSystem", &SigninScreenHandler::HandleRebootSystem); | 736 AddCallback("rebootSystem", &SigninScreenHandler::HandleRebootSystem); |
| 746 AddRawCallback("showAddUser", &SigninScreenHandler::HandleShowAddUser); | 737 AddRawCallback("showAddUser", &SigninScreenHandler::HandleShowAddUser); |
| 747 AddCallback("shutdownSystem", &SigninScreenHandler::HandleShutdownSystem); | 738 AddCallback("shutdownSystem", &SigninScreenHandler::HandleShutdownSystem); |
| 748 AddCallback("loadWallpaper", &SigninScreenHandler::HandleLoadWallpaper); | 739 AddCallback("loadWallpaper", &SigninScreenHandler::HandleLoadWallpaper); |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1121 | 1112 |
| 1122 // The user profile should exists if and only if this is lock screen. | 1113 // The user profile should exists if and only if this is lock screen. |
| 1123 DCHECK_NE(!profile, !ScreenLocker::default_screen_locker()); | 1114 DCHECK_NE(!profile, !ScreenLocker::default_screen_locker()); |
| 1124 | 1115 |
| 1125 if (!profile) | 1116 if (!profile) |
| 1126 profile = profile_helper->GetSigninProfile(); | 1117 profile = profile_helper->GetSigninProfile(); |
| 1127 | 1118 |
| 1128 EasyUnlockService::Get(profile)->AttemptAuth(username); | 1119 EasyUnlockService::Get(profile)->AttemptAuth(username); |
| 1129 } | 1120 } |
| 1130 | 1121 |
| 1131 void SigninScreenHandler::HandleLaunchDemoUser() { | |
| 1132 UserContext context(user_manager::USER_TYPE_RETAIL_MODE, std::string()); | |
| 1133 if (delegate_) | |
| 1134 delegate_->Login(context, SigninSpecifics()); | |
| 1135 } | |
| 1136 | |
| 1137 void SigninScreenHandler::HandleLaunchIncognito() { | 1122 void SigninScreenHandler::HandleLaunchIncognito() { |
| 1138 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); | 1123 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); |
| 1139 if (delegate_) | 1124 if (delegate_) |
| 1140 delegate_->Login(context, SigninSpecifics()); | 1125 delegate_->Login(context, SigninSpecifics()); |
| 1141 } | 1126 } |
| 1142 | 1127 |
| 1143 void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() { | 1128 void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() { |
| 1144 if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) { | 1129 if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) { |
| 1145 LOG(ERROR) << "Managed users not allowed."; | 1130 LOG(ERROR) << "Managed users not allowed."; |
| 1146 return; | 1131 return; |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1578 return gaia_screen_handler_->frame_error(); | 1563 return gaia_screen_handler_->frame_error(); |
| 1579 } | 1564 } |
| 1580 | 1565 |
| 1581 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1566 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
| 1582 caps_lock_enabled_ = enabled; | 1567 caps_lock_enabled_ = enabled; |
| 1583 if (page_is_ready()) | 1568 if (page_is_ready()) |
| 1584 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1569 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
| 1585 } | 1570 } |
| 1586 | 1571 |
| 1587 } // namespace chromeos | 1572 } // namespace chromeos |
| OLD | NEW |