Index: chrome/browser/chromeos/login/signin/oauth2_login_manager.cc |
diff --git a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc |
index 8b79b2f5b4ab88ca845fc03079362ef02997f7ef..8a817cd74b7c51826b2da7dc59418a6377274374 100644 |
--- a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc |
+++ b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc |
@@ -100,6 +100,7 @@ void OAuth2LoginManager::RestoreSessionFromSavedTokens() { |
const std::string& primary_account_id = GetPrimaryAccountId(); |
if (token_service->RefreshTokenIsAvailable(primary_account_id)) { |
VLOG(1) << "OAuth2 refresh token is already loaded."; |
+ FireRefreshTokensLoaded(); |
VerifySessionCookies(); |
} else { |
VLOG(1) << "Loading OAuth2 refresh token from database."; |
@@ -195,11 +196,17 @@ void OAuth2LoginManager::UpdateCredentials(const std::string& account_id) { |
DCHECK(!refresh_token_.empty()); |
// |account_id| is assumed to be already canonicalized if it's an email. |
GetTokenService()->UpdateCredentials(account_id, refresh_token_); |
+ FireRefreshTokensLoaded(); |
FOR_EACH_OBSERVER(Observer, observer_list_, |
OnNewRefreshTokenAvaiable(user_profile_)); |
} |
+void OAuth2LoginManager::FireRefreshTokensLoaded() { |
+ // TODO(570218): Figure out the right way to plumb this. |
+ GetTokenService()->LoadCredentials(std::string()); |
+} |
+ |
void OAuth2LoginManager::OnRefreshTokenResponse( |
const std::string& access_token, |
int expires_in_seconds) { |