| 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 2ba0fb6feb433dea69e0499be9f183fe27d51c46..3f19b3c0817954e516767854af99d7beceb27cc1 100644
|
| --- a/chrome/browser/signin/oauth2_token_service.h
|
| +++ b/chrome/browser/signin/oauth2_token_service.h
|
| @@ -14,6 +14,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/time.h"
|
| #include "chrome/browser/profiles/profile_keyed_service.h"
|
| +#include "chrome/browser/signin/signin_global_error.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "net/url_request/url_request_context_getter.h"
|
| @@ -46,6 +47,7 @@ class Profile;
|
| // Note the request should be started from the UI thread. To start a request
|
| // from other thread, please use OAuth2TokenServiceRequest.
|
| class OAuth2TokenService : public content::NotificationObserver,
|
| + public SigninGlobalError::AuthStatusProvider,
|
| public ProfileKeyedService {
|
| public:
|
| // Class representing a request that fetches an OAuth2 access token.
|
| @@ -80,6 +82,9 @@ class OAuth2TokenService : public content::NotificationObserver,
|
| // Initializes this token service with the profile.
|
| void Initialize(Profile* profile);
|
|
|
| + // ProfileKeyedService implementation.
|
| + virtual void Shutdown() OVERRIDE;
|
| +
|
| // Starts a request for an OAuth2 access token using the OAuth2 refresh token
|
| // maintained by TokenService. The caller owns the returned Request. |scopes|
|
| // is the set of scopes to get an access token for, |consumer| is the object
|
| @@ -99,6 +104,9 @@ class OAuth2TokenService : public content::NotificationObserver,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
|
|
| + // SigninGlobalError::AuthStatusProvider implementation.
|
| + virtual GoogleServiceAuthError GetAuthStatus() const OVERRIDE;
|
| +
|
| private:
|
| // Class that fetches an OAuth2 access token for a given set of scopes and
|
| // OAuth2 refresh token.
|
| @@ -135,9 +143,16 @@ class OAuth2TokenService : public content::NotificationObserver,
|
| // Called when |fetcher| finishes fetching.
|
| void OnFetchComplete(Fetcher* fetcher);
|
|
|
| + // Updates the internal cache of the result from the most-recently-completed
|
| + // auth request (used for reporting errors to the user).
|
| + void UpdateAuthError(const GoogleServiceAuthError& error);
|
| +
|
| // The profile with which this instance was initialized, or NULL.
|
| Profile* profile_;
|
|
|
| + // The auth status from the most-recently-completed request.
|
| + GoogleServiceAuthError last_auth_error_;
|
| +
|
| // Getter to use for fetchers.
|
| scoped_refptr<net::URLRequestContextGetter> getter_;
|
|
|
|
|