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

Unified Diff: chrome/browser/chromeos/login/screens/user_selection_screen.cc

Issue 2711113003: Track whether a given user session has completed initialization, and use (Closed)
Patch Set: Added tests. Created 3 years, 10 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
Index: chrome/browser/chromeos/login/screens/user_selection_screen.cc
diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.cc b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
index cb074247a262072fc9cae40b99f0644b867fd0be..31be0fd0fc7188ddb8a27c51e714b0c75ba564e6 100644
--- a/chrome/browser/chromeos/login/screens/user_selection_screen.cc
+++ b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
@@ -260,7 +260,11 @@ bool UserSelectionScreen::ShouldForceOnlineSignIn(
if (token_status == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID)
RecordReauthReason(user->GetAccountId(), ReauthReason::OTHER);
- return user->force_online_signin() ||
+ // We need to force an online signin if the user is marked as requiring it,
+ // or if the user's session never completed initialization (still need to
+ // check for policy/management state) or if there's an invalid OAUTH token
+ // that needs to be refreshed.
+ return user->force_online_signin() || !user->session_initialized() ||
(token_status == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) ||
(token_status == user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN);
}

Powered by Google App Engine
This is Rietveld 408576698