diff options
-rw-r--r-- | chrome/browser/chromeos/login/signin/oauth2_login_manager.cc | 7 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/signin/oauth2_login_manager.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc index 8b79b2f..8a817cd 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) { diff --git a/chrome/browser/chromeos/login/signin/oauth2_login_manager.h b/chrome/browser/chromeos/login/signin/oauth2_login_manager.h index 184a2e5..371781c 100644 --- a/chrome/browser/chromeos/login/signin/oauth2_login_manager.h +++ b/chrome/browser/chromeos/login/signin/oauth2_login_manager.h @@ -190,6 +190,9 @@ class OAuth2LoginManager : public KeyedService, // Update the token service and inform listeners of a new refresh token. void UpdateCredentials(const std::string& account_id); + // Notify that the refresh tokens are loaded and ready to use. + void FireRefreshTokensLoaded(); + // Attempts to fetch OAuth2 tokens by using pre-authenticated cookie jar from // provided |auth_profile|. void FetchOAuth2Tokens(); |