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

Side by Side Diff: net/url_request/url_request_context_builder.cc

Issue 11931024: Removed static factories for data, ftp, file, and about jobs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync (r198785) Created 7 years, 7 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 #include "net/url_request/url_request_context_builder.h" 5 #include "net/url_request/url_request_context_builder.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/thread_task_runner_handle.h" 13 #include "base/thread_task_runner_handle.h"
14 #include "base/threading/thread.h" 14 #include "base/threading/thread.h"
15 #include "net/base/net_errors.h" 15 #include "net/base/net_errors.h"
16 #include "net/base/network_delegate.h" 16 #include "net/base/network_delegate.h"
17 #include "net/cert/cert_verifier.h" 17 #include "net/cert/cert_verifier.h"
18 #include "net/cookies/cookie_monster.h" 18 #include "net/cookies/cookie_monster.h"
19 #include "net/dns/host_resolver.h" 19 #include "net/dns/host_resolver.h"
20 #include "net/ftp/ftp_network_layer.h" 20 #include "net/ftp/ftp_network_layer.h"
21 #include "net/http/http_auth_handler_factory.h" 21 #include "net/http/http_auth_handler_factory.h"
22 #include "net/http/http_cache.h" 22 #include "net/http/http_cache.h"
23 #include "net/http/http_network_layer.h" 23 #include "net/http/http_network_layer.h"
24 #include "net/http/http_network_session.h" 24 #include "net/http/http_network_session.h"
25 #include "net/http/http_server_properties_impl.h" 25 #include "net/http/http_server_properties_impl.h"
26 #include "net/http/transport_security_state.h" 26 #include "net/http/transport_security_state.h"
27 #include "net/proxy/proxy_service.h" 27 #include "net/proxy/proxy_service.h"
28 #include "net/ssl/ssl_config_service_defaults.h" 28 #include "net/ssl/ssl_config_service_defaults.h"
29 #include "net/url_request/data_protocol_handler.h"
30 #include "net/url_request/file_protocol_handler.h"
31 #include "net/url_request/ftp_protocol_handler.h"
29 #include "net/url_request/static_http_user_agent_settings.h" 32 #include "net/url_request/static_http_user_agent_settings.h"
30 #include "net/url_request/url_request_context.h" 33 #include "net/url_request/url_request_context.h"
31 #include "net/url_request/url_request_context_storage.h" 34 #include "net/url_request/url_request_context_storage.h"
35 #include "net/url_request/url_request_job_factory_impl.h"
32 36
33 namespace net { 37 namespace net {
34 38
35 namespace { 39 namespace {
36 40
37 class BasicNetworkDelegate : public NetworkDelegate { 41 class BasicNetworkDelegate : public NetworkDelegate {
38 public: 42 public:
39 BasicNetworkDelegate() {} 43 BasicNetworkDelegate() {}
40 virtual ~BasicNetworkDelegate() {} 44 virtual ~BasicNetworkDelegate() {}
41 45
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 host_mapping_rules(NULL), 177 host_mapping_rules(NULL),
174 http_pipelining_enabled(false), 178 http_pipelining_enabled(false),
175 testing_fixed_http_port(0), 179 testing_fixed_http_port(0),
176 testing_fixed_https_port(0), 180 testing_fixed_https_port(0),
177 trusted_spdy_proxy() {} 181 trusted_spdy_proxy() {}
178 182
179 URLRequestContextBuilder::HttpNetworkSessionParams::~HttpNetworkSessionParams() 183 URLRequestContextBuilder::HttpNetworkSessionParams::~HttpNetworkSessionParams()
180 {} 184 {}
181 185
182 URLRequestContextBuilder::URLRequestContextBuilder() 186 URLRequestContextBuilder::URLRequestContextBuilder()
183 : ftp_enabled_(false), 187 : data_enabled_(false),
188 file_enabled_(false),
189 #if !defined(DISABLE_FTP_SUPPORT)
190 ftp_enabled_(false),
191 #endif
184 http_cache_enabled_(true) {} 192 http_cache_enabled_(true) {}
185 URLRequestContextBuilder::~URLRequestContextBuilder() {} 193 URLRequestContextBuilder::~URLRequestContextBuilder() {}
186 194
187 #if defined(OS_LINUX) || defined(OS_ANDROID) 195 #if defined(OS_LINUX) || defined(OS_ANDROID)
188 void URLRequestContextBuilder::set_proxy_config_service( 196 void URLRequestContextBuilder::set_proxy_config_service(
189 ProxyConfigService* proxy_config_service) { 197 ProxyConfigService* proxy_config_service) {
190 proxy_config_service_.reset(proxy_config_service); 198 proxy_config_service_.reset(proxy_config_service);
191 } 199 }
192 #endif // defined(OS_LINUX) || defined(OS_ANDROID) 200 #endif // defined(OS_LINUX) || defined(OS_ANDROID)
193 201
194 URLRequestContext* URLRequestContextBuilder::Build() { 202 URLRequestContext* URLRequestContextBuilder::Build() {
195 BasicURLRequestContext* context = new BasicURLRequestContext; 203 BasicURLRequestContext* context = new BasicURLRequestContext;
196 URLRequestContextStorage* storage = context->storage(); 204 URLRequestContextStorage* storage = context->storage();
197 205
198 storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings( 206 storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings(
199 accept_language_, user_agent_)); 207 accept_language_, user_agent_));
200 208
201 if (!network_delegate_) 209 if (!network_delegate_)
202 network_delegate_.reset(new BasicNetworkDelegate); 210 network_delegate_.reset(new BasicNetworkDelegate);
203 NetworkDelegate* network_delegate = network_delegate_.release(); 211 NetworkDelegate* network_delegate = network_delegate_.release();
204 storage->set_network_delegate(network_delegate); 212 storage->set_network_delegate(network_delegate);
205 213
206 storage->set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL)); 214 storage->set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL));
207 215
208 if (ftp_enabled_) {
209 storage->set_ftp_transaction_factory(
210 new FtpNetworkLayer(context->host_resolver()));
211 }
212
213 context->StartFileThread(); 216 context->StartFileThread();
214 217
215 // TODO(willchan): Switch to using this code when 218 // TODO(willchan): Switch to using this code when
216 // ProxyService::CreateSystemProxyConfigService()'s signature doesn't suck. 219 // ProxyService::CreateSystemProxyConfigService()'s signature doesn't suck.
217 #if defined(OS_LINUX) || defined(OS_ANDROID) 220 #if defined(OS_LINUX) || defined(OS_ANDROID)
218 ProxyConfigService* proxy_config_service = proxy_config_service_.release(); 221 ProxyConfigService* proxy_config_service = proxy_config_service_.release();
219 #else 222 #else
220 ProxyConfigService* proxy_config_service = 223 ProxyConfigService* proxy_config_service =
221 ProxyService::CreateSystemProxyConfigService( 224 ProxyService::CreateSystemProxyConfigService(
222 base::ThreadTaskRunnerHandle::Get(), 225 base::ThreadTaskRunnerHandle::Get(),
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 http_transaction_factory = new HttpCache( 286 http_transaction_factory = new HttpCache(
284 network_session_params, http_cache_backend); 287 network_session_params, http_cache_backend);
285 } else { 288 } else {
286 scoped_refptr<net::HttpNetworkSession> network_session( 289 scoped_refptr<net::HttpNetworkSession> network_session(
287 new net::HttpNetworkSession(network_session_params)); 290 new net::HttpNetworkSession(network_session_params));
288 291
289 http_transaction_factory = new HttpNetworkLayer(network_session); 292 http_transaction_factory = new HttpNetworkLayer(network_session);
290 } 293 }
291 storage->set_http_transaction_factory(http_transaction_factory); 294 storage->set_http_transaction_factory(http_transaction_factory);
292 295
296 URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl;
297 if (data_enabled_)
298 job_factory->SetProtocolHandler("data", new DataProtocolHandler);
299 if (file_enabled_)
300 job_factory->SetProtocolHandler("file", new FileProtocolHandler);
301 #if !defined(DISABLE_FTP_SUPPORT)
302 if (ftp_enabled_) {
303 ftp_transaction_factory_.reset(
304 new FtpNetworkLayer(context->host_resolver()));
305 job_factory->SetProtocolHandler("ftp",
306 new FtpProtocolHandler(ftp_transaction_factory_.get()));
307 }
308 #endif
309 storage->set_job_factory(job_factory);
310
293 // TODO(willchan): Support sdch. 311 // TODO(willchan): Support sdch.
294 312
295 return context; 313 return context;
296 } 314 }
297 315
298 } // namespace net 316 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/url_request_context_builder.h ('k') | net/url_request/url_request_context_storage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698