| 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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 319 if (keyboard) | 319 if (keyboard) |
| 320 keyboard->RemoveObserver(this); | 320 keyboard->RemoveObserver(this); |
| 321 weak_factory_.InvalidateWeakPtrs(); | 321 weak_factory_.InvalidateWeakPtrs(); |
| 322 if (delegate_) | 322 if (delegate_) |
| 323 delegate_->SetWebUIHandler(NULL); | 323 delegate_->SetWebUIHandler(NULL); |
| 324 network_state_informer_->RemoveObserver(this); | 324 network_state_informer_->RemoveObserver(this); |
| 325 if (max_mode_delegate_) { | 325 if (max_mode_delegate_) { |
| 326 max_mode_delegate_->RemoveObserver(this); | 326 max_mode_delegate_->RemoveObserver(this); |
| 327 max_mode_delegate_.reset(NULL); | 327 max_mode_delegate_.reset(NULL); |
| 328 } | 328 } |
| 329 ScreenlockBridge::Get()->SetLockHandler(NULL); | 329 SigninScreenBridge::Get()->SetLockHandler(NULL); |
| 330 ScreenlockBridge::Get()->SetFocusedUser(""); | 330 SigninScreenBridge::Get()->SetFocusedUser(""); |
| 331 } | 331 } |
| 332 | 332 |
| 333 void SigninScreenHandler::DeclareLocalizedValues( | 333 void SigninScreenHandler::DeclareLocalizedValues( |
| 334 LocalizedValuesBuilder* builder) { | 334 LocalizedValuesBuilder* builder) { |
| 335 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); | 335 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); |
| 336 builder->Add("podMenuButtonAccessibleName", | 336 builder->Add("podMenuButtonAccessibleName", |
| 337 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); | 337 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); |
| 338 builder->Add("podMenuRemoveItemAccessibleName", | 338 builder->Add("podMenuRemoveItemAccessibleName", |
| 339 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); | 339 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); |
| 340 builder->Add("passwordFieldAccessibleName", | 340 builder->Add("passwordFieldAccessibleName", |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 934 NOTREACHED() << "Unexpected notification " << type; | 934 NOTREACHED() << "Unexpected notification " << type; |
| 935 } | 935 } |
| 936 } | 936 } |
| 937 | 937 |
| 938 void SigninScreenHandler::ShowBannerMessage(const base::string16& message) { | 938 void SigninScreenHandler::ShowBannerMessage(const base::string16& message) { |
| 939 CallJS("login.AccountPickerScreen.showBannerMessage", message); | 939 CallJS("login.AccountPickerScreen.showBannerMessage", message); |
| 940 } | 940 } |
| 941 | 941 |
| 942 void SigninScreenHandler::ShowUserPodCustomIcon( | 942 void SigninScreenHandler::ShowUserPodCustomIcon( |
| 943 const std::string& username, | 943 const std::string& username, |
| 944 const ScreenlockBridge::UserPodCustomIconOptions& icon_options) { | 944 const SigninScreenBridge::UserPodCustomIconOptions& icon_options) { |
| 945 scoped_ptr<base::DictionaryValue> icon = icon_options.ToDictionaryValue(); | 945 scoped_ptr<base::DictionaryValue> icon = icon_options.ToDictionaryValue(); |
| 946 if (!icon || icon->empty()) | 946 if (!icon || icon->empty()) |
| 947 return; | 947 return; |
| 948 CallJS("login.AccountPickerScreen.showUserPodCustomIcon", username, *icon); | 948 CallJS("login.AccountPickerScreen.showUserPodCustomIcon", username, *icon); |
| 949 } | 949 } |
| 950 | 950 |
| 951 void SigninScreenHandler::HideUserPodCustomIcon(const std::string& username) { | 951 void SigninScreenHandler::HideUserPodCustomIcon(const std::string& username) { |
| 952 CallJS("login.AccountPickerScreen.hideUserPodCustomIcon", username); | 952 CallJS("login.AccountPickerScreen.hideUserPodCustomIcon", username); |
| 953 } | 953 } |
| 954 | 954 |
| 955 void SigninScreenHandler::EnableInput() { | 955 void SigninScreenHandler::EnableInput() { |
| 956 // Only for lock screen at the moment. | 956 // Only for lock screen at the moment. |
| 957 ScreenLocker::default_screen_locker()->EnableInput(); | 957 ScreenLocker::default_screen_locker()->EnableInput(); |
| 958 } | 958 } |
| 959 | 959 |
| 960 void SigninScreenHandler::SetAuthType( | 960 void SigninScreenHandler::SetAuthType( |
| 961 const std::string& username, | 961 const std::string& username, |
| 962 ScreenlockBridge::LockHandler::AuthType auth_type, | 962 SigninScreenBridge::LockHandler::AuthType auth_type, |
| 963 const base::string16& initial_value) { | 963 const base::string16& initial_value) { |
| 964 if (delegate_->GetAuthType(username) == | 964 if (delegate_->GetAuthType(username) == |
| 965 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD) | 965 SigninScreenBridge::LockHandler::FORCE_OFFLINE_PASSWORD) |
| 966 return; | 966 return; |
| 967 | 967 |
| 968 delegate_->SetAuthType(username, auth_type); | 968 delegate_->SetAuthType(username, auth_type); |
| 969 | 969 |
| 970 CallJS("login.AccountPickerScreen.setAuthType", | 970 CallJS("login.AccountPickerScreen.setAuthType", |
| 971 username, | 971 username, |
| 972 static_cast<int>(auth_type), | 972 static_cast<int>(auth_type), |
| 973 base::StringValue(initial_value)); | 973 base::StringValue(initial_value)); |
| 974 } | 974 } |
| 975 | 975 |
| 976 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( | 976 SigninScreenBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( |
| 977 const std::string& username) const { | 977 const std::string& username) const { |
| 978 return delegate_->GetAuthType(username); | 978 return delegate_->GetAuthType(username); |
| 979 } | 979 } |
| 980 | 980 |
| 981 void SigninScreenHandler::Unlock(const std::string& user_email) { | 981 void SigninScreenHandler::Unlock(const std::string& user_email) { |
| 982 DCHECK(ScreenLocker::default_screen_locker()); | 982 DCHECK(ScreenLocker::default_screen_locker()); |
| 983 ScreenLocker::Hide(); | 983 ScreenLocker::Hide(); |
| 984 } | 984 } |
| 985 | 985 |
| 986 void SigninScreenHandler::AttemptUserClickLogin(const std::string& user_email, | 986 void SigninScreenHandler::AttemptUserClickLogin(const std::string& user_email, |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1238 return; | 1238 return; |
| 1239 } | 1239 } |
| 1240 } | 1240 } |
| 1241 | 1241 |
| 1242 is_account_picker_showing_first_time_ = true; | 1242 is_account_picker_showing_first_time_ = true; |
| 1243 gaia_screen_handler_->MaybePreloadAuthExtension(); | 1243 gaia_screen_handler_->MaybePreloadAuthExtension(); |
| 1244 | 1244 |
| 1245 if (ScreenLocker::default_screen_locker()) { | 1245 if (ScreenLocker::default_screen_locker()) { |
| 1246 ScreenLocker::default_screen_locker()->delegate()->OnLockWebUIReady(); | 1246 ScreenLocker::default_screen_locker()->delegate()->OnLockWebUIReady(); |
| 1247 } | 1247 } |
| 1248 ScreenlockBridge::Get()->SetLockHandler(this); | 1248 SigninScreenBridge::Get()->SetLockHandler(this); |
| 1249 | 1249 |
| 1250 if (delegate_) | 1250 if (delegate_) |
| 1251 delegate_->OnSigninScreenReady(); | 1251 delegate_->OnSigninScreenReady(); |
| 1252 } | 1252 } |
| 1253 | 1253 |
| 1254 void SigninScreenHandler::HandleWallpaperReady() { | 1254 void SigninScreenHandler::HandleWallpaperReady() { |
| 1255 if (ScreenLocker::default_screen_locker()) { | 1255 if (ScreenLocker::default_screen_locker()) { |
| 1256 ScreenLocker::default_screen_locker()->delegate()-> | 1256 ScreenLocker::default_screen_locker()->delegate()-> |
| 1257 OnLockBackgroundDisplayed(); | 1257 OnLockBackgroundDisplayed(); |
| 1258 } | 1258 } |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 UpdateState(ErrorScreenActor::ERROR_REASON_LOADING_TIMEOUT); | 1348 UpdateState(ErrorScreenActor::ERROR_REASON_LOADING_TIMEOUT); |
| 1349 } | 1349 } |
| 1350 | 1350 |
| 1351 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { | 1351 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { |
| 1352 offline_login_active_ = offline_login_active; | 1352 offline_login_active_ = offline_login_active; |
| 1353 } | 1353 } |
| 1354 | 1354 |
| 1355 void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { | 1355 void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { |
| 1356 SetUserInputMethod(user_id); | 1356 SetUserInputMethod(user_id); |
| 1357 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); | 1357 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); |
| 1358 ScreenlockBridge::Get()->SetFocusedUser(user_id); | 1358 SigninScreenBridge::Get()->SetFocusedUser(user_id); |
| 1359 } | 1359 } |
| 1360 | 1360 |
| 1361 void SigninScreenHandler::HandleHardlockPod(const std::string& user_id) { | 1361 void SigninScreenHandler::HandleHardlockPod(const std::string& user_id) { |
| 1362 SetAuthType(user_id, | 1362 SetAuthType(user_id, |
| 1363 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, | 1363 SigninScreenBridge::LockHandler::FORCE_OFFLINE_PASSWORD, |
| 1364 base::string16()); | 1364 base::string16()); |
| 1365 HideUserPodCustomIcon(user_id); | 1365 HideUserPodCustomIcon(user_id); |
| 1366 } | 1366 } |
| 1367 | 1367 |
| 1368 void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( | 1368 void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( |
| 1369 double attempt_token) { | 1369 double attempt_token) { |
| 1370 // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen. | 1370 // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen. |
| 1371 email_retriever_.reset(new AuthenticatedUserEmailRetriever( | 1371 email_retriever_.reset(new AuthenticatedUserEmailRetriever( |
| 1372 base::Bind(&SigninScreenHandler::CallJS<double, std::string>, | 1372 base::Bind(&SigninScreenHandler::CallJS<double, std::string>, |
| 1373 base::Unretained(this), | 1373 base::Unretained(this), |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1542 return gaia_screen_handler_->frame_error(); | 1542 return gaia_screen_handler_->frame_error(); |
| 1543 } | 1543 } |
| 1544 | 1544 |
| 1545 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1545 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
| 1546 caps_lock_enabled_ = enabled; | 1546 caps_lock_enabled_ = enabled; |
| 1547 if (page_is_ready()) | 1547 if (page_is_ready()) |
| 1548 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1548 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
| 1549 } | 1549 } |
| 1550 | 1550 |
| 1551 } // namespace chromeos | 1551 } // namespace chromeos |
| OLD | NEW |