| Index: chrome/browser/chromeos/login/login_utils.cc
|
| diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc
|
| index 2861f54476d77a13c89aa353f6d417c844a935fc..55635697b67e215a36ab4b8b4faa6bb86b177092 100644
|
| --- a/chrome/browser/chromeos/login/login_utils.cc
|
| +++ b/chrome/browser/chromeos/login/login_utils.cc
|
| @@ -543,6 +543,7 @@ class LoginUtilsImpl : public LoginUtils,
|
| // LoginUtils implementation:
|
| virtual void PrepareProfile(
|
| const std::string& username,
|
| + const std::string& display_email,
|
| const std::string& password,
|
| const GaiaAuthConsumer::ClientLoginResult& credentials,
|
| bool pending_requests,
|
| @@ -555,8 +556,7 @@ class LoginUtilsImpl : public LoginUtils,
|
| virtual scoped_refptr<Authenticator> CreateAuthenticator(
|
| LoginStatusConsumer* consumer) OVERRIDE;
|
| virtual void PrewarmAuthentication() OVERRIDE;
|
| - virtual void RestoreAuthenticationSession(const std::string& user_name,
|
| - Profile* profile) OVERRIDE;
|
| + virtual void RestoreAuthenticationSession(Profile* profile) OVERRIDE;
|
| virtual void StartTokenServices(Profile* user_profile) OVERRIDE;
|
| virtual void StartSync(
|
| Profile* profile,
|
| @@ -642,7 +642,6 @@ class LoginUtilsImpl : public LoginUtils,
|
| // The current background view.
|
| chromeos::BackgroundView* background_view_;
|
|
|
| - std::string username_;
|
| std::string password_;
|
| GaiaAuthConsumer::ClientLoginResult credentials_;
|
| bool pending_requests_;
|
| @@ -693,6 +692,7 @@ class LoginUtilsWrapper {
|
|
|
| void LoginUtilsImpl::PrepareProfile(
|
| const std::string& username,
|
| + const std::string& display_email,
|
| const std::string& password,
|
| const GaiaAuthConsumer::ClientLoginResult& credentials,
|
| bool pending_requests,
|
| @@ -709,13 +709,17 @@ void LoginUtilsImpl::PrepareProfile(
|
| btl->AddLoginTimeMarker("StartSession-End", false);
|
|
|
| btl->AddLoginTimeMarker("UserLoggedIn-Start", false);
|
| - UserManager::Get()->UserLoggedIn(username);
|
| + UserManager* user_manager = UserManager::Get();
|
| + user_manager->UserLoggedIn(username);
|
| btl->AddLoginTimeMarker("UserLoggedIn-End", false);
|
|
|
| // Switch log file as soon as possible.
|
| logging::RedirectChromeLogging(*(CommandLine::ForCurrentProcess()));
|
|
|
| - username_ = username;
|
| + // Update user's displayed email.
|
| + if (!display_email.empty())
|
| + user_manager->SaveUserDisplayEmail(username, display_email);
|
| +
|
| password_ = password;
|
|
|
| credentials_ = credentials;
|
| @@ -885,12 +889,10 @@ void LoginUtilsImpl::StartSync(
|
|
|
| // Set the CrOS user by getting this constructor run with the
|
| // user's email on first retrieval.
|
| + std::string email = UserManager::Get()->logged_in_user().email();
|
| // TODO(tim): Tidy this up once cros_user is gone (part of bug 93922).
|
| - user_profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
|
| - username_);
|
| - user_profile->GetProfileSyncService(username_)->SetPassphrase(
|
| - password_, false);
|
| - username_ = "";
|
| + user_profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername, email);
|
| + user_profile->GetProfileSyncService(email)->SetPassphrase(password_, false);
|
| password_ = "";
|
|
|
| token_service->Initialize(GaiaConstants::kChromeOSSource, user_profile);
|
| @@ -1113,9 +1115,7 @@ void LoginUtilsImpl::PrewarmAuthentication() {
|
| }
|
| }
|
|
|
| -void LoginUtilsImpl::RestoreAuthenticationSession(const std::string& username,
|
| - Profile* user_profile) {
|
| - username_ = username;
|
| +void LoginUtilsImpl::RestoreAuthenticationSession(Profile* user_profile) {
|
| KickStartAuthentication(user_profile);
|
| }
|
|
|
| @@ -1192,7 +1192,7 @@ bool LoginUtilsImpl::ReadOAuth1AccessToken(Profile* user_profile,
|
| std::string* token,
|
| std::string* secret) {
|
| // Skip reading oauth token if user does not have a valid status.
|
| - if (UserManager::Get()->GetUserOAuthStatus(username_) !=
|
| + if (UserManager::Get()->logged_in_user().oauth_token_status() !=
|
| User::OAUTH_TOKEN_STATUS_VALID) {
|
| return false;
|
| }
|
| @@ -1227,8 +1227,9 @@ void LoginUtilsImpl::StoreOAuth1AccessToken(Profile* user_profile,
|
|
|
| // ...then record the presence of valid OAuth token for this account in local
|
| // state as well.
|
| - UserManager::Get()->SaveUserOAuthStatus(username_,
|
| - User::OAUTH_TOKEN_STATUS_VALID);
|
| + UserManager::Get()->SaveUserOAuthStatus(
|
| + UserManager::Get()->logged_in_user().email(),
|
| + User::OAUTH_TOKEN_STATUS_VALID);
|
| }
|
|
|
| void LoginUtilsImpl::VerifyOAuth1AccessToken(Profile* user_profile,
|
| @@ -1244,11 +1245,9 @@ void LoginUtilsImpl::VerifyOAuth1AccessToken(Profile* user_profile,
|
| void LoginUtilsImpl::FetchCredentials(Profile* user_profile,
|
| const std::string& token,
|
| const std::string& secret) {
|
| - oauth_login_verifier_.reset(new OAuthLoginVerifier(this,
|
| - user_profile,
|
| - token,
|
| - secret,
|
| - username_));
|
| + oauth_login_verifier_.reset(new OAuthLoginVerifier(
|
| + this, user_profile, token, secret,
|
| + UserManager::Get()->logged_in_user().email()));
|
| oauth_login_verifier_->StartOAuthVerification();
|
| }
|
|
|
|
|