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

Side by Side Diff: net/socket/client_socket_pool_manager_impl.cc

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 "net/socket/client_socket_pool_manager_impl.h" 5 #include "net/socket/client_socket_pool_manager_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "net/http/http_network_session.h" 9 #include "net/http/http_network_session.h"
10 #include "net/http/http_proxy_client_socket_pool.h" 10 #include "net/http/http_proxy_client_socket_pool.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 : new TransportClientSocketPool(max_sockets_per_pool(pool_type), 72 : new TransportClientSocketPool(max_sockets_per_pool(pool_type),
73 max_sockets_per_group(pool_type), 73 max_sockets_per_group(pool_type),
74 &transport_pool_histograms_, 74 &transport_pool_histograms_,
75 host_resolver, 75 host_resolver,
76 socket_factory_, 76 socket_factory_,
77 net_log)), 77 net_log)),
78 ssl_pool_histograms_("SSL2"), 78 ssl_pool_histograms_("SSL2"),
79 ssl_socket_pool_(new SSLClientSocketPool(max_sockets_per_pool(pool_type), 79 ssl_socket_pool_(new SSLClientSocketPool(max_sockets_per_pool(pool_type),
80 max_sockets_per_group(pool_type), 80 max_sockets_per_group(pool_type),
81 &ssl_pool_histograms_, 81 &ssl_pool_histograms_,
82 host_resolver,
83 cert_verifier, 82 cert_verifier,
84 channel_id_service, 83 channel_id_service,
85 transport_security_state, 84 transport_security_state,
86 cert_transparency_verifier, 85 cert_transparency_verifier,
87 cert_policy_enforcer, 86 cert_policy_enforcer,
88 ssl_session_cache_shard, 87 ssl_session_cache_shard,
89 socket_factory, 88 socket_factory,
90 transport_socket_pool_.get(), 89 transport_socket_pool_.get(),
91 NULL /* no socks proxy */, 90 NULL /* no socks proxy */,
92 NULL /* no http proxy */, 91 NULL /* no http proxy */,
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 max_sockets_per_proxy_server(pool_type_), 287 max_sockets_per_proxy_server(pool_type_),
289 max_sockets_per_group(pool_type_), 288 max_sockets_per_group(pool_type_),
290 &transport_for_https_proxy_pool_histograms_, 289 &transport_for_https_proxy_pool_histograms_,
291 host_resolver_, 290 host_resolver_,
292 socket_factory_, 291 socket_factory_,
293 net_log_))); 292 net_log_)));
294 DCHECK(tcp_https_ret.second); 293 DCHECK(tcp_https_ret.second);
295 294
296 std::pair<SSLSocketPoolMap::iterator, bool> ssl_https_ret = 295 std::pair<SSLSocketPoolMap::iterator, bool> ssl_https_ret =
297 ssl_socket_pools_for_https_proxies_.insert(std::make_pair( 296 ssl_socket_pools_for_https_proxies_.insert(std::make_pair(
298 http_proxy, 297 http_proxy, new SSLClientSocketPool(
299 new SSLClientSocketPool( 298 max_sockets_per_proxy_server(pool_type_),
300 max_sockets_per_proxy_server(pool_type_), 299 max_sockets_per_group(pool_type_),
301 max_sockets_per_group(pool_type_), 300 &ssl_for_https_proxy_pool_histograms_, cert_verifier_,
302 &ssl_for_https_proxy_pool_histograms_, host_resolver_, 301 channel_id_service_, transport_security_state_,
303 cert_verifier_, channel_id_service_, transport_security_state_, 302 cert_transparency_verifier_, cert_policy_enforcer_,
304 cert_transparency_verifier_, cert_policy_enforcer_, 303 ssl_session_cache_shard_, socket_factory_,
305 ssl_session_cache_shard_, socket_factory_, 304 tcp_https_ret.first->second /* https proxy */,
306 tcp_https_ret.first->second /* https proxy */, 305 NULL /* no socks proxy */, NULL /* no http proxy */,
307 NULL /* no socks proxy */, NULL /* no http proxy */, 306 ssl_config_service_.get(),
308 ssl_config_service_.get(), enable_ssl_connect_job_waiting_, 307 enable_ssl_connect_job_waiting_, net_log_)));
309 net_log_)));
310 DCHECK(tcp_https_ret.second); 308 DCHECK(tcp_https_ret.second);
311 309
312 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret = 310 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret =
313 http_proxy_socket_pools_.insert( 311 http_proxy_socket_pools_.insert(
314 std::make_pair( 312 std::make_pair(
315 http_proxy, 313 http_proxy,
316 new HttpProxyClientSocketPool( 314 new HttpProxyClientSocketPool(
317 max_sockets_per_proxy_server(pool_type_), 315 max_sockets_per_proxy_server(pool_type_),
318 max_sockets_per_group(pool_type_), 316 max_sockets_per_group(pool_type_),
319 &http_proxy_pool_histograms_, 317 &http_proxy_pool_histograms_,
320 host_resolver_,
321 tcp_http_ret.first->second, 318 tcp_http_ret.first->second,
322 ssl_https_ret.first->second, 319 ssl_https_ret.first->second,
323 net_log_))); 320 net_log_)));
324 321
325 return ret.first->second; 322 return ret.first->second;
326 } 323 }
327 324
328 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy( 325 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy(
329 const HostPortPair& proxy_server) { 326 const HostPortPair& proxy_server) {
330 SSLSocketPoolMap::const_iterator it = 327 SSLSocketPoolMap::const_iterator it =
331 ssl_socket_pools_for_proxies_.find(proxy_server); 328 ssl_socket_pools_for_proxies_.find(proxy_server);
332 if (it != ssl_socket_pools_for_proxies_.end()) 329 if (it != ssl_socket_pools_for_proxies_.end())
333 return it->second; 330 return it->second;
334 331
335 SSLClientSocketPool* new_pool = new SSLClientSocketPool( 332 SSLClientSocketPool* new_pool = new SSLClientSocketPool(
336 max_sockets_per_proxy_server(pool_type_), 333 max_sockets_per_proxy_server(pool_type_),
337 max_sockets_per_group(pool_type_), &ssl_pool_histograms_, host_resolver_, 334 max_sockets_per_group(pool_type_), &ssl_pool_histograms_, cert_verifier_,
338 cert_verifier_, channel_id_service_, transport_security_state_, 335 channel_id_service_, transport_security_state_,
339 cert_transparency_verifier_, cert_policy_enforcer_, 336 cert_transparency_verifier_, cert_policy_enforcer_,
340 ssl_session_cache_shard_, socket_factory_, 337 ssl_session_cache_shard_, socket_factory_,
341 NULL, /* no tcp pool, we always go through a proxy */ 338 NULL, /* no tcp pool, we always go through a proxy */
342 GetSocketPoolForSOCKSProxy(proxy_server), 339 GetSocketPoolForSOCKSProxy(proxy_server),
343 GetSocketPoolForHTTPProxy(proxy_server), ssl_config_service_.get(), 340 GetSocketPoolForHTTPProxy(proxy_server), ssl_config_service_.get(),
344 enable_ssl_connect_job_waiting_, net_log_); 341 enable_ssl_connect_job_waiting_, net_log_);
345 342
346 std::pair<SSLSocketPoolMap::iterator, bool> ret = 343 std::pair<SSLSocketPoolMap::iterator, bool> ret =
347 ssl_socket_pools_for_proxies_.insert(std::make_pair(proxy_server, 344 ssl_socket_pools_for_proxies_.insert(std::make_pair(proxy_server,
348 new_pool)); 345 new_pool));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 // We should not flush the socket pools if we added trust to a 389 // We should not flush the socket pools if we added trust to a
393 // cert. 390 // cert.
394 // 391 //
395 // Since the OnCACertChanged method doesn't tell us what 392 // Since the OnCACertChanged method doesn't tell us what
396 // kind of change it is, we have to flush the socket 393 // kind of change it is, we have to flush the socket
397 // pools to be safe. 394 // pools to be safe.
398 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED); 395 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED);
399 } 396 }
400 397
401 } // namespace net 398 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698