| 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 |