OLD | NEW |
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/login_utils.h" | 5 #include "chrome/browser/chromeos/login/login_utils.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/chromeos/chromeos_version.h" | 10 #include "base/chromeos/chromeos_version.h" |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 FinalizePrepareProfile(ProfileManager::GetDefaultProfile()); | 491 FinalizePrepareProfile(ProfileManager::GetDefaultProfile()); |
492 } | 492 } |
493 | 493 |
494 void LoginUtilsImpl::CompleteProfileCreate(Profile* user_profile) { | 494 void LoginUtilsImpl::CompleteProfileCreate(Profile* user_profile) { |
495 RestoreAuthSession(user_profile, has_web_auth_cookies_); | 495 RestoreAuthSession(user_profile, has_web_auth_cookies_); |
496 FinalizePrepareProfile(user_profile); | 496 FinalizePrepareProfile(user_profile); |
497 } | 497 } |
498 | 498 |
499 void LoginUtilsImpl::RestoreAuthSession(Profile* user_profile, | 499 void LoginUtilsImpl::RestoreAuthSession(Profile* user_profile, |
500 bool restore_from_auth_cookies) { | 500 bool restore_from_auth_cookies) { |
501 CHECK((authenticator_ && authenticator_->authentication_profile()) || | 501 CHECK((authenticator_.get() && authenticator_->authentication_profile()) || |
502 !restore_from_auth_cookies); | 502 !restore_from_auth_cookies); |
503 if (!login_manager_.get()) | 503 if (!login_manager_.get()) |
504 return; | 504 return; |
505 | 505 |
506 if (chrome::IsRunningInForcedAppMode()) | 506 if (chrome::IsRunningInForcedAppMode()) |
507 return; | 507 return; |
508 | 508 |
509 UserManager::Get()->SetMergeSessionState( | 509 UserManager::Get()->SetMergeSessionState( |
510 UserManager::MERGE_STATUS_IN_PROCESS); | 510 UserManager::MERGE_STATUS_IN_PROCESS); |
511 | 511 |
512 // Remove legacy OAuth1 token if we have one. If it's valid, we should already | 512 // Remove legacy OAuth1 token if we have one. If it's valid, we should already |
513 // have OAuth2 refresh token in TokenService that could be used to retrieve | 513 // have OAuth2 refresh token in TokenService that could be used to retrieve |
514 // all other tokens and user_context. | 514 // all other tokens and user_context. |
515 login_manager_->RestoreSession( | 515 login_manager_->RestoreSession( |
516 user_profile, | 516 user_profile, |
517 authenticator_ && authenticator_->authentication_profile() ? | 517 authenticator_.get() && authenticator_->authentication_profile() |
518 authenticator_->authentication_profile()->GetRequestContext() : | 518 ? authenticator_->authentication_profile()->GetRequestContext() |
519 NULL, | 519 : NULL, |
520 session_restore_strategy_, | 520 session_restore_strategy_, |
521 oauth2_refresh_token_, | 521 oauth2_refresh_token_, |
522 user_context_.auth_code); | 522 user_context_.auth_code); |
523 } | 523 } |
524 | 524 |
525 void LoginUtilsImpl::FinalizePrepareProfile(Profile* user_profile) { | 525 void LoginUtilsImpl::FinalizePrepareProfile(Profile* user_profile) { |
526 BootTimesLoader* btl = BootTimesLoader::Get(); | 526 BootTimesLoader* btl = BootTimesLoader::Get(); |
527 // Own TPM device if, for any reason, it has not been done in EULA | 527 // Own TPM device if, for any reason, it has not been done in EULA |
528 // wizard screen. | 528 // wizard screen. |
529 CryptohomeLibrary* cryptohome = CryptohomeLibrary::Get(); | 529 CryptohomeLibrary* cryptohome = CryptohomeLibrary::Get(); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 StringPrefMember language_preferred_languages; | 715 StringPrefMember language_preferred_languages; |
716 language_preferred_languages.Init(prefs::kLanguagePreferredLanguages, | 716 language_preferred_languages.Init(prefs::kLanguagePreferredLanguages, |
717 prefs); | 717 prefs); |
718 language_preferred_languages.SetValue(JoinString(language_codes, ',')); | 718 language_preferred_languages.SetValue(JoinString(language_codes, ',')); |
719 } | 719 } |
720 | 720 |
721 scoped_refptr<Authenticator> LoginUtilsImpl::CreateAuthenticator( | 721 scoped_refptr<Authenticator> LoginUtilsImpl::CreateAuthenticator( |
722 LoginStatusConsumer* consumer) { | 722 LoginStatusConsumer* consumer) { |
723 // Screen locker needs new Authenticator instance each time. | 723 // Screen locker needs new Authenticator instance each time. |
724 if (ScreenLocker::default_screen_locker()) { | 724 if (ScreenLocker::default_screen_locker()) { |
725 if (authenticator_) | 725 if (authenticator_.get()) |
726 authenticator_->SetConsumer(NULL); | 726 authenticator_->SetConsumer(NULL); |
727 authenticator_ = NULL; | 727 authenticator_ = NULL; |
728 } | 728 } |
729 | 729 |
730 if (authenticator_ == NULL) { | 730 if (authenticator_.get() == NULL) { |
731 authenticator_ = new ParallelAuthenticator(consumer); | 731 authenticator_ = new ParallelAuthenticator(consumer); |
732 } else { | 732 } else { |
733 // TODO(nkostylev): Fix this hack by improving Authenticator dependencies. | 733 // TODO(nkostylev): Fix this hack by improving Authenticator dependencies. |
734 authenticator_->SetConsumer(consumer); | 734 authenticator_->SetConsumer(consumer); |
735 } | 735 } |
736 return authenticator_; | 736 return authenticator_; |
737 } | 737 } |
738 | 738 |
739 // We use a special class for this so that it can be safely leaked if we | 739 // We use a special class for this so that it can be safely leaked if we |
740 // never connect. At shutdown the order is not well defined, and it's possible | 740 // never connect. At shutdown the order is not well defined, and it's possible |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
918 bool LoginUtils::IsWhitelisted(const std::string& username) { | 918 bool LoginUtils::IsWhitelisted(const std::string& username) { |
919 CrosSettings* cros_settings = CrosSettings::Get(); | 919 CrosSettings* cros_settings = CrosSettings::Get(); |
920 bool allow_new_user = false; | 920 bool allow_new_user = false; |
921 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); | 921 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); |
922 if (allow_new_user) | 922 if (allow_new_user) |
923 return true; | 923 return true; |
924 return cros_settings->FindEmailInList(kAccountsPrefUsers, username); | 924 return cros_settings->FindEmailInList(kAccountsPrefUsers, username); |
925 } | 925 } |
926 | 926 |
927 } // namespace chromeos | 927 } // namespace chromeos |
OLD | NEW |