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

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

Issue 2907463002: Split HttpNetworkSession::Params into two structs. (Closed)
Patch Set: Response to comments Created 3 years, 6 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
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 <stdint.h> 7 #include <stdint.h>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 net::NetLogSourceType::SOCKET)), 50 net::NetLogSourceType::SOCKET)),
51 weak_factory_(this) { 51 weak_factory_(this) {
52 DCHECK(request_context_getter.get()); 52 DCHECK(request_context_getter.get());
53 net::URLRequestContext* request_context = 53 net::URLRequestContext* request_context =
54 request_context_getter->GetURLRequestContext(); 54 request_context_getter->GetURLRequestContext();
55 DCHECK(request_context); 55 DCHECK(request_context);
56 DCHECK(!dest_host_port_pair_.host().empty()); 56 DCHECK(!dest_host_port_pair_.host().empty());
57 DCHECK_GT(dest_host_port_pair_.port(), 0); 57 DCHECK_GT(dest_host_port_pair_.port(), 0);
58 DCHECK(proxy_url_.is_valid()); 58 DCHECK(proxy_url_.is_valid());
59 59
60 net::HttpNetworkSession::Params session_params; 60 net::HttpNetworkSession::Context session_context;
61 session_params.client_socket_factory = socket_factory; 61 session_context.client_socket_factory = socket_factory;
62 session_params.host_resolver = request_context->host_resolver(); 62 session_context.host_resolver = request_context->host_resolver();
63 session_params.cert_verifier = request_context->cert_verifier(); 63 session_context.cert_verifier = request_context->cert_verifier();
64 session_params.transport_security_state = 64 session_context.transport_security_state =
65 request_context->transport_security_state(); 65 request_context->transport_security_state();
66 session_params.cert_transparency_verifier = 66 session_context.cert_transparency_verifier =
67 request_context->cert_transparency_verifier(); 67 request_context->cert_transparency_verifier();
68 session_params.ct_policy_enforcer = request_context->ct_policy_enforcer(); 68 session_context.ct_policy_enforcer = request_context->ct_policy_enforcer();
69 // TODO(rkn): This is NULL because ChannelIDService is not thread safe. 69 // TODO(rkn): This is NULL because ChannelIDService is not thread safe.
70 session_params.channel_id_service = NULL; 70 // TODO(mmenke): The above comment makes no sense, as not a single one of
71 session_params.proxy_service = request_context->proxy_service(); 71 // these classes is thread safe. Figure out if the comment's wrong, or if this
72 session_params.ssl_config_service = request_context->ssl_config_service(); 72 // entire class is badly broken.
73 session_params.http_auth_handler_factory = 73 session_context.channel_id_service = NULL;
74 session_context.proxy_service = request_context->proxy_service();
75 session_context.ssl_config_service = request_context->ssl_config_service();
76 session_context.http_auth_handler_factory =
74 request_context->http_auth_handler_factory(); 77 request_context->http_auth_handler_factory();
75 session_params.http_server_properties = 78 session_context.http_server_properties =
76 request_context->http_server_properties(); 79 request_context->http_server_properties();
77 session_params.net_log = request_context->net_log(); 80 session_context.net_log = request_context->net_log();
78 81
79 const net::HttpNetworkSession::Params* reference_params = 82 const net::HttpNetworkSession::Params* reference_params =
80 request_context->GetNetworkSessionParams(); 83 request_context->GetNetworkSessionParams();
84 net::HttpNetworkSession::Params session_params;
81 if (reference_params) { 85 if (reference_params) {
82 // TODO(mmenke): Just copying specific parameters seems highly regression 86 // TODO(mmenke): Just copying specific parameters seems highly regression
83 // prone. Should have a better way to do this. 87 // prone. Should have a better way to do this.
84 session_params.host_mapping_rules = reference_params->host_mapping_rules; 88 session_params.host_mapping_rules = reference_params->host_mapping_rules;
85 session_params.ignore_certificate_errors = 89 session_params.ignore_certificate_errors =
86 reference_params->ignore_certificate_errors; 90 reference_params->ignore_certificate_errors;
87 session_params.testing_fixed_http_port = 91 session_params.testing_fixed_http_port =
88 reference_params->testing_fixed_http_port; 92 reference_params->testing_fixed_http_port;
89 session_params.testing_fixed_https_port = 93 session_params.testing_fixed_https_port =
90 reference_params->testing_fixed_https_port; 94 reference_params->testing_fixed_https_port;
91 session_params.enable_http2 = reference_params->enable_http2; 95 session_params.enable_http2 = reference_params->enable_http2;
92 session_params.enable_http2_alternative_service = 96 session_params.enable_http2_alternative_service =
93 reference_params->enable_http2_alternative_service; 97 reference_params->enable_http2_alternative_service;
94 } 98 }
95 99
96 network_session_.reset(new net::HttpNetworkSession(session_params)); 100 network_session_.reset(
101 new net::HttpNetworkSession(session_params, session_context));
97 102
98 net::HttpAuthCache* other_auth_cache = 103 net::HttpAuthCache* other_auth_cache =
99 request_context->http_transaction_factory() 104 request_context->http_transaction_factory()
100 ->GetSession() 105 ->GetSession()
101 ->http_auth_cache(); 106 ->http_auth_cache();
102 DCHECK(other_auth_cache); 107 DCHECK(other_auth_cache);
103 network_session_->http_auth_cache()->UpdateAllFrom(*other_auth_cache); 108 network_session_->http_auth_cache()->UpdateAllFrom(*other_auth_cache);
104 } 109 }
105 110
106 ProxyResolvingClientSocket::~ProxyResolvingClientSocket() { 111 ProxyResolvingClientSocket::~ProxyResolvingClientSocket() {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 return 0; 434 return 0;
430 } 435 }
431 436
432 void ProxyResolvingClientSocket::CloseTransportSocket() { 437 void ProxyResolvingClientSocket::CloseTransportSocket() {
433 if (transport_.get() && transport_->socket()) 438 if (transport_.get() && transport_->socket())
434 transport_->socket()->Disconnect(); 439 transport_->socket()->Disconnect();
435 transport_.reset(); 440 transport_.reset();
436 } 441 }
437 442
438 } // namespace jingle_glue 443 } // namespace jingle_glue
OLDNEW
« no previous file with comments | « ios/web_view/internal/web_view_url_request_context_getter.mm ('k') | net/cert_net/cert_net_fetcher_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698