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

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

Issue 851503003: Update from https://crrev.com/311076 (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
« no previous file with comments | « net/socket/client_socket_pool_manager_impl.h ('k') | net/socket/next_proto.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 26 matching lines...) Expand all
37 ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl( 37 ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl(
38 NetLog* net_log, 38 NetLog* net_log,
39 ClientSocketFactory* socket_factory, 39 ClientSocketFactory* socket_factory,
40 HostResolver* host_resolver, 40 HostResolver* host_resolver,
41 CertVerifier* cert_verifier, 41 CertVerifier* cert_verifier,
42 ChannelIDService* channel_id_service, 42 ChannelIDService* channel_id_service,
43 TransportSecurityState* transport_security_state, 43 TransportSecurityState* transport_security_state,
44 CTVerifier* cert_transparency_verifier, 44 CTVerifier* cert_transparency_verifier,
45 CertPolicyEnforcer* cert_policy_enforcer, 45 CertPolicyEnforcer* cert_policy_enforcer,
46 const std::string& ssl_session_cache_shard, 46 const std::string& ssl_session_cache_shard,
47 ProxyService* proxy_service,
48 SSLConfigService* ssl_config_service, 47 SSLConfigService* ssl_config_service,
49 bool enable_ssl_connect_job_waiting, 48 bool enable_ssl_connect_job_waiting,
50 ProxyDelegate* proxy_delegate,
51 HttpNetworkSession::SocketPoolType pool_type) 49 HttpNetworkSession::SocketPoolType pool_type)
52 : net_log_(net_log), 50 : net_log_(net_log),
53 socket_factory_(socket_factory), 51 socket_factory_(socket_factory),
54 host_resolver_(host_resolver), 52 host_resolver_(host_resolver),
55 cert_verifier_(cert_verifier), 53 cert_verifier_(cert_verifier),
56 channel_id_service_(channel_id_service), 54 channel_id_service_(channel_id_service),
57 transport_security_state_(transport_security_state), 55 transport_security_state_(transport_security_state),
58 cert_transparency_verifier_(cert_transparency_verifier), 56 cert_transparency_verifier_(cert_transparency_verifier),
59 cert_policy_enforcer_(cert_policy_enforcer), 57 cert_policy_enforcer_(cert_policy_enforcer),
60 ssl_session_cache_shard_(ssl_session_cache_shard), 58 ssl_session_cache_shard_(ssl_session_cache_shard),
61 proxy_service_(proxy_service),
62 ssl_config_service_(ssl_config_service), 59 ssl_config_service_(ssl_config_service),
63 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting), 60 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting),
64 pool_type_(pool_type), 61 pool_type_(pool_type),
65 transport_pool_histograms_("TCP"), 62 transport_pool_histograms_("TCP"),
66 transport_socket_pool_( 63 transport_socket_pool_(
67 pool_type == HttpNetworkSession::WEBSOCKET_SOCKET_POOL 64 pool_type == HttpNetworkSession::WEBSOCKET_SOCKET_POOL
68 ? new WebSocketTransportClientSocketPool( 65 ? new WebSocketTransportClientSocketPool(
69 max_sockets_per_pool(pool_type), 66 max_sockets_per_pool(pool_type),
70 max_sockets_per_group(pool_type), 67 max_sockets_per_group(pool_type),
71 &transport_pool_histograms_, 68 &transport_pool_histograms_,
(...skipping 23 matching lines...) Expand all
95 NULL /* no http proxy */, 92 NULL /* no http proxy */,
96 ssl_config_service, 93 ssl_config_service,
97 enable_ssl_connect_job_waiting, 94 enable_ssl_connect_job_waiting,
98 net_log)), 95 net_log)),
99 transport_for_socks_pool_histograms_("TCPforSOCKS"), 96 transport_for_socks_pool_histograms_("TCPforSOCKS"),
100 socks_pool_histograms_("SOCK"), 97 socks_pool_histograms_("SOCK"),
101 transport_for_http_proxy_pool_histograms_("TCPforHTTPProxy"), 98 transport_for_http_proxy_pool_histograms_("TCPforHTTPProxy"),
102 transport_for_https_proxy_pool_histograms_("TCPforHTTPSProxy"), 99 transport_for_https_proxy_pool_histograms_("TCPforHTTPSProxy"),
103 ssl_for_https_proxy_pool_histograms_("SSLforHTTPSProxy"), 100 ssl_for_https_proxy_pool_histograms_("SSLforHTTPSProxy"),
104 http_proxy_pool_histograms_("HTTPProxy"), 101 http_proxy_pool_histograms_("HTTPProxy"),
105 ssl_socket_pool_for_proxies_histograms_("SSLForProxies"), 102 ssl_socket_pool_for_proxies_histograms_("SSLForProxies") {
106 proxy_delegate_(proxy_delegate) {
107 CertDatabase::GetInstance()->AddObserver(this); 103 CertDatabase::GetInstance()->AddObserver(this);
108 } 104 }
109 105
110 ClientSocketPoolManagerImpl::~ClientSocketPoolManagerImpl() { 106 ClientSocketPoolManagerImpl::~ClientSocketPoolManagerImpl() {
111 CertDatabase::GetInstance()->RemoveObserver(this); 107 CertDatabase::GetInstance()->RemoveObserver(this);
112 } 108 }
113 109
114 void ClientSocketPoolManagerImpl::FlushSocketPoolsWithError(int error) { 110 void ClientSocketPoolManagerImpl::FlushSocketPoolsWithError(int error) {
115 // Flush the highest level pools first, since higher level pools may release 111 // Flush the highest level pools first, since higher level pools may release
116 // stuff to the lower level pools. 112 // stuff to the lower level pools.
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 http_proxy_socket_pools_.insert( 313 http_proxy_socket_pools_.insert(
318 std::make_pair( 314 std::make_pair(
319 http_proxy, 315 http_proxy,
320 new HttpProxyClientSocketPool( 316 new HttpProxyClientSocketPool(
321 max_sockets_per_proxy_server(pool_type_), 317 max_sockets_per_proxy_server(pool_type_),
322 max_sockets_per_group(pool_type_), 318 max_sockets_per_group(pool_type_),
323 &http_proxy_pool_histograms_, 319 &http_proxy_pool_histograms_,
324 host_resolver_, 320 host_resolver_,
325 tcp_http_ret.first->second, 321 tcp_http_ret.first->second,
326 ssl_https_ret.first->second, 322 ssl_https_ret.first->second,
327 proxy_delegate_,
328 net_log_))); 323 net_log_)));
329 324
330 return ret.first->second; 325 return ret.first->second;
331 } 326 }
332 327
333 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy( 328 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy(
334 const HostPortPair& proxy_server) { 329 const HostPortPair& proxy_server) {
335 SSLSocketPoolMap::const_iterator it = 330 SSLSocketPoolMap::const_iterator it =
336 ssl_socket_pools_for_proxies_.find(proxy_server); 331 ssl_socket_pools_for_proxies_.find(proxy_server);
337 if (it != ssl_socket_pools_for_proxies_.end()) 332 if (it != ssl_socket_pools_for_proxies_.end())
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 // We should not flush the socket pools if we added trust to a 392 // We should not flush the socket pools if we added trust to a
398 // cert. 393 // cert.
399 // 394 //
400 // Since the OnCACertChanged method doesn't tell us what 395 // Since the OnCACertChanged method doesn't tell us what
401 // kind of change it is, we have to flush the socket 396 // kind of change it is, we have to flush the socket
402 // pools to be safe. 397 // pools to be safe.
403 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED); 398 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED);
404 } 399 }
405 400
406 } // namespace net 401 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/client_socket_pool_manager_impl.h ('k') | net/socket/next_proto.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698