Index: components/suggestions/suggestions_service_impl.h |
diff --git a/components/suggestions/suggestions_service_impl.h b/components/suggestions/suggestions_service_impl.h |
index fe304719c37c9efc0d5d4b1792a635e609cf0fd5..740bb8f8d9055781c74011b4a9231c15a7dcf16c 100644 |
--- a/components/suggestions/suggestions_service_impl.h |
+++ b/components/suggestions/suggestions_service_impl.h |
@@ -19,9 +19,11 @@ |
#include "base/scoped_observer.h" |
#include "base/threading/thread_checker.h" |
#include "base/time/time.h" |
+#include "components/signin/core/browser/access_token_fetcher.h" |
#include "components/suggestions/proto/suggestions.pb.h" |
#include "components/suggestions/suggestions_service.h" |
#include "components/sync/driver/sync_service_observer.h" |
+#include "google_apis/gaia/google_service_auth_error.h" |
#include "net/url_request/url_fetcher_delegate.h" |
#include "url/gurl.h" |
@@ -51,7 +53,7 @@ class SuggestionsServiceImpl : public SuggestionsService, |
public net::URLFetcherDelegate, |
public syncer::SyncServiceObserver { |
public: |
- SuggestionsServiceImpl(const SigninManagerBase* signin_manager, |
+ SuggestionsServiceImpl(SigninManagerBase* signin_manager, |
OAuth2TokenService* token_service, |
syncer::SyncService* sync_service, |
net::URLRequestContextGetter* url_request_context, |
@@ -119,9 +121,13 @@ class SuggestionsServiceImpl : public SuggestionsService, |
// Issues a network request if there isn't already one happening. |
void IssueRequestIfNoneOngoing(const GURL& url); |
+ // Called when an access token request completes (successfully or not). |
+ void AccessTokenAvailable(const GURL& url, |
+ const GoogleServiceAuthError& error, |
+ const std::string& access_token); |
+ |
// Issues a network request for suggestions (fetch, blacklist, or clear |
- // blacklist, depending on |url|). |access_token| is used only if OAuth2 |
- // authentication is enabled. |
+ // blacklist, depending on |url|). |
void IssueSuggestionsRequest(const GURL& url, |
const std::string& access_token); |
@@ -159,6 +165,9 @@ class SuggestionsServiceImpl : public SuggestionsService, |
base::ThreadChecker thread_checker_; |
+ SigninManagerBase* signin_manager_; |
+ OAuth2TokenService* token_service_; |
+ |
syncer::SyncService* sync_service_; |
ScopedObserver<syncer::SyncService, syncer::SyncServiceObserver> |
sync_service_observer_; |
@@ -177,8 +186,8 @@ class SuggestionsServiceImpl : public SuggestionsService, |
// Delay used when scheduling a blacklisting task. |
base::TimeDelta scheduling_delay_; |
- // Helper for fetching OAuth2 access tokens. |
- class AccessTokenFetcher; |
+ // Helper for fetching OAuth2 access tokens. This is non-null iff an access |
+ // token request is currently in progress. |
std::unique_ptr<AccessTokenFetcher> token_fetcher_; |
// Contains the current suggestions fetch request. Will only have a value |