| 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 |