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

Side by Side Diff: jingle/glue/proxy_resolving_client_socket.cc

Issue 10834215: Remove static variables from HttpStreamFactory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added URLRequestContext::GetReferenceParams() Created 8 years, 3 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 "jingle/glue/proxy_resolving_client_socket.h" 5 #include "jingle/glue/proxy_resolving_client_socket.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 28 matching lines...) Expand all
39 net::BoundNetLog::Make( 39 net::BoundNetLog::Make(
40 request_context_getter->GetURLRequestContext()->net_log(), 40 request_context_getter->GetURLRequestContext()->net_log(),
41 net::NetLog::SOURCE_SOCKET)), 41 net::NetLog::SOURCE_SOCKET)),
42 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { 42 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
43 DCHECK(request_context_getter); 43 DCHECK(request_context_getter);
44 net::URLRequestContext* request_context = 44 net::URLRequestContext* request_context =
45 request_context_getter->GetURLRequestContext(); 45 request_context_getter->GetURLRequestContext();
46 DCHECK(request_context); 46 DCHECK(request_context);
47 DCHECK(!dest_host_port_pair_.host().empty()); 47 DCHECK(!dest_host_port_pair_.host().empty());
48 DCHECK_GT(dest_host_port_pair_.port(), 0); 48 DCHECK_GT(dest_host_port_pair_.port(), 0);
49
49 net::HttpNetworkSession::Params session_params; 50 net::HttpNetworkSession::Params session_params;
50 session_params.client_socket_factory = socket_factory; 51 session_params.client_socket_factory = socket_factory;
51 session_params.host_resolver = request_context->host_resolver(); 52 session_params.host_resolver = request_context->host_resolver();
52 session_params.cert_verifier = request_context->cert_verifier(); 53 session_params.cert_verifier = request_context->cert_verifier();
53 // TODO(rkn): This is NULL because ServerBoundCertService is not thread safe. 54 // TODO(rkn): This is NULL because ServerBoundCertService is not thread safe.
54 session_params.server_bound_cert_service = NULL; 55 session_params.server_bound_cert_service = NULL;
55 // transport_security_state is NULL because it's not thread safe. 56 // transport_security_state is NULL because it's not thread safe.
56 session_params.transport_security_state = NULL; 57 session_params.transport_security_state = NULL;
57 session_params.proxy_service = request_context->proxy_service(); 58 session_params.proxy_service = request_context->proxy_service();
58 session_params.ssl_config_service = request_context->ssl_config_service(); 59 session_params.ssl_config_service = request_context->ssl_config_service();
59 session_params.http_auth_handler_factory = 60 session_params.http_auth_handler_factory =
60 request_context->http_auth_handler_factory(); 61 request_context->http_auth_handler_factory();
61 session_params.network_delegate = request_context->network_delegate(); 62 session_params.network_delegate = request_context->network_delegate();
62 session_params.http_server_properties = 63 session_params.http_server_properties =
63 request_context->http_server_properties(); 64 request_context->http_server_properties();
64 session_params.net_log = request_context->net_log(); 65 session_params.net_log = request_context->net_log();
66
67 net::HttpNetworkSession::Params reference_params;
68 if (request_context->GetReferenceParams(reference_params)) {
69 session_params.host_mapping_rules = reference_params.host_mapping_rules;
70 session_params.ignore_certificate_errors =
71 reference_params.ignore_certificate_errors;
72 session_params.http_pipelining_enabled =
73 reference_params.http_pipelining_enabled;
74 session_params.testing_fixed_http_port =
75 reference_params.testing_fixed_http_port;
76 session_params.testing_fixed_https_port =
77 reference_params.testing_fixed_https_port;
78 session_params.trusted_spdy_proxy = reference_params.trusted_spdy_proxy;
79 }
80
65 network_session_ = new net::HttpNetworkSession(session_params); 81 network_session_ = new net::HttpNetworkSession(session_params);
66 } 82 }
67 83
68 ProxyResolvingClientSocket::~ProxyResolvingClientSocket() { 84 ProxyResolvingClientSocket::~ProxyResolvingClientSocket() {
69 Disconnect(); 85 Disconnect();
70 } 86 }
71 87
72 int ProxyResolvingClientSocket::Read(net::IOBuffer* buf, int buf_len, 88 int ProxyResolvingClientSocket::Read(net::IOBuffer* buf, int buf_len,
73 const net::CompletionCallback& callback) { 89 const net::CompletionCallback& callback) {
74 if (transport_.get() && transport_->socket()) 90 if (transport_.get() && transport_->socket())
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 return false; 401 return false;
386 } 402 }
387 403
388 void ProxyResolvingClientSocket::CloseTransportSocket() { 404 void ProxyResolvingClientSocket::CloseTransportSocket() {
389 if (transport_.get() && transport_->socket()) 405 if (transport_.get() && transport_->socket())
390 transport_->socket()->Disconnect(); 406 transport_->socket()->Disconnect();
391 transport_.reset(); 407 transport_.reset();
392 } 408 }
393 409
394 } // namespace jingle_glue 410 } // namespace jingle_glue
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698