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 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 "scale1x", | 866 "scale1x", |
867 webui::GetBitmapDataUrl(icon_skia.GetRepresentation(1.0f).sk_bitmap())); | 867 webui::GetBitmapDataUrl(icon_skia.GetRepresentation(1.0f).sk_bitmap())); |
868 icon_representations.SetString( | 868 icon_representations.SetString( |
869 "scale2x", | 869 "scale2x", |
870 webui::GetBitmapDataUrl(icon_skia.GetRepresentation(2.0f).sk_bitmap())); | 870 webui::GetBitmapDataUrl(icon_skia.GetRepresentation(2.0f).sk_bitmap())); |
871 CallJS("login.AccountPickerScreen.showUserPodCustomIcon", | 871 CallJS("login.AccountPickerScreen.showUserPodCustomIcon", |
872 username, icon_representations); | 872 username, icon_representations); |
873 | 873 |
874 // TODO(tengs): Move this code once we move unlocking to native code. | 874 // TODO(tengs): Move this code once we move unlocking to native code. |
875 if (ScreenLocker::default_screen_locker()) { | 875 if (ScreenLocker::default_screen_locker()) { |
876 UserManager* user_manager = UserManager::Get(); | 876 UserManager* user_manager = GetUserManager(); |
877 const User* user = user_manager->FindUser(username); | 877 const User* user = user_manager->FindUser(username); |
878 if (!user) | 878 if (!user) |
879 return; | 879 return; |
880 PrefService* profile_prefs = | 880 PrefService* profile_prefs = |
881 ProfileHelper::Get()->GetProfileByUser(user)->GetPrefs(); | 881 ProfileHelper::Get()->GetProfileByUser(user)->GetPrefs(); |
882 if (profile_prefs->GetBoolean(prefs::kEasyUnlockShowTutorial)) { | 882 if (profile_prefs->GetBoolean(prefs::kEasyUnlockShowTutorial)) { |
883 CallJS("login.AccountPickerScreen.showEasyUnlockBubble"); | 883 CallJS("login.AccountPickerScreen.showEasyUnlockBubble"); |
884 profile_prefs->SetBoolean(prefs::kEasyUnlockShowTutorial, false); | 884 profile_prefs->SetBoolean(prefs::kEasyUnlockShowTutorial, false); |
885 } | 885 } |
886 } | 886 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 bool SigninScreenHandler::ShouldLoadGaia() const { | 920 bool SigninScreenHandler::ShouldLoadGaia() const { |
921 // Fetching of the extension is not started before account picker page is | 921 // Fetching of the extension is not started before account picker page is |
922 // loaded because it can affect the loading speed. | 922 // loaded because it can affect the loading speed. |
923 // Do not load the extension for the screen locker, see crosbug.com/25018. | 923 // Do not load the extension for the screen locker, see crosbug.com/25018. |
924 return !ScreenLocker::default_screen_locker() && | 924 return !ScreenLocker::default_screen_locker() && |
925 is_account_picker_showing_first_time_; | 925 is_account_picker_showing_first_time_; |
926 } | 926 } |
927 | 927 |
928 // Update keyboard layout to least recently used by the user. | 928 // Update keyboard layout to least recently used by the user. |
929 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { | 929 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { |
930 UserManager* user_manager = UserManager::Get(); | 930 UserManager* user_manager = GetUserManager(); |
931 if (user_manager->IsUserLoggedIn()) { | 931 if (user_manager->IsUserLoggedIn()) { |
932 // We are on sign-in screen inside user session (adding new user to | 932 // We are on sign-in screen inside user session (adding new user to |
933 // the session or on lock screen), don't switch input methods in this case. | 933 // the session or on lock screen), don't switch input methods in this case. |
934 // TODO(dpolukhin): adding user and sign-in should be consistent | 934 // TODO(dpolukhin): adding user and sign-in should be consistent |
935 // crbug.com/292774 | 935 // crbug.com/292774 |
936 return; | 936 return; |
937 } | 937 } |
938 | 938 |
939 chromeos::input_method::InputMethodManager* const manager = | 939 chromeos::input_method::InputMethodManager* const manager = |
940 chromeos::input_method::InputMethodManager::Get(); | 940 chromeos::input_method::InputMethodManager::Get(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 delegate_->Login(context, SigninSpecifics()); | 1003 delegate_->Login(context, SigninSpecifics()); |
1004 } | 1004 } |
1005 | 1005 |
1006 void SigninScreenHandler::HandleLaunchIncognito() { | 1006 void SigninScreenHandler::HandleLaunchIncognito() { |
1007 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); | 1007 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); |
1008 if (delegate_) | 1008 if (delegate_) |
1009 delegate_->Login(context, SigninSpecifics()); | 1009 delegate_->Login(context, SigninSpecifics()); |
1010 } | 1010 } |
1011 | 1011 |
1012 void SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen() { | 1012 void SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen() { |
1013 if (!UserManager::Get()->AreLocallyManagedUsersAllowed()) { | 1013 if (!GetUserManager()->AreLocallyManagedUsersAllowed()) { |
1014 LOG(ERROR) << "Managed users not allowed."; | 1014 LOG(ERROR) << "Managed users not allowed."; |
1015 return; | 1015 return; |
1016 } | 1016 } |
1017 scoped_ptr<base::DictionaryValue> params(new base::DictionaryValue()); | 1017 scoped_ptr<base::DictionaryValue> params(new base::DictionaryValue()); |
1018 LoginDisplayHostImpl::default_host()-> | 1018 LoginDisplayHostImpl::default_host()-> |
1019 StartWizard(WizardController::kLocallyManagedUserCreationScreenName, | 1019 StartWizard(WizardController::kLocallyManagedUserCreationScreenName, |
1020 params.Pass()); | 1020 params.Pass()); |
1021 } | 1021 } |
1022 | 1022 |
1023 void SigninScreenHandler::HandleLaunchPublicAccount( | 1023 void SigninScreenHandler::HandleLaunchPublicAccount( |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1224 ui_state_ = UI_STATE_GAIA_SIGNIN; | 1224 ui_state_ = UI_STATE_GAIA_SIGNIN; |
1225 } else if (source == kSourceAccountPicker) { | 1225 } else if (source == kSourceAccountPicker) { |
1226 ui_state_ = UI_STATE_ACCOUNT_PICKER; | 1226 ui_state_ = UI_STATE_ACCOUNT_PICKER; |
1227 } else { | 1227 } else { |
1228 NOTREACHED(); | 1228 NOTREACHED(); |
1229 return; | 1229 return; |
1230 } | 1230 } |
1231 } | 1231 } |
1232 | 1232 |
1233 void SigninScreenHandler::HandleUnlockOnLoginSuccess() { | 1233 void SigninScreenHandler::HandleUnlockOnLoginSuccess() { |
1234 DCHECK(UserManager::Get()->IsUserLoggedIn()); | 1234 DCHECK(GetUserManager()->IsUserLoggedIn()); |
1235 if (ScreenLocker::default_screen_locker()) | 1235 if (ScreenLocker::default_screen_locker()) |
1236 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess(); | 1236 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess(); |
1237 } | 1237 } |
1238 | 1238 |
1239 void SigninScreenHandler::HandleShowLoadingTimeoutError() { | 1239 void SigninScreenHandler::HandleShowLoadingTimeoutError() { |
1240 UpdateState(ErrorScreenActor::ERROR_REASON_LOADING_TIMEOUT); | 1240 UpdateState(ErrorScreenActor::ERROR_REASON_LOADING_TIMEOUT); |
1241 } | 1241 } |
1242 | 1242 |
1243 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { | 1243 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { |
1244 offline_login_active_ = offline_login_active; | 1244 offline_login_active_ = offline_login_active; |
(...skipping 23 matching lines...) Expand all Loading... |
1268 if (delegate_) | 1268 if (delegate_) |
1269 delegate_->Login(context, specifics); | 1269 delegate_->Login(context, specifics); |
1270 } | 1270 } |
1271 | 1271 |
1272 bool SigninScreenHandler::AllWhitelistedUsersPresent() { | 1272 bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
1273 CrosSettings* cros_settings = CrosSettings::Get(); | 1273 CrosSettings* cros_settings = CrosSettings::Get(); |
1274 bool allow_new_user = false; | 1274 bool allow_new_user = false; |
1275 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); | 1275 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); |
1276 if (allow_new_user) | 1276 if (allow_new_user) |
1277 return false; | 1277 return false; |
1278 UserManager* user_manager = UserManager::Get(); | 1278 UserManager* user_manager = GetUserManager(); |
1279 const UserList& users = user_manager->GetUsers(); | 1279 const UserList& users = user_manager->GetUsers(); |
1280 if (!delegate_ || users.size() > kMaxUsers) { | 1280 if (!delegate_ || users.size() > kMaxUsers) { |
1281 return false; | 1281 return false; |
1282 } | 1282 } |
1283 const base::ListValue* whitelist = NULL; | 1283 const base::ListValue* whitelist = NULL; |
1284 if (!cros_settings->GetList(kAccountsPrefUsers, &whitelist) || !whitelist) | 1284 if (!cros_settings->GetList(kAccountsPrefUsers, &whitelist) || !whitelist) |
1285 return false; | 1285 return false; |
1286 for (size_t i = 0; i < whitelist->GetSize(); ++i) { | 1286 for (size_t i = 0; i < whitelist->GetSize(); ++i) { |
1287 std::string whitelisted_user; | 1287 std::string whitelisted_user; |
1288 // NB: Wildcards in the whitelist are also detected as not present here. | 1288 // NB: Wildcards in the whitelist are also detected as not present here. |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1387 return gaia_screen_handler_->frame_error(); | 1387 return gaia_screen_handler_->frame_error(); |
1388 } | 1388 } |
1389 | 1389 |
1390 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1390 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
1391 caps_lock_enabled_ = enabled; | 1391 caps_lock_enabled_ = enabled; |
1392 if (page_is_ready()) | 1392 if (page_is_ready()) |
1393 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1393 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
1394 } | 1394 } |
1395 | 1395 |
1396 } // namespace chromeos | 1396 } // namespace chromeos |
OLD | NEW |