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 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 content::NotificationService::AllSources()); | 292 content::NotificationService::AllSources()); |
293 registrar_.Add(this, | 293 registrar_.Add(this, |
294 chrome::NOTIFICATION_AUTH_CANCELLED, | 294 chrome::NOTIFICATION_AUTH_CANCELLED, |
295 content::NotificationService::AllSources()); | 295 content::NotificationService::AllSources()); |
296 | 296 |
297 chromeos::input_method::ImeKeyboard* keyboard = | 297 chromeos::input_method::ImeKeyboard* keyboard = |
298 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); | 298 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); |
299 if (keyboard) | 299 if (keyboard) |
300 keyboard->AddObserver(this); | 300 keyboard->AddObserver(this); |
301 | 301 |
| 302 max_mode_delegate_.reset(new TouchViewControllerDelegate()); |
| 303 max_mode_delegate_->AddObserver(this); |
| 304 |
302 policy::ConsumerManagementService* consumer_management = | 305 policy::ConsumerManagementService* consumer_management = |
303 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> | 306 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
304 GetConsumerManagementService(); | 307 GetConsumerManagementService(); |
305 is_enrolling_consumer_management_ = | 308 is_enrolling_consumer_management_ = |
306 consumer_management && | 309 consumer_management && |
307 consumer_management->GetEnrollmentState() == | 310 consumer_management->GetEnrollmentState() == |
308 policy::ConsumerManagementService::ENROLLMENT_REQUESTED; | 311 policy::ConsumerManagementService::ENROLLMENT_REQUESTED; |
309 } | 312 } |
310 | 313 |
311 SigninScreenHandler::~SigninScreenHandler() { | 314 SigninScreenHandler::~SigninScreenHandler() { |
312 chromeos::input_method::ImeKeyboard* keyboard = | 315 chromeos::input_method::ImeKeyboard* keyboard = |
313 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); | 316 chromeos::input_method::InputMethodManager::Get()->GetImeKeyboard(); |
314 if (keyboard) | 317 if (keyboard) |
315 keyboard->RemoveObserver(this); | 318 keyboard->RemoveObserver(this); |
316 weak_factory_.InvalidateWeakPtrs(); | 319 weak_factory_.InvalidateWeakPtrs(); |
317 if (delegate_) | 320 if (delegate_) |
318 delegate_->SetWebUIHandler(NULL); | 321 delegate_->SetWebUIHandler(NULL); |
319 network_state_informer_->RemoveObserver(this); | 322 network_state_informer_->RemoveObserver(this); |
| 323 max_mode_delegate_->RemoveObserver(this); |
| 324 max_mode_delegate_.reset(NULL); |
320 ScreenlockBridge::Get()->SetLockHandler(NULL); | 325 ScreenlockBridge::Get()->SetLockHandler(NULL); |
321 } | 326 } |
322 | 327 |
323 void SigninScreenHandler::DeclareLocalizedValues( | 328 void SigninScreenHandler::DeclareLocalizedValues( |
324 LocalizedValuesBuilder* builder) { | 329 LocalizedValuesBuilder* builder) { |
325 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); | 330 builder->Add("passwordHint", IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT); |
326 builder->Add("podMenuButtonAccessibleName", | 331 builder->Add("podMenuButtonAccessibleName", |
327 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); | 332 IDS_LOGIN_POD_MENU_BUTTON_ACCESSIBLE_NAME); |
328 builder->Add("podMenuRemoveItemAccessibleName", | 333 builder->Add("podMenuRemoveItemAccessibleName", |
329 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); | 334 IDS_LOGIN_POD_MENU_REMOVE_ITEM_ACCESSIBLE_NAME); |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 AddCallback("updateOfflineLogin", | 769 AddCallback("updateOfflineLogin", |
765 &SigninScreenHandler::HandleUpdateOfflineLogin); | 770 &SigninScreenHandler::HandleUpdateOfflineLogin); |
766 AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); | 771 AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); |
767 AddCallback("hardlockPod", &SigninScreenHandler::HandleHardlockPod); | 772 AddCallback("hardlockPod", &SigninScreenHandler::HandleHardlockPod); |
768 AddCallback("retrieveAuthenticatedUserEmail", | 773 AddCallback("retrieveAuthenticatedUserEmail", |
769 &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail); | 774 &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail); |
770 AddCallback("getPublicSessionKeyboardLayouts", | 775 AddCallback("getPublicSessionKeyboardLayouts", |
771 &SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); | 776 &SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); |
772 AddCallback("cancelConsumerManagementEnrollment", | 777 AddCallback("cancelConsumerManagementEnrollment", |
773 &SigninScreenHandler::HandleCancelConsumerManagementEnrollment); | 778 &SigninScreenHandler::HandleCancelConsumerManagementEnrollment); |
| 779 AddCallback("getTouchViewState", |
| 780 &SigninScreenHandler::HandleGetTouchViewState); |
774 | 781 |
775 | 782 |
776 // This message is sent by the kiosk app menu, but is handled here | 783 // This message is sent by the kiosk app menu, but is handled here |
777 // so we can tell the delegate to launch the app. | 784 // so we can tell the delegate to launch the app. |
778 AddCallback("launchKioskApp", &SigninScreenHandler::HandleLaunchKioskApp); | 785 AddCallback("launchKioskApp", &SigninScreenHandler::HandleLaunchKioskApp); |
779 } | 786 } |
780 | 787 |
781 void SigninScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) { | 788 void SigninScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) { |
782 registry->RegisterDictionaryPref(prefs::kUsersLRUInputMethod); | 789 registry->RegisterDictionaryPref(prefs::kUsersLRUInputMethod); |
783 } | 790 } |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
964 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( | 971 ScreenlockBridge::LockHandler::AuthType SigninScreenHandler::GetAuthType( |
965 const std::string& username) const { | 972 const std::string& username) const { |
966 return delegate_->GetAuthType(username); | 973 return delegate_->GetAuthType(username); |
967 } | 974 } |
968 | 975 |
969 void SigninScreenHandler::Unlock(const std::string& user_email) { | 976 void SigninScreenHandler::Unlock(const std::string& user_email) { |
970 DCHECK(ScreenLocker::default_screen_locker()); | 977 DCHECK(ScreenLocker::default_screen_locker()); |
971 ScreenLocker::Hide(); | 978 ScreenLocker::Hide(); |
972 } | 979 } |
973 | 980 |
| 981 void SigninScreenHandler::OnMaximizeModeStarted() { |
| 982 CallJS("login.AccountPickerScreen.setTouchViewState", true); |
| 983 } |
| 984 |
| 985 void SigninScreenHandler::OnMaximizeModeEnded() { |
| 986 CallJS("login.AccountPickerScreen.setTouchViewState", false); |
| 987 } |
| 988 |
974 bool SigninScreenHandler::ShouldLoadGaia() const { | 989 bool SigninScreenHandler::ShouldLoadGaia() const { |
975 // Fetching of the extension is not started before account picker page is | 990 // Fetching of the extension is not started before account picker page is |
976 // loaded because it can affect the loading speed. | 991 // loaded because it can affect the loading speed. |
977 // Do not load the extension for the screen locker, see crosbug.com/25018. | 992 // Do not load the extension for the screen locker, see crosbug.com/25018. |
978 return !ScreenLocker::default_screen_locker() && | 993 return !ScreenLocker::default_screen_locker() && |
979 is_account_picker_showing_first_time_; | 994 is_account_picker_showing_first_time_; |
980 } | 995 } |
981 | 996 |
982 // Update keyboard layout to least recently used by the user. | 997 // Update keyboard layout to least recently used by the user. |
983 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { | 998 void SigninScreenHandler::SetUserInputMethod(const std::string& username) { |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1361 policy::ConsumerManagementService* consumer_management = | 1376 policy::ConsumerManagementService* consumer_management = |
1362 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> | 1377 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
1363 GetConsumerManagementService(); | 1378 GetConsumerManagementService(); |
1364 CHECK(consumer_management); | 1379 CHECK(consumer_management); |
1365 consumer_management->SetEnrollmentState( | 1380 consumer_management->SetEnrollmentState( |
1366 policy::ConsumerManagementService::ENROLLMENT_CANCELED); | 1381 policy::ConsumerManagementService::ENROLLMENT_CANCELED); |
1367 is_enrolling_consumer_management_ = false; | 1382 is_enrolling_consumer_management_ = false; |
1368 ShowImpl(); | 1383 ShowImpl(); |
1369 } | 1384 } |
1370 | 1385 |
| 1386 void SigninScreenHandler::HandleGetTouchViewState() { |
| 1387 CallJS("login.AccountPickerScreen.setTouchViewState", |
| 1388 max_mode_delegate_->IsMaximizeModeEnabled()); |
| 1389 } |
| 1390 |
1371 bool SigninScreenHandler::AllWhitelistedUsersPresent() { | 1391 bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
1372 CrosSettings* cros_settings = CrosSettings::Get(); | 1392 CrosSettings* cros_settings = CrosSettings::Get(); |
1373 bool allow_new_user = false; | 1393 bool allow_new_user = false; |
1374 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); | 1394 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); |
1375 if (allow_new_user) | 1395 if (allow_new_user) |
1376 return false; | 1396 return false; |
1377 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); | 1397 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
1378 const user_manager::UserList& users = user_manager->GetUsers(); | 1398 const user_manager::UserList& users = user_manager->GetUsers(); |
1379 if (!delegate_ || users.size() > kMaxUsers) { | 1399 if (!delegate_ || users.size() > kMaxUsers) { |
1380 return false; | 1400 return false; |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1486 return gaia_screen_handler_->frame_error(); | 1506 return gaia_screen_handler_->frame_error(); |
1487 } | 1507 } |
1488 | 1508 |
1489 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1509 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
1490 caps_lock_enabled_ = enabled; | 1510 caps_lock_enabled_ = enabled; |
1491 if (page_is_ready()) | 1511 if (page_is_ready()) |
1492 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1512 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
1493 } | 1513 } |
1494 | 1514 |
1495 } // namespace chromeos | 1515 } // namespace chromeos |
OLD | NEW |