summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/login/signin/oauth2_login_manager.cc7
-rw-r--r--chrome/browser/chromeos/login/signin/oauth2_login_manager.h3
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();