Chromium Code Reviews| Index: google_apis/gaia/oauth2_token_service.h |
| diff --git a/google_apis/gaia/oauth2_token_service.h b/google_apis/gaia/oauth2_token_service.h |
| index 967dc93ee35955d714c93e4a0dc16337307aa7b3..6c24fb358dbbbb9c324068dfadbf381a3595c779 100644 |
| --- a/google_apis/gaia/oauth2_token_service.h |
| +++ b/google_apis/gaia/oauth2_token_service.h |
| @@ -72,8 +72,6 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // Classes that want to listen for token availability should implement this |
| // interface and register with the AddObserver() call. |
| - // TODO(rogerta): may get rid of |error| argument for OnRefreshTokenRevoked() |
| - // once we stop supporting ClientLogin. Need to evaluate if its still useful. |
| class Observer { |
| public: |
| // Called whenever a new login-scoped refresh token is available for |
| @@ -87,8 +85,6 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // Called after all refresh tokens are loaded during OAuth2TokenService |
| // startup. |
| virtual void OnRefreshTokensLoaded() {} |
| - // Called after all refresh tokens are removed from OAuth2TokenService. |
| - virtual void OnRefreshTokensCleared() {} |
| protected: |
| virtual ~Observer() {} |
| }; |
| @@ -111,13 +107,15 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // is not deleted. |
| // TODO(atwilson): Make this non-virtual when we change |
| // ProfileOAuth2TokenServiceRequestTest to use FakeProfileOAuth2TokenService. |
| - virtual scoped_ptr<Request> StartRequest(const ScopeSet& scopes, |
| + virtual scoped_ptr<Request> StartRequest(const std::string& account_id, |
|
Mattias Nissler (ping if slow)
2013/09/06 09:34:48
It'd be helpful to explain how account_id affects
fgorski
2013/09/12 23:46:24
Done. I've updated the documentation in the class
|
| + const ScopeSet& scopes, |
| Consumer* consumer); |
| // This method does the same as |StartRequest| except it uses |client_id| and |
| // |client_secret| to identify OAuth client app instead of using |
| // Chrome's default values. |
| scoped_ptr<Request> StartRequestForClient( |
| + const std::string& account_id, |
| const std::string& client_id, |
| const std::string& client_secret, |
| const ScopeSet& scopes, |
| @@ -127,13 +125,17 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // context given by |getter| instead of using the one returned by |
| // |GetRequestContext| implemented by derived classes. |
| scoped_ptr<Request> StartRequestWithContext( |
| + const std::string& account_id, |
| net::URLRequestContextGetter* getter, |
| const ScopeSet& scopes, |
| Consumer* consumer); |
| + // Lists account IDs of all accounts with a refresh token. |
| + virtual std::vector<std::string> GetAccounts(); |
| + |
| // Returns true if a refresh token exists. If false, calls to |
| // |StartRequest| will result in a Consumer::OnGetTokenFailure callback. |
| - virtual bool RefreshTokenIsAvailable(); |
| + virtual bool RefreshTokenIsAvailable(const std::string& account_id); |
| // 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., |
| @@ -170,10 +172,12 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // Subclasses should return the refresh token maintained. |
| // If no token is available, return an empty string. |
| - virtual std::string GetRefreshToken() = 0; |
| + virtual std::string GetRefreshToken(const std::string& account_id) = 0; |
| // Subclasses can override if they want to report errors to the user. |
| - virtual void UpdateAuthError(const GoogleServiceAuthError& error); |
| + virtual void UpdateAuthError( |
| + const std::string& account_id, |
| + const GoogleServiceAuthError& error); |
| // Add a new entry to the cache. |
| // Subclasses can override if there are implementation-specific reasons |
| @@ -206,7 +210,6 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| void FireRefreshTokenAvailable(const std::string& account_id); |
| void FireRefreshTokenRevoked(const std::string& account_id); |
| void FireRefreshTokensLoaded(); |
| - void FireRefreshTokensCleared(); |
| // Derived classes must provide a request context used for fetching access |
| // tokens with the |StartRequest| method. |
| @@ -215,6 +218,7 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // Fetches an OAuth token for the specified client/scopes. Virtual so it can |
| // be overridden for tests and for platform-specific behavior on Android. |
| virtual void FetchOAuth2Token(RequestImpl* request, |
| + const std::string& account_id, |
| net::URLRequestContextGetter* getter, |
| const std::string& client_id, |
| const std::string& client_secret, |
| @@ -236,6 +240,7 @@ class OAuth2TokenService : public base::NonThreadSafe { |
| // uses |client_id| and |client_secret| to identify OAuth |
| // client app instead of using Chrome's default values. |
| scoped_ptr<Request> StartRequestForClientWithContext( |
| + const std::string& account_id, |
| net::URLRequestContextGetter* getter, |
| const std::string& client_id, |
| const std::string& client_secret, |