Chromium Code Reviews| Index: chrome/browser/chromeos/login/session/user_session_manager.cc |
| diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc |
| index edecf3a3207452a1d459eb3acaaa385835ab11b2..d1a3f031fb4135ddc9ae8fc3ebaaebc0d8b6f54e 100644 |
| --- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
| +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
| @@ -1672,4 +1672,39 @@ void UserSessionManager::SendUserPodsMetrics() { |
| NUM_USER_PODS_DISPLAY); |
| } |
| +void UserSessionManager::OnOAuth2TokensFetched(UserContext context) { |
| + if (StartupUtils::IsWebviewSigninEnabled() && TokenHandlesEnabled()) { |
| + if (!token_handle_util_.get()) { |
| + token_handle_util_.reset( |
|
Nikita (slow)
2015/05/15 04:05:08
I think you need to make sure that when test insta
|
| + new TokenHandleUtil(user_manager::UserManager::Get())); |
| + } |
| + if (token_handle_util_->ShouldObtainHandle(context.GetUserID())) { |
| + token_handle_util_->GetTokenHandle( |
| + context.GetUserID(), context.GetAccessToken(), |
| + base::Bind(&UserSessionManager::OnTokenHandleObtained, |
| + weak_factory_.GetWeakPtr())); |
| + } |
| + } |
| +} |
| + |
| +void UserSessionManager::OnTokenHandleObtained( |
| + const user_manager::UserID& id, |
| + TokenHandleUtil::TokenHandleStatus status) { |
| + if (status != TokenHandleUtil::VALID) { |
| + LOG(ERROR) << "OAuth2 token handle fetch failed."; |
| + return; |
| + } |
| +} |
| + |
| +bool UserSessionManager::TokenHandlesEnabled() { |
| + bool ephemeral_users_enabled = false; |
| + bool show_names_on_signin = true; |
| + auto cros_settings = CrosSettings::Get(); |
| + cros_settings->GetBoolean(kAccountsPrefEphemeralUsersEnabled, |
| + &ephemeral_users_enabled); |
| + cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, |
| + &show_names_on_signin); |
| + return show_names_on_signin && !ephemeral_users_enabled; |
| +} |
| + |
| } // namespace chromeos |