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

Side by Side Diff: chrome/browser/net/chrome_url_request_context.h

Issue 6410115: Adds navigator.registerProtocolHandler. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Responded to comments, prevents rph on privileged protocols. Created 9 years, 10 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_NET_CHROME_URL_REQUEST_CONTEXT_H_ 5 #ifndef CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
6 #define CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_ 6 #define CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/file_path.h" 12 #include "base/file_path.h"
13 #include "chrome/browser/appcache/chrome_appcache_service.h" 13 #include "chrome/browser/appcache/chrome_appcache_service.h"
14 #include "chrome/browser/chrome_blob_storage_context.h" 14 #include "chrome/browser/chrome_blob_storage_context.h"
15 #include "chrome/browser/content_settings/host_content_settings_map.h" 15 #include "chrome/browser/content_settings/host_content_settings_map.h"
16 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
16 #include "chrome/browser/extensions/extension_info_map.h" 17 #include "chrome/browser/extensions/extension_info_map.h"
17 #include "chrome/browser/extensions/extension_io_event_router.h" 18 #include "chrome/browser/extensions/extension_io_event_router.h"
18 #include "chrome/browser/extensions/extension_webrequest_api.h" 19 #include "chrome/browser/extensions/extension_webrequest_api.h"
19 #include "chrome/browser/host_zoom_map.h" 20 #include "chrome/browser/host_zoom_map.h"
20 #include "chrome/browser/io_thread.h" 21 #include "chrome/browser/io_thread.h"
21 #include "chrome/browser/net/chrome_cookie_policy.h" 22 #include "chrome/browser/net/chrome_cookie_policy.h"
22 #include "chrome/browser/prefs/pref_change_registrar.h" 23 #include "chrome/browser/prefs/pref_change_registrar.h"
23 #include "chrome/browser/prefs/pref_service.h" 24 #include "chrome/browser/prefs/pref_service.h"
24 #include "chrome/browser/prerender/prerender_manager.h" 25 #include "chrome/browser/prerender/prerender_manager.h"
25 #include "chrome/common/extensions/extension_icon_set.h" 26 #include "chrome/common/extensions/extension_icon_set.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 96 }
96 97
97 const ExtensionIOEventRouter* extension_io_event_router() const { 98 const ExtensionIOEventRouter* extension_io_event_router() const {
98 return extension_io_event_router_; 99 return extension_io_event_router_;
99 } 100 }
100 101
101 PrerenderManager* prerender_manager() { 102 PrerenderManager* prerender_manager() {
102 return prerender_manager_.get(); 103 return prerender_manager_.get();
103 } 104 }
104 105
106 const ProtocolHandlerRegistry* protocol_handler_registry() const {
107 return protocol_handler_registry_;
108 }
109
105 protected: 110 protected:
106 virtual ~ChromeURLRequestContext(); 111 virtual ~ChromeURLRequestContext();
107 112
108 public: 113 public:
109 // Setters to simplify initializing from factory objects. 114 // Setters to simplify initializing from factory objects.
110 115
111 void set_accept_language(const std::string& accept_language) { 116 void set_accept_language(const std::string& accept_language) {
112 accept_language_ = accept_language; 117 accept_language_ = accept_language;
113 } 118 }
114 void set_accept_charset(const std::string& accept_charset) { 119 void set_accept_charset(const std::string& accept_charset) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 } 166 }
162 void set_extension_info_map(ExtensionInfoMap* map) { 167 void set_extension_info_map(ExtensionInfoMap* map) {
163 extension_info_map_ = map; 168 extension_info_map_ = map;
164 } 169 }
165 void set_extension_io_event_router(ExtensionIOEventRouter* router) { 170 void set_extension_io_event_router(ExtensionIOEventRouter* router) {
166 extension_io_event_router_ = router; 171 extension_io_event_router_ = router;
167 } 172 }
168 void set_prerender_manager(PrerenderManager* prerender_manager) { 173 void set_prerender_manager(PrerenderManager* prerender_manager) {
169 prerender_manager_ = prerender_manager; 174 prerender_manager_ = prerender_manager;
170 } 175 }
176 void set_protocol_handler_registry(ProtocolHandlerRegistry* registry) {
177 protocol_handler_registry_ = registry;
178 }
171 179
172 // Callback for when the accept language changes. 180 // Callback for when the accept language changes.
173 void OnAcceptLanguageChange(const std::string& accept_language); 181 void OnAcceptLanguageChange(const std::string& accept_language);
174 182
175 // Callback for when the default charset changes. 183 // Callback for when the default charset changes.
176 void OnDefaultCharsetChange(const std::string& default_charset); 184 void OnDefaultCharsetChange(const std::string& default_charset);
177 185
178 protected: 186 protected:
179 // Path to the directory user scripts are stored in. 187 // Path to the directory user scripts are stored in.
180 FilePath user_script_dir_path_; 188 FilePath user_script_dir_path_;
181 189
182 // TODO(willchan): Make these non-refcounted. 190 // TODO(willchan): Make these non-refcounted.
183 scoped_refptr<ChromeAppCacheService> appcache_service_; 191 scoped_refptr<ChromeAppCacheService> appcache_service_;
184 scoped_refptr<webkit_database::DatabaseTracker> database_tracker_; 192 scoped_refptr<webkit_database::DatabaseTracker> database_tracker_;
185 scoped_refptr<ChromeCookiePolicy> chrome_cookie_policy_; 193 scoped_refptr<ChromeCookiePolicy> chrome_cookie_policy_;
186 scoped_refptr<HostContentSettingsMap> host_content_settings_map_; 194 scoped_refptr<HostContentSettingsMap> host_content_settings_map_;
187 scoped_refptr<HostZoomMap> host_zoom_map_; 195 scoped_refptr<HostZoomMap> host_zoom_map_;
188 scoped_refptr<ChromeBlobStorageContext> blob_storage_context_; 196 scoped_refptr<ChromeBlobStorageContext> blob_storage_context_;
189 scoped_refptr<fileapi::SandboxedFileSystemContext> file_system_context_; 197 scoped_refptr<fileapi::SandboxedFileSystemContext> file_system_context_;
190 // TODO(aa): This should use chrome/common/extensions/extension_set.h. 198 // TODO(aa): This should use chrome/common/extensions/extension_set.h.
191 scoped_refptr<ExtensionInfoMap> extension_info_map_; 199 scoped_refptr<ExtensionInfoMap> extension_info_map_;
192 scoped_refptr<ExtensionIOEventRouter> extension_io_event_router_; 200 scoped_refptr<ExtensionIOEventRouter> extension_io_event_router_;
193 scoped_refptr<PrerenderManager> prerender_manager_; 201 scoped_refptr<PrerenderManager> prerender_manager_;
202 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry_;
194 203
195 bool is_off_the_record_; 204 bool is_off_the_record_;
196 205
197 private: 206 private:
198 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContext); 207 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContext);
199 }; 208 };
200 209
201 // A URLRequestContextGetter subclass used by the browser. This returns a 210 // A URLRequestContextGetter subclass used by the browser. This returns a
202 // subclass of net::URLRequestContext which can be used to store extra 211 // subclass of net::URLRequestContext which can be used to store extra
203 // information about requests. 212 // information about requests.
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 scoped_refptr<webkit_database::DatabaseTracker> database_tracker_; 356 scoped_refptr<webkit_database::DatabaseTracker> database_tracker_;
348 scoped_refptr<HostZoomMap> host_zoom_map_; 357 scoped_refptr<HostZoomMap> host_zoom_map_;
349 scoped_refptr<net::TransportSecurityState> transport_security_state_; 358 scoped_refptr<net::TransportSecurityState> transport_security_state_;
350 scoped_refptr<net::SSLConfigService> ssl_config_service_; 359 scoped_refptr<net::SSLConfigService> ssl_config_service_;
351 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate_; 360 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate_;
352 scoped_refptr<ChromeBlobStorageContext> blob_storage_context_; 361 scoped_refptr<ChromeBlobStorageContext> blob_storage_context_;
353 scoped_refptr<fileapi::SandboxedFileSystemContext> file_system_context_; 362 scoped_refptr<fileapi::SandboxedFileSystemContext> file_system_context_;
354 scoped_refptr<ExtensionInfoMap> extension_info_map_; 363 scoped_refptr<ExtensionInfoMap> extension_info_map_;
355 scoped_refptr<ExtensionIOEventRouter> extension_io_event_router_; 364 scoped_refptr<ExtensionIOEventRouter> extension_io_event_router_;
356 scoped_refptr<PrerenderManager> prerender_manager_; 365 scoped_refptr<PrerenderManager> prerender_manager_;
366 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry_;
357 367
358 FilePath profile_dir_path_; 368 FilePath profile_dir_path_;
359 369
360 private: 370 private:
361 IOThread* const io_thread_; 371 IOThread* const io_thread_;
362 372
363 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContextFactory); 373 DISALLOW_COPY_AND_ASSIGN(ChromeURLRequestContextFactory);
364 }; 374 };
365 375
366 #endif // CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_ 376 #endif // CHROME_BROWSER_NET_CHROME_URL_REQUEST_CONTEXT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698