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

Unified Diff: chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc

Issue 2939443004: Load credentials on desktop even when there is no authenticated account ID. (Closed)
Patch Set: Unit test Created 3 years, 6 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/signin/mutable_profile_oauth2_token_service_delegate.cc
diff --git a/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
index a0144c8ae7626d7d0931928ce0e84244db50e336..99209a5c0ca49aba1b65b0114918b11ed5087f33 100644
--- a/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+++ b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
@@ -280,13 +280,15 @@ void MutableProfileOAuth2TokenServiceDelegate::LoadCredentials(
}
load_credentials_state_ = LOAD_CREDENTIALS_IN_PROGRESS;
- if (primary_account_id.empty()) {
+ if (primary_account_id.empty() &&
+ !switches::IsAccountConsistencyDiceEnabled()) {
load_credentials_state_ = LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS;
FireRefreshTokensLoaded();
return;
}
- ValidateAccountId(primary_account_id);
+ if (!primary_account_id.empty())
+ ValidateAccountId(primary_account_id);
DCHECK(loading_primary_account_id_.empty());
DCHECK_EQ(0, web_data_service_request_);
@@ -301,13 +303,15 @@ void MutableProfileOAuth2TokenServiceDelegate::LoadCredentials(
return;
}
- // If the account_id is an email address, then canonicalize it. This
- // is to support legacy account_ids, and will not be needed after
- // switching to gaia-ids.
- if (primary_account_id.find('@') != std::string::npos) {
- loading_primary_account_id_ = gaia::CanonicalizeEmail(primary_account_id);
- } else {
- loading_primary_account_id_ = primary_account_id;
+ if (!primary_account_id.empty()) {
+ // If the account_id is an email address, then canonicalize it. This
+ // is to support legacy account_ids, and will not be needed after
+ // switching to gaia-ids.
+ if (primary_account_id.find('@') != std::string::npos) {
+ loading_primary_account_id_ = gaia::CanonicalizeEmail(primary_account_id);
+ } else {
+ loading_primary_account_id_ = primary_account_id;
+ }
}
web_data_service_request_ = token_web_data->GetAllTokens(this);
@@ -343,8 +347,10 @@ void MutableProfileOAuth2TokenServiceDelegate::OnWebDataServiceRequestDone(
// Make sure that we have an entry for |loading_primary_account_id_| in the
// map. The entry could be missing if there is a corruption in the token DB
// while this profile is connected to an account.
- DCHECK(!loading_primary_account_id_.empty());
- if (refresh_tokens_.count(loading_primary_account_id_) == 0) {
+ DCHECK(!loading_primary_account_id_.empty() ||
+ switches::IsAccountConsistencyDiceEnabled());
+ if (!loading_primary_account_id_.empty() &&
+ refresh_tokens_.count(loading_primary_account_id_) == 0) {
refresh_tokens_[loading_primary_account_id_].reset(new AccountStatus(
signin_error_controller_, loading_primary_account_id_, std::string()));
}
@@ -428,8 +434,9 @@ void MutableProfileOAuth2TokenServiceDelegate::LoadAllCredentialsIntoMemory(
}
// Only load secondary accounts when account consistency is enabled.
- if (switches::IsAccountConsistencyMirrorEnabled() ||
- account_id == loading_primary_account_id_) {
+ if (account_id == loading_primary_account_id_ ||
+ switches::IsAccountConsistencyDiceEnabled() ||
+ switches::IsAccountConsistencyMirrorEnabled()) {
refresh_tokens_[account_id].reset(new AccountStatus(
signin_error_controller_, account_id, refresh_token));
FireRefreshTokenAvailable(account_id);

Powered by Google App Engine
This is Rietveld 408576698