Chromium Code Reviews| 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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 content::NotificationService::AllSources()); | 291 content::NotificationService::AllSources()); |
| 292 registrar_.Add(this, | 292 registrar_.Add(this, |
| 293 chrome::NOTIFICATION_AUTH_CANCELLED, | 293 chrome::NOTIFICATION_AUTH_CANCELLED, |
| 294 content::NotificationService::AllSources()); | 294 content::NotificationService::AllSources()); |
| 295 | 295 |
| 296 chromeos::input_method::ImeKeyboard* keyboard = | 296 chromeos::input_method::ImeKeyboard* keyboard = |
| 297 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); | 297 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); |
| 298 if (keyboard) | 298 if (keyboard) |
| 299 keyboard->AddObserver(this); | 299 keyboard->AddObserver(this); |
| 300 | 300 |
| 301 max_mode_delegate_.reset(new MaximizeModeControllerDelegate()); | |
| 302 max_mode_delegate_->AddObserver(this); | |
| 303 | |
| 301 policy::ConsumerManagementService* consumer_management = | 304 policy::ConsumerManagementService* consumer_management = |
| 302 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> | 305 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
| 303 GetConsumerManagementService(); | 306 GetConsumerManagementService(); |
| 304 is_enrolling_consumer_management_ = | 307 is_enrolling_consumer_management_ = |
| 305 consumer_management && | 308 consumer_management && |
| 306 consumer_management->GetEnrollmentState() == | 309 consumer_management->GetEnrollmentState() == |
| 307 policy::ConsumerManagementService::ENROLLMENT_ENROLLING; | 310 policy::ConsumerManagementService::ENROLLMENT_ENROLLING; |
| 308 } | 311 } |
| 309 | 312 |
| 310 SigninScreenHandler::~SigninScreenHandler() { | 313 SigninScreenHandler::~SigninScreenHandler() { |
| 311 chromeos::input_method::ImeKeyboard* keyboard = | 314 chromeos::input_method::ImeKeyboard* keyboard = |
| 312 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); | 315 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); |
| 313 if (keyboard) | 316 if (keyboard) |
| 314 keyboard->RemoveObserver(this); | 317 keyboard->RemoveObserver(this); |
| 315 weak_factory_.InvalidateWeakPtrs(); | 318 weak_factory_.InvalidateWeakPtrs(); |
| 316 if (delegate_) | 319 if (delegate_) |
| 317 delegate_->SetWebUIHandler(NULL); | 320 delegate_->SetWebUIHandler(NULL); |
| 318 network_state_informer_->RemoveObserver(this); | 321 network_state_informer_->RemoveObserver(this); |
| 322 max_mode_delegate_->RemoveObserver(this); | |
| 323 max_mode_delegate_.reset(NULL); | |
| 319 ScreenlockBridge::Get()->SetLockHandler(NULL); | 324 ScreenlockBridge::Get()->SetLockHandler(NULL); |
| 320 } | 325 } |
| 321 | 326 |
| 322 void SigninScreenHandler::DeclareLocalizedValues( | 327 void SigninScreenHandler::DeclareLocalizedValues( |
| 323 LocalizedValuesBuilder* builder) { | 328 LocalizedValuesBuilder* builder) { |
| 324 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); | 329 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); |
| 325 builder->Add("podMenuButtonAccessibleName", | 330 builder->Add("podMenuButtonAccessibleName", |
| 326 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); | 331 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); |
| 327 builder->Add("podMenuRemoveItemAccessibleName", | 332 builder->Add("podMenuRemoveItemAccessibleName", |
| 328 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); | 333 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 498 | 503 |
| 499 void SigninScreenHandler::UpdateUIState(UIState ui_state, | 504 void SigninScreenHandler::UpdateUIState(UIState ui_state, |
| 500 base::DictionaryValue* params) { | 505 base::DictionaryValue* params) { |
| 501 switch (ui_state) { | 506 switch (ui_state) { |
| 502 case UI_STATE_GAIA_SIGNIN: | 507 case UI_STATE_GAIA_SIGNIN: |
| 503 ui_state_ = UI_STATE_GAIA_SIGNIN; | 508 ui_state_ = UI_STATE_GAIA_SIGNIN; |
| 504 ShowScreen(OobeUI::kScreenGaiaSignin, params); | 509 ShowScreen(OobeUI::kScreenGaiaSignin, params); |
| 505 break; | 510 break; |
| 506 case UI_STATE_ACCOUNT_PICKER: | 511 case UI_STATE_ACCOUNT_PICKER: |
| 507 ui_state_ = UI_STATE_ACCOUNT_PICKER; | 512 ui_state_ = UI_STATE_ACCOUNT_PICKER; |
| 513 params->SetBoolean( | |
| 514 "touchViewEnabled", | |
| 515 max_mode_delegate_->IsMaximizeModeEnabled()); | |
| 508 ShowScreen(OobeUI::kScreenAccountPicker, params); | 516 ShowScreen(OobeUI::kScreenAccountPicker, params); |
| 509 break; | 517 break; |
| 510 default: | 518 default: |
| 511 NOTREACHED(); | 519 NOTREACHED(); |
| 512 break; | 520 break; |
| 513 } | 521 } |
| 514 } | 522 } |
| 515 | 523 |
| 516 // TODO (ygorshenin@): split this method into small parts. | 524 // TODO (ygorshenin@): split this method into small parts. |
| 517 // TODO (ygorshenin@): move this logic to GaiaScreenHandler. | 525 // TODO (ygorshenin@): move this logic to GaiaScreenHandler. |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 776 // This message is sent by the kiosk app menu, but is handled here | 784 // This message is sent by the kiosk app menu, but is handled here |
| 777 // so we can tell the delegate to launch the app. | 785 // so we can tell the delegate to launch the app. |
| 778 AddCallback("launchKioskApp", &SigninScreenHandler::HandleLaunchKioskApp); | 786 AddCallback("launchKioskApp", &SigninScreenHandler::HandleLaunchKioskApp); |
| 779 } | 787 } |
| 780 | 788 |
| 781 void SigninScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) { | 789 void SigninScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) { |
| 782 registry->RegisterDictionaryPref(prefs::kUsersLRUInputMethod); | 790 registry->RegisterDictionaryPref(prefs::kUsersLRUInputMethod); |
| 783 } | 791 } |
| 784 | 792 |
| 785 void SigninScreenHandler::HandleGetUsers() { | 793 void SigninScreenHandler::HandleGetUsers() { |
| 794 CallJS("login.AccountPickerScreen.setTouchViewState", | |
|
Nikita (slow)
2014/08/14 15:48:00
Not needed?
merkulova
2014/08/14 15:56:02
Done.
| |
| 795 max_mode_delegate_->IsMaximizeModeEnabled()); | |
| 786 if (delegate_) | 796 if (delegate_) |
| 787 delegate_->HandleGetUsers(); | 797 delegate_->HandleGetUsers(); |
| 788 } | 798 } |
| 789 | 799 |
| 790 void SigninScreenHandler::ClearAndEnablePassword() { | 800 void SigninScreenHandler::ClearAndEnablePassword() { |
| 791 core_oobe_actor_->ResetSignInUI(false); | 801 core_oobe_actor_->ResetSignInUI(false); |
| 792 } | 802 } |
| 793 | 803 |
| 794 void SigninScreenHandler::ClearUserPodPassword() { | 804 void SigninScreenHandler::ClearUserPodPassword() { |
| 795 core_oobe_actor_->ClearUserPodPassword(); | 805 core_oobe_actor_->ClearUserPodPassword(); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 980 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( | 990 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( |
| 981 const std::string& username) const { | 991 const std::string& username) const { |
| 982 return delegate_->GetAuthType(username); | 992 return delegate_->GetAuthType(username); |
| 983 } | 993 } |
| 984 | 994 |
| 985 void SigninScreenHandler::Unlock(const std::string& user_email) { | 995 void SigninScreenHandler::Unlock(const std::string& user_email) { |
| 986 DCHECK(ScreenLocker::default_screen_locker()); | 996 DCHECK(ScreenLocker::default_screen_locker()); |
| 987 ScreenLocker::Hide(); | 997 ScreenLocker::Hide(); |
| 988 } | 998 } |
| 989 | 999 |
| 1000 void SigninScreenHandler::OnMaximizeModeStarted() { | |
| 1001 CallJS("login.AccountPickerScreen.setTouchViewState", true); | |
| 1002 } | |
| 1003 | |
| 1004 void SigninScreenHandler::OnMaximizeModeEnded() { | |
| 1005 CallJS("login.AccountPickerScreen.setTouchViewState", false); | |
| 1006 } | |
| 1007 | |
| 990 bool SigninScreenHandler::ShouldLoadGaia() const { | 1008 bool SigninScreenHandler::ShouldLoadGaia() const { |
| 991 // Fetching of the extension is not started before account picker page is | 1009 // Fetching of the extension is not started before account picker page is |
| 992 // loaded because it can affect the loading speed. | 1010 // loaded because it can affect the loading speed. |
| 993 // Do not load the extension for the screen locker, see crosbug.com/25018. | 1011 // Do not load the extension for the screen locker, see crosbug.com/25018. |
| 994 return !ScreenLocker::default_screen_locker() && | 1012 return !ScreenLocker::default_screen_locker() && |
| 995 is_account_picker_showing_first_time_; | 1013 is_account_picker_showing_first_time_; |
| 996 } | 1014 } |
| 997 | 1015 |
| 998 // Update keyboard layout to least recently used by the user. | 1016 // Update keyboard layout to least recently used by the user. |
| 999 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { | 1017 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1495 return gaia_screen_handler_->frame_error(); | 1513 return gaia_screen_handler_->frame_error(); |
| 1496 } | 1514 } |
| 1497 | 1515 |
| 1498 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1516 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
| 1499 caps_lock_enabled_ = enabled; | 1517 caps_lock_enabled_ = enabled; |
| 1500 if (page_is_ready()) | 1518 if (page_is_ready()) |
| 1501 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1519 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
| 1502 } | 1520 } |
| 1503 | 1521 |
| 1504 } // namespace chromeos | 1522 } // namespace chromeos |
| OLD | NEW |