| OLD | NEW |
| 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/ssl_client_socket_pool.h" | 5 #include "net/socket/ssl_client_socket_pool.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 priority, | 114 priority, |
| 115 delegate, | 115 delegate, |
| 116 BoundNetLog::Make(net_log, NetLog::SOURCE_CONNECT_JOB)), | 116 BoundNetLog::Make(net_log, NetLog::SOURCE_CONNECT_JOB)), |
| 117 params_(params), | 117 params_(params), |
| 118 transport_pool_(transport_pool), | 118 transport_pool_(transport_pool), |
| 119 socks_pool_(socks_pool), | 119 socks_pool_(socks_pool), |
| 120 http_proxy_pool_(http_proxy_pool), | 120 http_proxy_pool_(http_proxy_pool), |
| 121 client_socket_factory_(client_socket_factory), | 121 client_socket_factory_(client_socket_factory), |
| 122 host_resolver_(host_resolver), | 122 host_resolver_(host_resolver), |
| 123 context_(context.cert_verifier, | 123 context_(context.cert_verifier, |
| 124 context.server_bound_cert_service, | 124 context.channel_id_service, |
| 125 context.transport_security_state, | 125 context.transport_security_state, |
| 126 context.cert_transparency_verifier, | 126 context.cert_transparency_verifier, |
| 127 (params->privacy_mode() == PRIVACY_MODE_ENABLED | 127 (params->privacy_mode() == PRIVACY_MODE_ENABLED |
| 128 ? "pm/" + context.ssl_session_cache_shard | 128 ? "pm/" + context.ssl_session_cache_shard |
| 129 : context.ssl_session_cache_shard)), | 129 : context.ssl_session_cache_shard)), |
| 130 callback_(base::Bind(&SSLConnectJob::OnIOComplete, | 130 callback_(base::Bind(&SSLConnectJob::OnIOComplete, |
| 131 base::Unretained(this))) {} | 131 base::Unretained(this))) {} |
| 132 | 132 |
| 133 SSLConnectJob::~SSLConnectJob() {} | 133 SSLConnectJob::~SSLConnectJob() {} |
| 134 | 134 |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 timeout_ = max_transport_timeout + | 500 timeout_ = max_transport_timeout + |
| 501 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); | 501 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); |
| 502 } | 502 } |
| 503 | 503 |
| 504 SSLClientSocketPool::SSLClientSocketPool( | 504 SSLClientSocketPool::SSLClientSocketPool( |
| 505 int max_sockets, | 505 int max_sockets, |
| 506 int max_sockets_per_group, | 506 int max_sockets_per_group, |
| 507 ClientSocketPoolHistograms* histograms, | 507 ClientSocketPoolHistograms* histograms, |
| 508 HostResolver* host_resolver, | 508 HostResolver* host_resolver, |
| 509 CertVerifier* cert_verifier, | 509 CertVerifier* cert_verifier, |
| 510 ServerBoundCertService* server_bound_cert_service, | 510 ChannelIDService* channel_id_service, |
| 511 TransportSecurityState* transport_security_state, | 511 TransportSecurityState* transport_security_state, |
| 512 CTVerifier* cert_transparency_verifier, | 512 CTVerifier* cert_transparency_verifier, |
| 513 const std::string& ssl_session_cache_shard, | 513 const std::string& ssl_session_cache_shard, |
| 514 ClientSocketFactory* client_socket_factory, | 514 ClientSocketFactory* client_socket_factory, |
| 515 TransportClientSocketPool* transport_pool, | 515 TransportClientSocketPool* transport_pool, |
| 516 SOCKSClientSocketPool* socks_pool, | 516 SOCKSClientSocketPool* socks_pool, |
| 517 HttpProxyClientSocketPool* http_proxy_pool, | 517 HttpProxyClientSocketPool* http_proxy_pool, |
| 518 SSLConfigService* ssl_config_service, | 518 SSLConfigService* ssl_config_service, |
| 519 NetLog* net_log) | 519 NetLog* net_log) |
| 520 : transport_pool_(transport_pool), | 520 : transport_pool_(transport_pool), |
| 521 socks_pool_(socks_pool), | 521 socks_pool_(socks_pool), |
| 522 http_proxy_pool_(http_proxy_pool), | 522 http_proxy_pool_(http_proxy_pool), |
| 523 base_(this, max_sockets, max_sockets_per_group, histograms, | 523 base_(this, max_sockets, max_sockets_per_group, histograms, |
| 524 ClientSocketPool::unused_idle_socket_timeout(), | 524 ClientSocketPool::unused_idle_socket_timeout(), |
| 525 ClientSocketPool::used_idle_socket_timeout(), | 525 ClientSocketPool::used_idle_socket_timeout(), |
| 526 new SSLConnectJobFactory(transport_pool, | 526 new SSLConnectJobFactory(transport_pool, |
| 527 socks_pool, | 527 socks_pool, |
| 528 http_proxy_pool, | 528 http_proxy_pool, |
| 529 client_socket_factory, | 529 client_socket_factory, |
| 530 host_resolver, | 530 host_resolver, |
| 531 SSLClientSocketContext( | 531 SSLClientSocketContext( |
| 532 cert_verifier, | 532 cert_verifier, |
| 533 server_bound_cert_service, | 533 channel_id_service, |
| 534 transport_security_state, | 534 transport_security_state, |
| 535 cert_transparency_verifier, | 535 cert_transparency_verifier, |
| 536 ssl_session_cache_shard), | 536 ssl_session_cache_shard), |
| 537 net_log)), | 537 net_log)), |
| 538 ssl_config_service_(ssl_config_service) { | 538 ssl_config_service_(ssl_config_service) { |
| 539 if (ssl_config_service_.get()) | 539 if (ssl_config_service_.get()) |
| 540 ssl_config_service_->AddObserver(this); | 540 ssl_config_service_->AddObserver(this); |
| 541 if (transport_pool_) | 541 if (transport_pool_) |
| 542 base_.AddLowerLayeredPool(transport_pool_); | 542 base_.AddLowerLayeredPool(transport_pool_); |
| 543 if (socks_pool_) | 543 if (socks_pool_) |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 if (base_.CloseOneIdleSocket()) | 677 if (base_.CloseOneIdleSocket()) |
| 678 return true; | 678 return true; |
| 679 return base_.CloseOneIdleConnectionInHigherLayeredPool(); | 679 return base_.CloseOneIdleConnectionInHigherLayeredPool(); |
| 680 } | 680 } |
| 681 | 681 |
| 682 void SSLClientSocketPool::OnSSLConfigChanged() { | 682 void SSLClientSocketPool::OnSSLConfigChanged() { |
| 683 FlushWithError(ERR_NETWORK_CHANGED); | 683 FlushWithError(ERR_NETWORK_CHANGED); |
| 684 } | 684 } |
| 685 | 685 |
| 686 } // namespace net | 686 } // namespace net |
| OLD | NEW |