Index: components/ntp_snippets/remote/remote_suggestions_fetcher.h |
diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher.h b/components/ntp_snippets/remote/remote_suggestions_fetcher.h |
index f767f1cfa9914324f6a3ffb15ca31ff01d7d2a48..ffe7fd9be043cac5ddbec46715d71e16ce759f20 100644 |
--- a/components/ntp_snippets/remote/remote_suggestions_fetcher.h |
+++ b/components/ntp_snippets/remote/remote_suggestions_fetcher.h |
@@ -25,6 +25,8 @@ |
#include "components/version_info/version_info.h" |
#include "net/url_request/url_request_context_getter.h" |
+class AccessTokenFetcher; |
+class OAuth2TokenService; |
class PrefService; |
class SigninManagerBase; |
@@ -60,8 +62,7 @@ CategoryInfo BuildRemoteCategoryInfo(const base::string16& title, |
// TODO(fhorschig): Untangle cyclic dependencies by introducing a |
// RemoteSuggestionsFetcherInterface. (Would be good for mock implementations, |
// too!) |
-class RemoteSuggestionsFetcher : public OAuth2TokenService::Consumer, |
- public OAuth2TokenService::Observer { |
+class RemoteSuggestionsFetcher { |
public: |
struct FetchedCategory { |
Category category; |
@@ -90,7 +91,7 @@ class RemoteSuggestionsFetcher : public OAuth2TokenService::Consumer, |
const GURL& api_endpoint, |
const std::string& api_key, |
const UserClassifier* user_classifier); |
- ~RemoteSuggestionsFetcher() override; |
+ ~RemoteSuggestionsFetcher(); |
// Initiates a fetch from the server. When done (successfully or not), calls |
// the callback. |
@@ -135,22 +136,15 @@ class RemoteSuggestionsFetcher : public OAuth2TokenService::Consumer, |
SnippetsAvailableCallback callback); |
void FetchSnippetsAuthenticated(internal::JsonRequest::Builder builder, |
SnippetsAvailableCallback callback, |
- const std::string& account_id, |
const std::string& oauth_access_token); |
void StartRequest(internal::JsonRequest::Builder builder, |
SnippetsAvailableCallback callback); |
void StartTokenRequest(); |
- // OAuth2TokenService::Consumer overrides: |
- void OnGetTokenSuccess(const OAuth2TokenService::Request* request, |
- const std::string& access_token, |
- const base::Time& expiration_time) override; |
- void OnGetTokenFailure(const OAuth2TokenService::Request* request, |
- const GoogleServiceAuthError& error) override; |
- |
- // OAuth2TokenService::Observer overrides: |
- void OnRefreshTokenAvailable(const std::string& account_id) override; |
+ void AccessTokenFetchFinished(const GoogleServiceAuthError& error, |
+ const std::string& access_token); |
+ void AccessTokenError(const GoogleServiceAuthError& error); |
void JsonRequestDone(std::unique_ptr<internal::JsonRequest> request, |
SnippetsAvailableCallback callback, |
@@ -169,11 +163,8 @@ class RemoteSuggestionsFetcher : public OAuth2TokenService::Consumer, |
// Authentication for signed-in users. |
SigninManagerBase* signin_manager_; |
OAuth2TokenService* token_service_; |
- std::unique_ptr<OAuth2TokenService::Request> oauth_request_; |
- bool waiting_for_refresh_token_ = false; |
- // When a token request gets canceled, we want to retry once. |
- bool oauth_token_retried_ = false; |
+ std::unique_ptr<AccessTokenFetcher> token_fetcher_; |
// Holds the URL request context. |
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; |