Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller.cc

Issue 375413002: Replace chromeos::UserManager::Get() with chromeos::GetUserManager(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/login/existing_user_controller.h" 5 #include "chrome/browser/chromeos/login/existing_user_controller.h"
6 6
7 #include <vector> 7 #include <vector>
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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 void ExistingUserController::UpdateLoginDisplay(const UserList& users) { 192 void ExistingUserController::UpdateLoginDisplay(const UserList& users) {
193 bool show_users_on_signin; 193 bool show_users_on_signin;
194 UserList filtered_users; 194 UserList filtered_users;
195 195
196 cros_settings_->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, 196 cros_settings_->GetBoolean(kAccountsPrefShowUserNamesOnSignIn,
197 &show_users_on_signin); 197 &show_users_on_signin);
198 for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { 198 for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) {
199 // TODO(xiyuan): Clean user profile whose email is not in whitelist. 199 // TODO(xiyuan): Clean user profile whose email is not in whitelist.
200 bool meets_locally_managed_requirements = 200 bool meets_locally_managed_requirements =
201 (*it)->GetType() != user_manager::USER_TYPE_LOCALLY_MANAGED || 201 (*it)->GetType() != user_manager::USER_TYPE_LOCALLY_MANAGED ||
202 UserManager::Get()->AreLocallyManagedUsersAllowed(); 202 GetUserManager()->AreLocallyManagedUsersAllowed();
203 bool meets_whitelist_requirements = 203 bool meets_whitelist_requirements =
204 LoginUtils::IsWhitelisted((*it)->email(), NULL) || 204 LoginUtils::IsWhitelisted((*it)->email(), NULL) ||
205 (*it)->GetType() != user_manager::USER_TYPE_REGULAR; 205 (*it)->GetType() != user_manager::USER_TYPE_REGULAR;
206 206
207 // Public session accounts are always shown on login screen. 207 // Public session accounts are always shown on login screen.
208 bool meets_show_users_requirements = 208 bool meets_show_users_requirements =
209 show_users_on_signin || 209 show_users_on_signin ||
210 (*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT; 210 (*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT;
211 if (meets_locally_managed_requirements && 211 if (meets_locally_managed_requirements &&
212 meets_whitelist_requirements && 212 meets_whitelist_requirements &&
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 offline_failed_ = false; 424 offline_failed_ = false;
425 online_succeeded_for_.clear(); 425 online_succeeded_for_.clear();
426 } 426 }
427 num_login_attempts_++; 427 num_login_attempts_++;
428 PerformLogin(user_context, LoginPerformer::AUTH_MODE_INTERNAL); 428 PerformLogin(user_context, LoginPerformer::AUTH_MODE_INTERNAL);
429 } 429 }
430 430
431 void ExistingUserController::PerformLogin( 431 void ExistingUserController::PerformLogin(
432 const UserContext& user_context, 432 const UserContext& user_context,
433 LoginPerformer::AuthorizationMode auth_mode) { 433 LoginPerformer::AuthorizationMode auth_mode) {
434 UserManager::Get()->GetUserFlow(last_login_attempt_username_)-> 434 GetUserManager()->GetUserFlow(last_login_attempt_username_)->set_host(host_);
435 set_host(host_);
436 435
437 BootTimesLoader::Get()->RecordLoginAttempted(); 436 BootTimesLoader::Get()->RecordLoginAttempted();
438 437
439 // Disable UI while loading user profile. 438 // Disable UI while loading user profile.
440 login_display_->SetUIEnabled(false); 439 login_display_->SetUIEnabled(false);
441 440
442 // Use the same LoginPerformer for subsequent login as it has state 441 // Use the same LoginPerformer for subsequent login as it has state
443 // such as Authenticator instance. 442 // such as Authenticator instance.
444 if (!login_performer_.get() || num_login_attempts_ <= 1) { 443 if (!login_performer_.get() || num_login_attempts_ <= 1) {
445 LoginPerformer::Delegate* delegate = this; 444 LoginPerformer::Delegate* delegate = this;
(...skipping 27 matching lines...) Expand all
473 // Only one instance of LoginPerformer should exist at a time. 472 // Only one instance of LoginPerformer should exist at a time.
474 login_performer_.reset(NULL); 473 login_performer_.reset(NULL);
475 login_performer_.reset(new LoginPerformer(this)); 474 login_performer_.reset(new LoginPerformer(this));
476 is_login_in_progress_ = true; 475 is_login_in_progress_ = true;
477 login_performer_->LoginRetailMode(); 476 login_performer_->LoginRetailMode();
478 SendAccessibilityAlert( 477 SendAccessibilityAlert(
479 l10n_util::GetStringUTF8(IDS_CHROMEOS_ACC_LOGIN_SIGNIN_DEMOUSER)); 478 l10n_util::GetStringUTF8(IDS_CHROMEOS_ACC_LOGIN_SIGNIN_DEMOUSER));
480 } 479 }
481 480
482 void ExistingUserController::LoginAsGuest() { 481 void ExistingUserController::LoginAsGuest() {
483 if (is_login_in_progress_ || UserManager::Get()->IsUserLoggedIn()) 482 if (is_login_in_progress_ || GetUserManager()->IsUserLoggedIn())
484 return; 483 return;
485 484
486 // Stop the auto-login timer when attempting login. 485 // Stop the auto-login timer when attempting login.
487 StopPublicSessionAutoLoginTimer(); 486 StopPublicSessionAutoLoginTimer();
488 487
489 // Disable clicking on other windows. 488 // Disable clicking on other windows.
490 login_display_->SetUIEnabled(false); 489 login_display_->SetUIEnabled(false);
491 490
492 CrosSettingsProvider::TrustedStatus status = 491 CrosSettingsProvider::TrustedStatus status =
493 cros_settings_->PrepareTrustedValues( 492 cros_settings_->PrepareTrustedValues(
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 } 532 }
534 533
535 void ExistingUserController::MigrateUserData(const std::string& old_password) { 534 void ExistingUserController::MigrateUserData(const std::string& old_password) {
536 // LoginPerformer instance has state of the user so it should exist. 535 // LoginPerformer instance has state of the user so it should exist.
537 if (login_performer_.get()) 536 if (login_performer_.get())
538 login_performer_->RecoverEncryptedData(old_password); 537 login_performer_->RecoverEncryptedData(old_password);
539 } 538 }
540 539
541 void ExistingUserController::LoginAsPublicAccount( 540 void ExistingUserController::LoginAsPublicAccount(
542 const std::string& username) { 541 const std::string& username) {
543 if (is_login_in_progress_ || UserManager::Get()->IsUserLoggedIn()) 542 if (is_login_in_progress_ || GetUserManager()->IsUserLoggedIn())
544 return; 543 return;
545 544
546 // Stop the auto-login timer when attempting login. 545 // Stop the auto-login timer when attempting login.
547 StopPublicSessionAutoLoginTimer(); 546 StopPublicSessionAutoLoginTimer();
548 547
549 // Disable clicking on other windows. 548 // Disable clicking on other windows.
550 login_display_->SetUIEnabled(false); 549 login_display_->SetUIEnabled(false);
551 550
552 CrosSettingsProvider::TrustedStatus status = 551 CrosSettingsProvider::TrustedStatus status =
553 cros_settings_->PrepareTrustedValues( 552 cros_settings_->PrepareTrustedValues(
(...skipping 10 matching lines...) Expand all
564 return; 563 return;
565 } 564 }
566 565
567 // If device policy is not verified yet, this function will be called again 566 // If device policy is not verified yet, this function will be called again
568 // when verification finishes. 567 // when verification finishes.
569 if (status != CrosSettingsProvider::TRUSTED) 568 if (status != CrosSettingsProvider::TRUSTED)
570 return; 569 return;
571 570
572 // If there is no public account with the given |username|, logging in is not 571 // If there is no public account with the given |username|, logging in is not
573 // possible. 572 // possible.
574 const User* user = UserManager::Get()->FindUser(username); 573 const User* user = GetUserManager()->FindUser(username);
575 if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) { 574 if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) {
576 // Re-enable clicking on other windows. 575 // Re-enable clicking on other windows.
577 login_display_->SetUIEnabled(true); 576 login_display_->SetUIEnabled(true);
578 StartPublicSessionAutoLoginTimer(); 577 StartPublicSessionAutoLoginTimer();
579 return; 578 return;
580 } 579 }
581 580
582 // Only one instance of LoginPerformer should exist at a time. 581 // Only one instance of LoginPerformer should exist at a time.
583 login_performer_.reset(NULL); 582 login_performer_.reset(NULL);
584 login_performer_.reset(new LoginPerformer(this)); 583 login_performer_.reset(new LoginPerformer(this));
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 // ExistingUserController, LoginPerformer::Delegate implementation: 704 // ExistingUserController, LoginPerformer::Delegate implementation:
706 // 705 //
707 706
708 void ExistingUserController::OnLoginFailure(const LoginFailure& failure) { 707 void ExistingUserController::OnLoginFailure(const LoginFailure& failure) {
709 is_login_in_progress_ = false; 708 is_login_in_progress_ = false;
710 offline_failed_ = true; 709 offline_failed_ = true;
711 710
712 guest_mode_url_ = GURL::EmptyGURL(); 711 guest_mode_url_ = GURL::EmptyGURL();
713 std::string error = failure.GetErrorString(); 712 std::string error = failure.GetErrorString();
714 713
715 if (UserManager::Get()->GetUserFlow(last_login_attempt_username_)-> 714 if (GetUserManager()
716 HandleLoginFailure(failure)) { 715 ->GetUserFlow(last_login_attempt_username_)
716 ->HandleLoginFailure(failure)) {
717 login_display_->SetUIEnabled(true); 717 login_display_->SetUIEnabled(true);
718 return; 718 return;
719 } 719 }
720 720
721 if (failure.reason() == LoginFailure::OWNER_REQUIRED) { 721 if (failure.reason() == LoginFailure::OWNER_REQUIRED) {
722 ShowError(IDS_LOGIN_ERROR_OWNER_REQUIRED, error); 722 ShowError(IDS_LOGIN_ERROR_OWNER_REQUIRED, error);
723 content::BrowserThread::PostDelayedTask( 723 content::BrowserThread::PostDelayedTask(
724 content::BrowserThread::UI, FROM_HERE, 724 content::BrowserThread::UI, FROM_HERE,
725 base::Bind(&SessionManagerClient::StopSession, 725 base::Bind(&SessionManagerClient::StopSession,
726 base::Unretained(DBusThreadManager::Get()-> 726 base::Unretained(DBusThreadManager::Get()->
727 GetSessionManagerClient())), 727 GetSessionManagerClient())),
728 base::TimeDelta::FromMilliseconds(kSafeModeRestartUiDelayMs)); 728 base::TimeDelta::FromMilliseconds(kSafeModeRestartUiDelayMs));
729 } else if (failure.reason() == LoginFailure::TPM_ERROR) { 729 } else if (failure.reason() == LoginFailure::TPM_ERROR) {
730 ShowTPMError(); 730 ShowTPMError();
731 } else if (!online_succeeded_for_.empty()) { 731 } else if (!online_succeeded_for_.empty()) {
732 ShowGaiaPasswordChanged(online_succeeded_for_); 732 ShowGaiaPasswordChanged(online_succeeded_for_);
733 } else { 733 } else {
734 // Check networking after trying to login in case user is 734 // Check networking after trying to login in case user is
735 // cached locally or the local admin account. 735 // cached locally or the local admin account.
736 bool is_known_user = 736 bool is_known_user =
737 UserManager::Get()->IsKnownUser(last_login_attempt_username_); 737 GetUserManager()->IsKnownUser(last_login_attempt_username_);
738 if (!network_state_helper_->IsConnected()) { 738 if (!network_state_helper_->IsConnected()) {
739 if (is_known_user) 739 if (is_known_user)
740 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING, error); 740 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING, error);
741 else 741 else
742 ShowError(IDS_LOGIN_ERROR_OFFLINE_FAILED_NETWORK_NOT_CONNECTED, error); 742 ShowError(IDS_LOGIN_ERROR_OFFLINE_FAILED_NETWORK_NOT_CONNECTED, error);
743 } else { 743 } else {
744 // TODO(nkostylev): Cleanup rest of ClientLogin related code. 744 // TODO(nkostylev): Cleanup rest of ClientLogin related code.
745 if (failure.reason() == LoginFailure::NETWORK_AUTH_FAILED && 745 if (failure.reason() == LoginFailure::NETWORK_AUTH_FAILED &&
746 failure.error().state() == 746 failure.error().state() ==
747 GoogleServiceAuthError::HOSTED_NOT_ALLOWED) { 747 GoogleServiceAuthError::HOSTED_NOT_ALLOWED) {
748 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING_HOSTED, error); 748 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING_HOSTED, error);
749 } else { 749 } else {
750 if (!is_known_user) 750 if (!is_known_user)
751 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING_NEW, error); 751 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING_NEW, error);
752 else 752 else
753 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING, error); 753 ShowError(IDS_LOGIN_ERROR_AUTHENTICATING, error);
754 } 754 }
755 } 755 }
756 // Reenable clicking on other windows and status area. 756 // Reenable clicking on other windows and status area.
757 login_display_->SetUIEnabled(true); 757 login_display_->SetUIEnabled(true);
758 login_display_->ClearAndEnablePassword(); 758 login_display_->ClearAndEnablePassword();
759 StartPublicSessionAutoLoginTimer(); 759 StartPublicSessionAutoLoginTimer();
760 } 760 }
761 761
762 // Reset user flow to default, so that special flow will not affect next 762 // Reset user flow to default, so that special flow will not affect next
763 // attempt. 763 // attempt.
764 UserManager::Get()->ResetUserFlow(last_login_attempt_username_); 764 GetUserManager()->ResetUserFlow(last_login_attempt_username_);
765 765
766 if (login_status_consumer_) 766 if (login_status_consumer_)
767 login_status_consumer_->OnLoginFailure(failure); 767 login_status_consumer_->OnLoginFailure(failure);
768 768
769 // Clear the recorded displayed email so it won't affect any future attempts. 769 // Clear the recorded displayed email so it won't affect any future attempts.
770 display_email_.clear(); 770 display_email_.clear();
771 } 771 }
772 772
773 void ExistingUserController::OnLoginSuccess(const UserContext& user_context) { 773 void ExistingUserController::OnLoginSuccess(const UserContext& user_context) {
774 is_login_in_progress_ = false; 774 is_login_in_progress_ = false;
775 offline_failed_ = false; 775 offline_failed_ = false;
776 login_display_->set_signin_completed(true); 776 login_display_->set_signin_completed(true);
777 777
778 // Login performer will be gone so cache this value to use 778 // Login performer will be gone so cache this value to use
779 // once profile is loaded. 779 // once profile is loaded.
780 password_changed_ = login_performer_->password_changed(); 780 password_changed_ = login_performer_->password_changed();
781 auth_mode_ = login_performer_->auth_mode(); 781 auth_mode_ = login_performer_->auth_mode();
782 782
783 UserManager::Get()->GetUserFlow(user_context.GetUserID())-> 783 GetUserManager()->GetUserFlow(user_context.GetUserID())->HandleLoginSuccess(
784 HandleLoginSuccess(user_context); 784 user_context);
785 785
786 StopPublicSessionAutoLoginTimer(); 786 StopPublicSessionAutoLoginTimer();
787 787
788 const bool has_auth_cookies = 788 const bool has_auth_cookies =
789 login_performer_->auth_mode() == LoginPerformer::AUTH_MODE_EXTENSION && 789 login_performer_->auth_mode() == LoginPerformer::AUTH_MODE_EXTENSION &&
790 user_context.GetAuthCode().empty(); 790 user_context.GetAuthCode().empty();
791 791
792 // LoginPerformer instance will delete itself once online auth result is OK. 792 // LoginPerformer instance will delete itself once online auth result is OK.
793 // In case of failure it'll bring up ScreenLock and ask for 793 // In case of failure it'll bring up ScreenLock and ask for
794 // correct password/display error message. 794 // correct password/display error message.
795 // Even in case when following online,offline protocol and returning 795 // Even in case when following online,offline protocol and returning
796 // requests_pending = false, let LoginPerformer delete itself. 796 // requests_pending = false, let LoginPerformer delete itself.
797 login_performer_->set_delegate(NULL); 797 login_performer_->set_delegate(NULL);
798 ignore_result(login_performer_.release()); 798 ignore_result(login_performer_.release());
799 799
800 // Update user's displayed email. 800 // Update user's displayed email.
801 if (!display_email_.empty()) { 801 if (!display_email_.empty()) {
802 UserManager::Get()->SaveUserDisplayEmail(user_context.GetUserID(), 802 GetUserManager()->SaveUserDisplayEmail(user_context.GetUserID(),
803 display_email_); 803 display_email_);
804 display_email_.clear(); 804 display_email_.clear();
805 } 805 }
806 806
807 // Will call OnProfilePrepared() in the end. 807 // Will call OnProfilePrepared() in the end.
808 LoginUtils::Get()->PrepareProfile(user_context, 808 LoginUtils::Get()->PrepareProfile(user_context,
809 has_auth_cookies, 809 has_auth_cookies,
810 false, // Start session for user. 810 false, // Start session for user.
811 this); 811 this);
812 } 812 }
813 813
814 void ExistingUserController::OnProfilePrepared(Profile* profile) { 814 void ExistingUserController::OnProfilePrepared(Profile* profile) {
815 // Reenable clicking on other windows and status area. 815 // Reenable clicking on other windows and status area.
816 login_display_->SetUIEnabled(true); 816 login_display_->SetUIEnabled(true);
817 817
818 UserManager* user_manager = UserManager::Get(); 818 UserManager* user_manager = GetUserManager();
819 if (user_manager->IsCurrentUserNew() && 819 if (user_manager->IsCurrentUserNew() &&
820 user_manager->IsLoggedInAsLocallyManagedUser()) { 820 user_manager->IsLoggedInAsLocallyManagedUser()) {
821 // Supervised users should launch into empty desktop on first run. 821 // Supervised users should launch into empty desktop on first run.
822 CommandLine::ForCurrentProcess()->AppendSwitch(::switches::kSilentLaunch); 822 CommandLine::ForCurrentProcess()->AppendSwitch(::switches::kSilentLaunch);
823 } 823 }
824 824
825 if (user_manager->IsCurrentUserNew() && 825 if (user_manager->IsCurrentUserNew() &&
826 !user_manager->GetCurrentUserFlow()->ShouldSkipPostLoginScreens() && 826 !user_manager->GetCurrentUserFlow()->ShouldSkipPostLoginScreens() &&
827 !WizardController::default_controller()->skip_post_login_screens()) { 827 !WizardController::default_controller()->skip_post_login_screens()) {
828 // Don't specify start URLs if the administrator has configured the start 828 // Don't specify start URLs if the administrator has configured the start
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 871
872 // Must not proceed without signature verification. 872 // Must not proceed without signature verification.
873 if (CrosSettingsProvider::TRUSTED != cros_settings_->PrepareTrustedValues( 873 if (CrosSettingsProvider::TRUSTED != cros_settings_->PrepareTrustedValues(
874 base::Bind(&ExistingUserController::OnPasswordChangeDetected, 874 base::Bind(&ExistingUserController::OnPasswordChangeDetected,
875 weak_factory_.GetWeakPtr()))) { 875 weak_factory_.GetWeakPtr()))) {
876 // Value of owner email is still not verified. 876 // Value of owner email is still not verified.
877 // Another attempt will be invoked after verification completion. 877 // Another attempt will be invoked after verification completion.
878 return; 878 return;
879 } 879 }
880 880
881 if (UserManager::Get()->GetUserFlow(last_login_attempt_username_)-> 881 if (GetUserManager()
882 HandlePasswordChangeDetected()) { 882 ->GetUserFlow(last_login_attempt_username_)
883 ->HandlePasswordChangeDetected()) {
883 return; 884 return;
884 } 885 }
885 886
886 // True if user has already made an attempt to enter old password and failed. 887 // True if user has already made an attempt to enter old password and failed.
887 bool show_invalid_old_password_error = 888 bool show_invalid_old_password_error =
888 login_performer_->password_changed_callback_count() > 1; 889 login_performer_->password_changed_callback_count() > 1;
889 890
890 // Note: We allow owner using "full sync" mode which will recreate 891 // Note: We allow owner using "full sync" mode which will recreate
891 // cryptohome and deal with owner private key being lost. This also allows 892 // cryptohome and deal with owner private key being lost. This also allows
892 // us to recover from a lost owner password/homedir. 893 // us to recover from a lost owner password/homedir.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 ShowGaiaPasswordChanged(username); 944 ShowGaiaPasswordChanged(username);
944 } 945 }
945 } 946 }
946 947
947 //////////////////////////////////////////////////////////////////////////////// 948 ////////////////////////////////////////////////////////////////////////////////
948 // ExistingUserController, private: 949 // ExistingUserController, private:
949 950
950 void ExistingUserController::DeviceSettingsChanged() { 951 void ExistingUserController::DeviceSettingsChanged() {
951 if (host_ != NULL) { 952 if (host_ != NULL) {
952 // Signed settings or user list changed. Notify views and update them. 953 // Signed settings or user list changed. Notify views and update them.
953 UpdateLoginDisplay(chromeos::UserManager::Get()->GetUsers()); 954 UpdateLoginDisplay(chromeos::GetUserManager()->GetUsers());
954 ConfigurePublicSessionAutoLogin(); 955 ConfigurePublicSessionAutoLogin();
955 return; 956 return;
956 } 957 }
957 } 958 }
958 959
959 void ExistingUserController::ActivateWizard(const std::string& screen_name) { 960 void ExistingUserController::ActivateWizard(const std::string& screen_name) {
960 scoped_ptr<base::DictionaryValue> params; 961 scoped_ptr<base::DictionaryValue> params;
961 host_->StartWizard(screen_name, params.Pass()); 962 host_->StartWizard(screen_name, params.Pass());
962 } 963 }
963 964
(...skipping 22 matching lines...) Expand all
986 for (std::vector<policy::DeviceLocalAccount>::const_iterator 987 for (std::vector<policy::DeviceLocalAccount>::const_iterator
987 it = device_local_accounts.begin(); 988 it = device_local_accounts.begin();
988 it != device_local_accounts.end(); ++it) { 989 it != device_local_accounts.end(); ++it) {
989 if (it->account_id == auto_login_account_id) { 990 if (it->account_id == auto_login_account_id) {
990 public_session_auto_login_username_ = it->user_id; 991 public_session_auto_login_username_ = it->user_id;
991 break; 992 break;
992 } 993 }
993 } 994 }
994 995
995 const User* user = 996 const User* user =
996 UserManager::Get()->FindUser(public_session_auto_login_username_); 997 GetUserManager()->FindUser(public_session_auto_login_username_);
997 if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) 998 if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
998 public_session_auto_login_username_.clear(); 999 public_session_auto_login_username_.clear();
999 1000
1000 if (!cros_settings_->GetInteger( 1001 if (!cros_settings_->GetInteger(
1001 kAccountsPrefDeviceLocalAccountAutoLoginDelay, 1002 kAccountsPrefDeviceLocalAccountAutoLoginDelay,
1002 &public_session_auto_login_delay_)) { 1003 &public_session_auto_login_delay_)) {
1003 public_session_auto_login_delay_ = 0; 1004 public_session_auto_login_delay_ = 0;
1004 } 1005 }
1005 1006
1006 if (!public_session_auto_login_username_.empty()) 1007 if (!public_session_auto_login_username_.empty())
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1050 } 1051 }
1051 1052
1052 gfx::NativeWindow ExistingUserController::GetNativeWindow() const { 1053 gfx::NativeWindow ExistingUserController::GetNativeWindow() const {
1053 return host_->GetNativeWindow(); 1054 return host_->GetNativeWindow();
1054 } 1055 }
1055 1056
1056 void ExistingUserController::InitializeStartUrls() const { 1057 void ExistingUserController::InitializeStartUrls() const {
1057 std::vector<std::string> start_urls; 1058 std::vector<std::string> start_urls;
1058 1059
1059 const base::ListValue *urls; 1060 const base::ListValue *urls;
1060 UserManager* user_manager = UserManager::Get(); 1061 UserManager* user_manager = GetUserManager();
1061 bool can_show_getstarted_guide = 1062 bool can_show_getstarted_guide =
1062 user_manager->GetActiveUser()->GetType() == 1063 user_manager->GetActiveUser()->GetType() ==
1063 user_manager::USER_TYPE_REGULAR && 1064 user_manager::USER_TYPE_REGULAR &&
1064 !user_manager->IsCurrentUserNonCryptohomeDataEphemeral(); 1065 !user_manager->IsCurrentUserNonCryptohomeDataEphemeral();
1065 if (user_manager->IsLoggedInAsDemoUser()) { 1066 if (user_manager->IsLoggedInAsDemoUser()) {
1066 if (CrosSettings::Get()->GetList(kStartUpUrls, &urls)) { 1067 if (CrosSettings::Get()->GetList(kStartUpUrls, &urls)) {
1067 // The retail mode user will get start URLs from a special policy if it is 1068 // The retail mode user will get start URLs from a special policy if it is
1068 // set. 1069 // set.
1069 for (base::ListValue::const_iterator it = urls->begin(); 1070 for (base::ListValue::const_iterator it = urls->begin();
1070 it != urls->end(); ++it) { 1071 it != urls->end(); ++it) {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1125 default: 1126 default:
1126 help_topic_id = is_offline ? 1127 help_topic_id = is_offline ?
1127 HelpAppLauncher::HELP_CANT_ACCESS_ACCOUNT_OFFLINE : 1128 HelpAppLauncher::HELP_CANT_ACCESS_ACCOUNT_OFFLINE :
1128 HelpAppLauncher::HELP_CANT_ACCESS_ACCOUNT; 1129 HelpAppLauncher::HELP_CANT_ACCESS_ACCOUNT;
1129 break; 1130 break;
1130 } 1131 }
1131 1132
1132 if (error_id == IDS_LOGIN_ERROR_AUTHENTICATING) { 1133 if (error_id == IDS_LOGIN_ERROR_AUTHENTICATING) {
1133 if (num_login_attempts_ > 1) { 1134 if (num_login_attempts_ > 1) {
1134 const User* user = 1135 const User* user =
1135 UserManager::Get()->FindUser(last_login_attempt_username_); 1136 GetUserManager()->FindUser(last_login_attempt_username_);
1136 if (user && (user->GetType() == user_manager::USER_TYPE_LOCALLY_MANAGED)) 1137 if (user && (user->GetType() == user_manager::USER_TYPE_LOCALLY_MANAGED))
1137 error_id = IDS_LOGIN_ERROR_AUTHENTICATING_2ND_TIME_SUPERVISED; 1138 error_id = IDS_LOGIN_ERROR_AUTHENTICATING_2ND_TIME_SUPERVISED;
1138 } 1139 }
1139 } 1140 }
1140 1141
1141 login_display_->ShowError(error_id, num_login_attempts_, help_topic_id); 1142 login_display_->ShowError(error_id, num_login_attempts_, help_topic_id);
1142 } 1143 }
1143 1144
1144 void ExistingUserController::ShowGaiaPasswordChanged( 1145 void ExistingUserController::ShowGaiaPasswordChanged(
1145 const std::string& username) { 1146 const std::string& username) {
1146 // Invalidate OAuth token, since it can't be correct after password is 1147 // Invalidate OAuth token, since it can't be correct after password is
1147 // changed. 1148 // changed.
1148 UserManager::Get()->SaveUserOAuthStatus( 1149 GetUserManager()->SaveUserOAuthStatus(username,
1149 username, 1150 User::OAUTH2_TOKEN_STATUS_INVALID);
1150 User::OAUTH2_TOKEN_STATUS_INVALID);
1151 1151
1152 login_display_->SetUIEnabled(true); 1152 login_display_->SetUIEnabled(true);
1153 login_display_->ShowGaiaPasswordChanged(username); 1153 login_display_->ShowGaiaPasswordChanged(username);
1154 } 1154 }
1155 1155
1156 void ExistingUserController::SendAccessibilityAlert( 1156 void ExistingUserController::SendAccessibilityAlert(
1157 const std::string& alert_text) { 1157 const std::string& alert_text) {
1158 AccessibilityAlertInfo event(ProfileHelper::GetSigninProfile(), alert_text); 1158 AccessibilityAlertInfo event(ProfileHelper::GetSigninProfile(), alert_text);
1159 SendControlAccessibilityNotification( 1159 SendControlAccessibilityNotification(
1160 ui::AX_EVENT_VALUE_CHANGED, &event); 1160 ui::AX_EVENT_VALUE_CHANGED, &event);
1161 } 1161 }
1162 1162
1163 } // namespace chromeos 1163 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698