Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: chrome/browser/search_engines/template_url_fetcher.h

Issue 9572001: Do cookie checks in NetworkDelegate instead of the URLRequest::Delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ 5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_
6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ 6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
11 #include "ui/gfx/native_widget_types.h" 11 #include "ui/gfx/native_widget_types.h"
12 12
13 class GURL; 13 class GURL;
14 class Profile; 14 class Profile;
15 class TemplateURL; 15 class TemplateURL;
16 class TemplateURLFetcherCallbacks; 16 class TemplateURLFetcherCallbacks;
17 17
18 namespace content {
19 class WebContents;
20 }
21
18 // TemplateURLFetcher is responsible for downloading OpenSearch description 22 // TemplateURLFetcher is responsible for downloading OpenSearch description
19 // documents, creating a TemplateURL from the OSDD, and adding the TemplateURL 23 // documents, creating a TemplateURL from the OSDD, and adding the TemplateURL
20 // to the TemplateURLService. Downloading is done in the background. 24 // to the TemplateURLService. Downloading is done in the background.
21 // 25 //
22 class TemplateURLFetcher { 26 class TemplateURLFetcher {
23 public: 27 public:
24 enum ProviderType { 28 enum ProviderType {
25 AUTODETECTED_PROVIDER, 29 AUTODETECTED_PROVIDER,
26 EXPLICIT_PROVIDER // Supplied by Javascript. 30 EXPLICIT_PROVIDER // Supplied by Javascript.
27 }; 31 };
28 32
29 // Creates a TemplateURLFetcher with the specified Profile. 33 // Creates a TemplateURLFetcher with the specified Profile.
30 explicit TemplateURLFetcher(Profile* profile); 34 explicit TemplateURLFetcher(Profile* profile);
31 ~TemplateURLFetcher(); 35 ~TemplateURLFetcher();
32 36
33 // If TemplateURLFetcher is not already downloading the OSDD for osdd_url, 37 // If TemplateURLFetcher is not already downloading the OSDD for osdd_url,
34 // it is downloaded. If successful and the result can be parsed, a TemplateURL 38 // it is downloaded. If successful and the result can be parsed, a TemplateURL
35 // is added to the TemplateURLService. Takes ownership of |callbacks|. 39 // is added to the TemplateURLService. Takes ownership of |callbacks|.
40 // |web_contents| specifies which WebContents displays the page the OSDD is
41 // downloaded for. |web_contents| must not be NULL, except for during tests.
36 void ScheduleDownload(const string16& keyword, 42 void ScheduleDownload(const string16& keyword,
37 const GURL& osdd_url, 43 const GURL& osdd_url,
38 const GURL& favicon_url, 44 const GURL& favicon_url,
45 content::WebContents* web_contents,
39 TemplateURLFetcherCallbacks* callbacks, 46 TemplateURLFetcherCallbacks* callbacks,
40 ProviderType provider_type); 47 ProviderType provider_type);
41 48
42 // The current number of outstanding requests. 49 // The current number of outstanding requests.
43 int requests_count() const { return requests_->size(); } 50 int requests_count() const { return requests_->size(); }
44 51
45 private: 52 private:
46 friend class RequestDelegate; 53 friend class RequestDelegate;
47 54
48 // A RequestDelegate is created to download each OSDD. When done downloading 55 // A RequestDelegate is created to download each OSDD. When done downloading
49 // RequestCompleted is invoked back on the TemplateURLFetcher. 56 // RequestCompleted is invoked back on the TemplateURLFetcher.
50 class RequestDelegate; 57 class RequestDelegate;
51 58
52 Profile* profile() const { return profile_; } 59 Profile* profile() const { return profile_; }
53 60
54 // Invoked from the RequestDelegate when done downloading. 61 // Invoked from the RequestDelegate when done downloading.
55 void RequestCompleted(RequestDelegate* request); 62 void RequestCompleted(RequestDelegate* request);
56 63
57 Profile* profile_; 64 Profile* profile_;
58 65
59 // In progress requests. 66 // In progress requests.
60 ScopedVector<RequestDelegate> requests_; 67 ScopedVector<RequestDelegate> requests_;
61 68
62 DISALLOW_COPY_AND_ASSIGN(TemplateURLFetcher); 69 DISALLOW_COPY_AND_ASSIGN(TemplateURLFetcher);
63 }; 70 };
64 71
65 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ 72 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_
OLDNEW
« no previous file with comments | « chrome/browser/profiles/profile_io_data.cc ('k') | chrome/browser/search_engines/template_url_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698