Index: chrome/browser/signin/oauth2_token_service.h |
diff --git a/chrome/browser/signin/oauth2_token_service.h b/chrome/browser/signin/oauth2_token_service.h |
index 3f19b3c0817954e516767854af99d7beceb27cc1..71ddcb27944c21cc1ce3fbdd59517131e8e6149f 100644 |
--- a/chrome/browser/signin/oauth2_token_service.h |
+++ b/chrome/browser/signin/oauth2_token_service.h |
@@ -99,6 +99,13 @@ class OAuth2TokenService : public content::NotificationObserver, |
const ScopeSet& scopes, |
OAuth2TokenService::Consumer* consumer); |
+ // Mark an OAuth2 access token as invalid. This should be done if the token |
+ // was received from this class, but was not accepted by the server (e.g., |
+ // the server returned 401 Unauthorized). The token will be removed from the |
+ // cache for the given scopes. |
+ void InvalidateToken(const ScopeSet& scopes, |
+ const std::string& invalid_token); |
+ |
// content::NotificationObserver |
virtual void Observe(int type, |
const content::NotificationSource& source, |
@@ -118,9 +125,9 @@ class OAuth2TokenService : public content::NotificationObserver, |
// Informs the consumer of |request| fetch results. |
static void InformConsumer( |
base::WeakPtr<OAuth2TokenService::RequestImpl> request, |
- GoogleServiceAuthError error, |
- std::string access_token, |
- base::Time expiration_date); |
+ const GoogleServiceAuthError& error, |
+ const std::string& access_token, |
+ const base::Time& expiration_date); |
// Struct that contains the information of an OAuth2 access token. |
struct CacheEntry { |
@@ -133,6 +140,7 @@ class OAuth2TokenService : public content::NotificationObserver, |
// ensure no entry with the same |scopes| is added before the usage of the |
// returned entry is done. |
const CacheEntry* GetCacheEntry(const ScopeSet& scopes); |
+ |
// Registers a new access token in the cache if |refresh_token| is the one |
// currently held by TokenService. |
void RegisterCacheEntry(const std::string& refresh_token, |
@@ -140,6 +148,12 @@ class OAuth2TokenService : public content::NotificationObserver, |
const std::string& access_token, |
const base::Time& expiration_date); |
+ // Removes an access token for the given set of scopes from the cache. |
+ // Returns true if the entry was removed, otherwise false. |
+ bool RemoveCacheEntry(const OAuth2TokenService::ScopeSet& scopes, |
+ const std::string& token_to_remove); |
+ |
+ |
// Called when |fetcher| finishes fetching. |
void OnFetchComplete(Fetcher* fetcher); |