Chromium Code Reviews| Index: chrome/browser/search_engines/template_url_fetcher.h |
| diff --git a/chrome/browser/search_engines/template_url_fetcher.h b/chrome/browser/search_engines/template_url_fetcher.h |
| index d85ec19bae2a1dd92f216a08f0ef15f01e4a8300..55e612172d99ca15ac485b1d8c2dee88072f51eb 100644 |
| --- a/chrome/browser/search_engines/template_url_fetcher.h |
| +++ b/chrome/browser/search_engines/template_url_fetcher.h |
| @@ -5,33 +5,42 @@ |
| #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ |
| #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ |
| +#include "base/callback_forward.h" |
| +#include "base/memory/ref_counted.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/memory/scoped_vector.h" |
| #include "base/strings/string16.h" |
| #include "components/keyed_service/core/keyed_service.h" |
| -#include "ui/gfx/native_widget_types.h" |
| class GURL; |
| -class Profile; |
| class TemplateURL; |
| -class TemplateURLFetcherCallbacks; |
| +class TemplateURLService; |
| namespace content { |
| class WebContents; |
| } |
| +namespace net { |
| +class URLRequestContextGetter; |
| +} |
| + |
| // TemplateURLFetcher is responsible for downloading OpenSearch description |
| // documents, creating a TemplateURL from the OSDD, and adding the TemplateURL |
| // to the TemplateURLService. Downloading is done in the background. |
| // |
| class TemplateURLFetcher : public KeyedService { |
| public: |
| + typedef base::Callback<void( |
| + scoped_ptr<TemplateURL> template_url)> ConfirmAddSearchProviderCallback; |
| + |
| enum ProviderType { |
| AUTODETECTED_PROVIDER, |
| EXPLICIT_PROVIDER // Supplied by Javascript. |
| }; |
| - // Creates a TemplateURLFetcher with the specified Profile. |
| - explicit TemplateURLFetcher(Profile* profile); |
| + // Creates a TemplateURLFetcher. |
| + TemplateURLFetcher(TemplateURLService* template_url_service, |
| + net::URLRequestContextGetter* request_context); |
| virtual ~TemplateURLFetcher(); |
| // If TemplateURLFetcher is not already downloading the OSDD for osdd_url, |
| @@ -50,7 +59,7 @@ class TemplateURLFetcher : public KeyedService { |
| const GURL& osdd_url, |
| const GURL& favicon_url, |
| content::WebContents* web_contents, |
| - TemplateURLFetcherCallbacks* callbacks, |
| + const ConfirmAddSearchProviderCallback& callback, |
| ProviderType provider_type); |
| // The current number of outstanding requests. |
| @@ -64,12 +73,12 @@ class TemplateURLFetcher : public KeyedService { |
| typedef ScopedVector<RequestDelegate> Requests; |
| - Profile* profile() const { return profile_; } |
| - |
| // Invoked from the RequestDelegate when done downloading. |
| void RequestCompleted(RequestDelegate* request); |
| - Profile* profile_; |
| + TemplateURLService* template_url_service_; |
| + |
|
Peter Kasting
2014/07/07 22:48:44
Nit: Unnecessary blank line
hashimoto
2014/07/08 00:19:36
Done.
|
| + scoped_refptr<net::URLRequestContextGetter> request_context_; |
| // In progress requests. |
| Requests requests_; |