| Index: chrome/browser/services/gcm/gcm_account_tracker.cc
|
| diff --git a/chrome/browser/services/gcm/gcm_account_tracker.cc b/chrome/browser/services/gcm/gcm_account_tracker.cc
|
| index 05216887c65a04b14848cf1994f295e8bed7e3b3..22dd5b526f19ee6967cec3ee7aebda83bb2c65a9 100644
|
| --- a/chrome/browser/services/gcm/gcm_account_tracker.cc
|
| +++ b/chrome/browser/services/gcm/gcm_account_tracker.cc
|
| @@ -150,8 +150,13 @@ void GCMAccountTracker::OnGetTokenFailure(
|
| iter->second.state == ACCOUNT_REMOVED);
|
| // If OnAccountSignedOut(..) was called most recently, account is kept in
|
| // ACCOUNT_REMOVED state.
|
| - if (iter->second.state == GETTING_TOKEN)
|
| - iter->second.state = TOKEN_NEEDED;
|
| + if (iter->second.state == GETTING_TOKEN) {
|
| + // Given the fetcher has a built in retry logic, consider this situation
|
| + // to be invalid refresh token, that is only fixed when user signs in.
|
| + // Once the users signs in properly the minting will retry.
|
| + iter->second.access_token.clear();
|
| + iter->second.state = ACCOUNT_REMOVED;
|
| + }
|
| }
|
|
|
| DeleteTokenRequest(request);
|
|
|