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

Unified Diff: chrome/browser/chromeos/login/session/user_session_manager.cc

Issue 1129293004: Move token handle obtaining to UserSessionManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/login/session/user_session_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..c4f03af57ef0e4311aa150f5e8b3e826bb614297 100644
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -1672,4 +1672,43 @@ 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(
+ 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;
+}
+
+void UserSessionManager::Shutdown() {
+ token_handle_util_.reset();
+}
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/session/user_session_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698