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 |