| OLD | NEW |
| 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" |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 | 202 |
| 203 URLRequestContextBuilder::URLRequestContextBuilder() | 203 URLRequestContextBuilder::URLRequestContextBuilder() |
| 204 : data_enabled_(false), | 204 : data_enabled_(false), |
| 205 #if !defined(DISABLE_FILE_SUPPORT) | 205 #if !defined(DISABLE_FILE_SUPPORT) |
| 206 file_enabled_(false), | 206 file_enabled_(false), |
| 207 #endif | 207 #endif |
| 208 #if !defined(DISABLE_FTP_SUPPORT) | 208 #if !defined(DISABLE_FTP_SUPPORT) |
| 209 ftp_enabled_(false), | 209 ftp_enabled_(false), |
| 210 #endif | 210 #endif |
| 211 http_cache_enabled_(true), | 211 http_cache_enabled_(true), |
| 212 throttling_enabled_(false), | 212 throttling_enabled_(false) { |
| 213 channel_id_enabled_(true) { | |
| 214 } | 213 } |
| 215 | 214 |
| 216 URLRequestContextBuilder::~URLRequestContextBuilder() {} | 215 URLRequestContextBuilder::~URLRequestContextBuilder() {} |
| 217 | 216 |
| 218 void URLRequestContextBuilder::EnableHttpCache(const HttpCacheParams& params) { | 217 void URLRequestContextBuilder::EnableHttpCache(const HttpCacheParams& params) { |
| 219 http_cache_enabled_ = true; | 218 http_cache_enabled_ = true; |
| 220 http_cache_params_ = params; | 219 http_cache_params_ = params; |
| 221 } | 220 } |
| 222 | 221 |
| 223 void URLRequestContextBuilder::DisableHttpCache() { | 222 void URLRequestContextBuilder::DisableHttpCache() { |
| 224 http_cache_enabled_ = false; | 223 http_cache_enabled_ = false; |
| 225 http_cache_params_ = HttpCacheParams(); | 224 http_cache_params_ = HttpCacheParams(); |
| 226 } | 225 } |
| 227 | 226 |
| 228 void URLRequestContextBuilder::SetSpdyAndQuicEnabled(bool spdy_enabled, | 227 void URLRequestContextBuilder::SetSpdyAndQuicEnabled(bool spdy_enabled, |
| 229 bool quic_enabled) { | 228 bool quic_enabled) { |
| 230 http_network_session_params_.next_protos = | 229 http_network_session_params_.next_protos = |
| 231 NextProtosWithSpdyAndQuic(spdy_enabled, quic_enabled); | 230 NextProtosWithSpdyAndQuic(spdy_enabled, quic_enabled); |
| 232 http_network_session_params_.enable_quic = quic_enabled; | 231 http_network_session_params_.enable_quic = quic_enabled; |
| 233 } | 232 } |
| 234 | 233 |
| 234 void URLRequestContextBuilder::SetCookieAndChannelIdStores( |
| 235 const scoped_refptr<CookieStore>& cookie_store, |
| 236 scoped_ptr<ChannelIDService> channel_id_service) { |
| 237 DCHECK(cookie_store); |
| 238 cookie_store_ = cookie_store; |
| 239 channel_id_service_ = channel_id_service.Pass(); |
| 240 } |
| 241 |
| 235 URLRequestContext* URLRequestContextBuilder::Build() { | 242 URLRequestContext* URLRequestContextBuilder::Build() { |
| 236 BasicURLRequestContext* context = new BasicURLRequestContext; | 243 BasicURLRequestContext* context = new BasicURLRequestContext; |
| 237 URLRequestContextStorage* storage = context->storage(); | 244 URLRequestContextStorage* storage = context->storage(); |
| 238 | 245 |
| 239 storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings( | 246 storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings( |
| 240 accept_language_, user_agent_)); | 247 accept_language_, user_agent_)); |
| 241 | 248 |
| 242 if (!network_delegate_) | 249 if (!network_delegate_) |
| 243 network_delegate_.reset(new BasicNetworkDelegate); | 250 network_delegate_.reset(new BasicNetworkDelegate); |
| 244 NetworkDelegate* network_delegate = network_delegate_.release(); | 251 NetworkDelegate* network_delegate = network_delegate_.release(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 storage->set_ssl_config_service(new net::SSLConfigServiceDefaults); | 290 storage->set_ssl_config_service(new net::SSLConfigServiceDefaults); |
| 284 HttpAuthHandlerRegistryFactory* http_auth_handler_registry_factory = | 291 HttpAuthHandlerRegistryFactory* http_auth_handler_registry_factory = |
| 285 net::HttpAuthHandlerRegistryFactory::CreateDefault( | 292 net::HttpAuthHandlerRegistryFactory::CreateDefault( |
| 286 context->host_resolver()); | 293 context->host_resolver()); |
| 287 for (size_t i = 0; i < extra_http_auth_handlers_.size(); ++i) { | 294 for (size_t i = 0; i < extra_http_auth_handlers_.size(); ++i) { |
| 288 http_auth_handler_registry_factory->RegisterSchemeFactory( | 295 http_auth_handler_registry_factory->RegisterSchemeFactory( |
| 289 extra_http_auth_handlers_[i].scheme, | 296 extra_http_auth_handlers_[i].scheme, |
| 290 extra_http_auth_handlers_[i].factory); | 297 extra_http_auth_handlers_[i].factory); |
| 291 } | 298 } |
| 292 storage->set_http_auth_handler_factory(http_auth_handler_registry_factory); | 299 storage->set_http_auth_handler_factory(http_auth_handler_registry_factory); |
| 293 storage->set_cookie_store(new CookieMonster(NULL, NULL)); | |
| 294 | 300 |
| 295 if (channel_id_enabled_) { | 301 if (cookie_store_) { |
| 302 storage->set_cookie_store(cookie_store_.get()); |
| 303 storage->set_channel_id_service(channel_id_service_.Pass()); |
| 304 } else { |
| 305 storage->set_cookie_store(new CookieMonster(NULL, NULL)); |
| 296 // TODO(mmenke): This always creates a file thread, even when it ends up | 306 // TODO(mmenke): This always creates a file thread, even when it ends up |
| 297 // not being used. Consider lazily creating the thread. | 307 // not being used. Consider lazily creating the thread. |
| 298 storage->set_channel_id_service( | 308 storage->set_channel_id_service(make_scoped_ptr( |
| 299 new ChannelIDService( | 309 new ChannelIDService(new DefaultChannelIDStore(NULL), |
| 300 new DefaultChannelIDStore(NULL), | 310 context->GetFileThread()->message_loop_proxy()))); |
| 301 context->GetFileThread()->message_loop_proxy())); | |
| 302 } | 311 } |
| 303 | 312 |
| 304 storage->set_transport_security_state(new net::TransportSecurityState()); | 313 storage->set_transport_security_state(new net::TransportSecurityState()); |
| 305 if (!transport_security_persister_path_.empty()) { | 314 if (!transport_security_persister_path_.empty()) { |
| 306 context->set_transport_security_persister( | 315 context->set_transport_security_persister( |
| 307 make_scoped_ptr<TransportSecurityPersister>( | 316 make_scoped_ptr<TransportSecurityPersister>( |
| 308 new TransportSecurityPersister( | 317 new TransportSecurityPersister( |
| 309 context->transport_security_state(), | 318 context->transport_security_state(), |
| 310 transport_security_persister_path_, | 319 transport_security_persister_path_, |
| 311 context->GetFileThread()->message_loop_proxy(), | 320 context->GetFileThread()->message_loop_proxy(), |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 #endif // !defined(DISABLE_FTP_SUPPORT) | 410 #endif // !defined(DISABLE_FTP_SUPPORT) |
| 402 | 411 |
| 403 storage->set_job_factory(job_factory); | 412 storage->set_job_factory(job_factory); |
| 404 | 413 |
| 405 // TODO(willchan): Support sdch. | 414 // TODO(willchan): Support sdch. |
| 406 | 415 |
| 407 return context; | 416 return context; |
| 408 } | 417 } |
| 409 | 418 |
| 410 } // namespace net | 419 } // namespace net |
| OLD | NEW |