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

Side by Side Diff: remoting/base/url_request_context_getter.cc

Issue 354693004: Switch to using URLRequestContextBuilder to create some URLRequestContexts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "remoting/base/url_request_context.h" 5 #include "remoting/base/url_request_context_getter.h"
6 6
7 #include "base/message_loop/message_loop_proxy.h" 7 #include "base/message_loop/message_loop_proxy.h"
8 #include "net/cert/cert_verifier.h"
9 #include "net/dns/host_resolver.h"
10 #include "net/http/http_auth_handler_factory.h"
11 #include "net/http/http_network_layer.h"
12 #include "net/http/http_network_session.h"
13 #include "net/http/http_server_properties_impl.h"
14 #include "net/http/transport_security_state.h"
15 #include "net/proxy/proxy_config_service.h" 8 #include "net/proxy/proxy_config_service.h"
16 #include "net/proxy/proxy_service.h" 9 #include "net/url_request/url_request_context_builder.h"
17 #include "net/ssl/ssl_config_service_defaults.h"
18 #include "net/url_request/url_request_job_factory_impl.h"
19 #include "remoting/base/vlog_net_log.h" 10 #include "remoting/base/vlog_net_log.h"
20 11
21 #if defined(OS_WIN) 12 #if defined(OS_WIN)
22 #include "net/proxy/proxy_config_service_win.h" 13 #include "net/proxy/proxy_config_service_win.h"
23 #elif defined(OS_IOS) 14 #elif defined(OS_IOS)
24 #include "net/proxy/proxy_config_service_ios.h" 15 #include "net/proxy/proxy_config_service_ios.h"
25 #elif defined(OS_MACOSX) 16 #elif defined(OS_MACOSX)
26 #include "net/proxy/proxy_config_service_mac.h" 17 #include "net/proxy/proxy_config_service_mac.h"
27 #elif defined(OS_LINUX) && !defined(OS_CHROMEOS) 18 #elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
28 #include "net/proxy/proxy_config_service_linux.h" 19 #include "net/proxy/proxy_config_service_linux.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 return new ProxyConfigServiceDirect(); 62 return new ProxyConfigServiceDirect();
72 #else 63 #else
73 LOG(WARNING) << "Failed to choose a system proxy settings fetcher " 64 LOG(WARNING) << "Failed to choose a system proxy settings fetcher "
74 "for this platform."; 65 "for this platform.";
75 return new ProxyConfigServiceDirect(); 66 return new ProxyConfigServiceDirect();
76 #endif 67 #endif
77 } 68 }
78 69
79 } // namespace 70 } // namespace
80 71
81 // TODO(willchan): This is largely copied from service_url_request_context.cc,
82 // which is in turn copied from some test code. Move it somewhere reusable.
83 URLRequestContext::URLRequestContext(
84 scoped_ptr<net::ProxyConfigService> proxy_config_service)
85 : storage_(this) {
86 scoped_ptr<VlogNetLog> net_log(new VlogNetLog());
87 storage_.set_host_resolver(
88 net::HostResolver::CreateDefaultResolver(net_log.get()));
89 storage_.set_proxy_service(net::ProxyService::CreateUsingSystemProxyResolver(
90 proxy_config_service.release(), 0u, net_log.get()));
91 storage_.set_cert_verifier(net::CertVerifier::CreateDefault());
92 storage_.set_ssl_config_service(new net::SSLConfigServiceDefaults);
93 storage_.set_http_auth_handler_factory(
94 net::HttpAuthHandlerFactory::CreateDefault(host_resolver()));
95 storage_.set_http_server_properties(
96 scoped_ptr<net::HttpServerProperties>(
97 new net::HttpServerPropertiesImpl()));
98 storage_.set_transport_security_state(new net::TransportSecurityState);
99 storage_.set_job_factory(new net::URLRequestJobFactoryImpl());
100
101 net::HttpNetworkSession::Params session_params;
102 session_params.host_resolver = host_resolver();
103 session_params.cert_verifier = cert_verifier();
104 session_params.transport_security_state = transport_security_state();
105 session_params.proxy_service = proxy_service();
106 session_params.ssl_config_service = ssl_config_service();
107 session_params.http_auth_handler_factory = http_auth_handler_factory();
108 session_params.http_server_properties = http_server_properties();
109 session_params.net_log = net_log.get();
110 scoped_refptr<net::HttpNetworkSession> network_session(
111 new net::HttpNetworkSession(session_params));
112 storage_.set_http_transaction_factory(
113 new net::HttpNetworkLayer(network_session.get()));
114 storage_.set_net_log(net_log.release());
115 }
116
117 URLRequestContext::~URLRequestContext() {
118 }
119
120 URLRequestContextGetter::URLRequestContextGetter( 72 URLRequestContextGetter::URLRequestContextGetter(
121 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) 73 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner)
122 : network_task_runner_(network_task_runner) { 74 : network_task_runner_(network_task_runner) {
123 proxy_config_service_.reset(CreateSystemProxyConfigService( 75 proxy_config_service_.reset(CreateSystemProxyConfigService(
124 network_task_runner_.get())); 76 network_task_runner_.get()));
125 } 77 }
126 78
127 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { 79 net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
128 if (!url_request_context_.get()) { 80 if (!url_request_context_.get()) {
129 url_request_context_.reset( 81 net::URLRequestContextBuilder builder;
130 new URLRequestContext(proxy_config_service_.Pass())); 82 builder.set_net_log(new VlogNetLog());
83 builder.DisableHttpCache();
84 builder.set_proxy_config_service(proxy_config_service_.release());
85 url_request_context_.reset(builder.Build());
131 } 86 }
132 return url_request_context_.get(); 87 return url_request_context_.get();
133 } 88 }
134 89
135 scoped_refptr<base::SingleThreadTaskRunner> 90 scoped_refptr<base::SingleThreadTaskRunner>
136 URLRequestContextGetter::GetNetworkTaskRunner() const { 91 URLRequestContextGetter::GetNetworkTaskRunner() const {
137 return network_task_runner_; 92 return network_task_runner_;
138 } 93 }
139 94
140 URLRequestContextGetter::~URLRequestContextGetter() { 95 URLRequestContextGetter::~URLRequestContextGetter() {
141 } 96 }
142 97
143 } // namespace remoting 98 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/url_request_context_getter.h ('k') | remoting/client/jni/chromoting_jni_runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698