OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/net/chrome_url_request_context.h" | 5 #include "chrome/browser/net/chrome_url_request_context.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/message_loop_proxy.h" | 9 #include "base/message_loop_proxy.h" |
10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "chrome/common/extensions/extension.h" | 26 #include "chrome/common/extensions/extension.h" |
27 #include "chrome/common/notification_service.h" | 27 #include "chrome/common/notification_service.h" |
28 #include "chrome/common/pref_names.h" | 28 #include "chrome/common/pref_names.h" |
29 #include "chrome/common/url_constants.h" | 29 #include "chrome/common/url_constants.h" |
30 #include "net/base/static_cookie_policy.h" | 30 #include "net/base/static_cookie_policy.h" |
31 #include "net/ftp/ftp_network_layer.h" | 31 #include "net/ftp/ftp_network_layer.h" |
32 #include "net/http/http_cache.h" | 32 #include "net/http/http_cache.h" |
33 #include "net/http/http_network_layer.h" | 33 #include "net/http/http_network_layer.h" |
34 #include "net/http/http_util.h" | 34 #include "net/http/http_util.h" |
35 #include "net/proxy/proxy_config_service_fixed.h" | 35 #include "net/proxy/proxy_config_service_fixed.h" |
36 #include "net/proxy/proxy_script_fetcher.h" | 36 #include "net/proxy/proxy_script_fetcher_impl.h" |
37 #include "net/proxy/proxy_service.h" | 37 #include "net/proxy/proxy_service.h" |
38 #include "net/url_request/url_request.h" | 38 #include "net/url_request/url_request.h" |
39 #include "webkit/glue/webkit_glue.h" | 39 #include "webkit/glue/webkit_glue.h" |
40 | 40 |
41 #if defined(USE_NSS) | 41 #if defined(USE_NSS) |
42 #include "net/ocsp/nss_ocsp.h" | 42 #include "net/ocsp/nss_ocsp.h" |
43 #endif | 43 #endif |
44 | 44 |
45 #if defined(OS_CHROMEOS) | 45 #if defined(OS_CHROMEOS) |
46 #include "chrome/browser/chromeos/proxy_config_service.h" | 46 #include "chrome/browser/chromeos/proxy_config_service.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 return new PrefProxyConfigService(profile->GetProxyConfigTracker(), | 89 return new PrefProxyConfigService(profile->GetProxyConfigTracker(), |
90 base_service); | 90 base_service); |
91 } | 91 } |
92 | 92 |
93 // Create a proxy service according to the options on command line. | 93 // Create a proxy service according to the options on command line. |
94 net::ProxyService* CreateProxyService( | 94 net::ProxyService* CreateProxyService( |
95 net::NetLog* net_log, | 95 net::NetLog* net_log, |
96 URLRequestContext* context, | 96 URLRequestContext* context, |
97 net::ProxyConfigService* proxy_config_service, | 97 net::ProxyConfigService* proxy_config_service, |
98 const CommandLine& command_line, | 98 const CommandLine& command_line) { |
99 IOThread* io_thread) { | |
100 CheckCurrentlyOnIOThread(); | 99 CheckCurrentlyOnIOThread(); |
101 | 100 |
102 bool use_v8 = !command_line.HasSwitch(switches::kWinHttpProxyResolver); | 101 bool use_v8 = !command_line.HasSwitch(switches::kWinHttpProxyResolver); |
103 if (use_v8 && command_line.HasSwitch(switches::kSingleProcess)) { | 102 if (use_v8 && command_line.HasSwitch(switches::kSingleProcess)) { |
104 // See the note about V8 multithreading in net/proxy/proxy_resolver_v8.h | 103 // See the note about V8 multithreading in net/proxy/proxy_resolver_v8.h |
105 // to understand why we have this limitation. | 104 // to understand why we have this limitation. |
106 LOG(ERROR) << "Cannot use V8 Proxy resolver in single process mode."; | 105 LOG(ERROR) << "Cannot use V8 Proxy resolver in single process mode."; |
107 use_v8 = false; // Fallback to non-v8 implementation. | 106 use_v8 = false; // Fallback to non-v8 implementation. |
108 } | 107 } |
109 | 108 |
(...skipping 10 matching lines...) Expand all Loading... |
120 num_pac_threads = static_cast<size_t>(n); | 119 num_pac_threads = static_cast<size_t>(n); |
121 } else { | 120 } else { |
122 LOG(ERROR) << "Invalid switch for number of PAC threads: " << s; | 121 LOG(ERROR) << "Invalid switch for number of PAC threads: " << s; |
123 } | 122 } |
124 } | 123 } |
125 | 124 |
126 if (use_v8) { | 125 if (use_v8) { |
127 return net::ProxyService::CreateUsingV8ProxyResolver( | 126 return net::ProxyService::CreateUsingV8ProxyResolver( |
128 proxy_config_service, | 127 proxy_config_service, |
129 num_pac_threads, | 128 num_pac_threads, |
130 io_thread->CreateAndRegisterProxyScriptFetcher(context), | 129 new net::ProxyScriptFetcherImpl(context), |
131 context->host_resolver(), | 130 context->host_resolver(), |
132 net_log); | 131 net_log); |
133 } | 132 } |
134 | 133 |
135 return net::ProxyService::CreateUsingSystemProxyResolver( | 134 return net::ProxyService::CreateUsingSystemProxyResolver( |
136 proxy_config_service, | 135 proxy_config_service, |
137 num_pac_threads, | 136 num_pac_threads, |
138 net_log); | 137 net_log); |
139 } | 138 } |
140 | 139 |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 io_thread_globals->http_auth_handler_factory.get()); | 267 io_thread_globals->http_auth_handler_factory.get()); |
269 | 268 |
270 context->set_dns_cert_checker( | 269 context->set_dns_cert_checker( |
271 CreateDnsCertProvenanceChecker(io_thread_globals->dnsrr_resolver.get(), | 270 CreateDnsCertProvenanceChecker(io_thread_globals->dnsrr_resolver.get(), |
272 context)); | 271 context)); |
273 | 272 |
274 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 273 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
275 | 274 |
276 context->set_proxy_service( | 275 context->set_proxy_service( |
277 CreateProxyService(io_thread()->net_log(), | 276 CreateProxyService(io_thread()->net_log(), |
278 context, | 277 io_thread_globals->proxy_request_context.get(), |
279 proxy_config_service_.release(), | 278 proxy_config_service_.release(), |
280 command_line, | 279 command_line)); |
281 io_thread())); | |
282 | 280 |
283 net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend( | 281 net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend( |
284 net::DISK_CACHE, disk_cache_path_, cache_size_, | 282 net::DISK_CACHE, disk_cache_path_, cache_size_, |
285 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE)); | 283 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE)); |
286 net::HttpCache* cache = | 284 net::HttpCache* cache = |
287 new net::HttpCache(context->host_resolver(), | 285 new net::HttpCache(context->host_resolver(), |
288 context->cert_verifier(), | 286 context->cert_verifier(), |
289 context->dnsrr_resolver(), | 287 context->dnsrr_resolver(), |
290 context->dns_cert_checker(), | 288 context->dns_cert_checker(), |
291 context->proxy_service(), | 289 context->proxy_service(), |
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
907 context->set_host_zoom_map(host_zoom_map_); | 905 context->set_host_zoom_map(host_zoom_map_); |
908 context->set_transport_security_state( | 906 context->set_transport_security_state( |
909 transport_security_state_); | 907 transport_security_state_); |
910 context->set_ssl_config_service(ssl_config_service_); | 908 context->set_ssl_config_service(ssl_config_service_); |
911 context->set_appcache_service(appcache_service_); | 909 context->set_appcache_service(appcache_service_); |
912 context->set_database_tracker(database_tracker_); | 910 context->set_database_tracker(database_tracker_); |
913 context->set_blob_storage_context(blob_storage_context_); | 911 context->set_blob_storage_context(blob_storage_context_); |
914 context->set_file_system_context(file_system_context_); | 912 context->set_file_system_context(file_system_context_); |
915 context->set_extension_info_map(extension_info_map_); | 913 context->set_extension_info_map(extension_info_map_); |
916 } | 914 } |
OLD | NEW |