| 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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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.server_bound_cert_service, |
| 125 context.transport_security_state, | 125 context.transport_security_state, |
| 126 context.cert_transparency_verifier, |
| 126 (params->privacy_mode() == kPrivacyModeEnabled | 127 (params->privacy_mode() == kPrivacyModeEnabled |
| 127 ? "pm/" + context.ssl_session_cache_shard | 128 ? "pm/" + context.ssl_session_cache_shard |
| 128 : context.ssl_session_cache_shard)), | 129 : context.ssl_session_cache_shard)), |
| 129 callback_(base::Bind(&SSLConnectJob::OnIOComplete, | 130 callback_(base::Bind(&SSLConnectJob::OnIOComplete, |
| 130 base::Unretained(this))) {} | 131 base::Unretained(this))) {} |
| 131 | 132 |
| 132 SSLConnectJob::~SSLConnectJob() {} | 133 SSLConnectJob::~SSLConnectJob() {} |
| 133 | 134 |
| 134 LoadState SSLConnectJob::GetLoadState() const { | 135 LoadState SSLConnectJob::GetLoadState() const { |
| 135 switch (next_state_) { | 136 switch (next_state_) { |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 } | 502 } |
| 502 | 503 |
| 503 SSLClientSocketPool::SSLClientSocketPool( | 504 SSLClientSocketPool::SSLClientSocketPool( |
| 504 int max_sockets, | 505 int max_sockets, |
| 505 int max_sockets_per_group, | 506 int max_sockets_per_group, |
| 506 ClientSocketPoolHistograms* histograms, | 507 ClientSocketPoolHistograms* histograms, |
| 507 HostResolver* host_resolver, | 508 HostResolver* host_resolver, |
| 508 CertVerifier* cert_verifier, | 509 CertVerifier* cert_verifier, |
| 509 ServerBoundCertService* server_bound_cert_service, | 510 ServerBoundCertService* server_bound_cert_service, |
| 510 TransportSecurityState* transport_security_state, | 511 TransportSecurityState* transport_security_state, |
| 512 CTVerifier* cert_transparency_verifier, |
| 511 const std::string& ssl_session_cache_shard, | 513 const std::string& ssl_session_cache_shard, |
| 512 ClientSocketFactory* client_socket_factory, | 514 ClientSocketFactory* client_socket_factory, |
| 513 TransportClientSocketPool* transport_pool, | 515 TransportClientSocketPool* transport_pool, |
| 514 SOCKSClientSocketPool* socks_pool, | 516 SOCKSClientSocketPool* socks_pool, |
| 515 HttpProxyClientSocketPool* http_proxy_pool, | 517 HttpProxyClientSocketPool* http_proxy_pool, |
| 516 SSLConfigService* ssl_config_service, | 518 SSLConfigService* ssl_config_service, |
| 517 NetLog* net_log) | 519 NetLog* net_log) |
| 518 : transport_pool_(transport_pool), | 520 : transport_pool_(transport_pool), |
| 519 socks_pool_(socks_pool), | 521 socks_pool_(socks_pool), |
| 520 http_proxy_pool_(http_proxy_pool), | 522 http_proxy_pool_(http_proxy_pool), |
| 521 base_(this, max_sockets, max_sockets_per_group, histograms, | 523 base_(this, max_sockets, max_sockets_per_group, histograms, |
| 522 ClientSocketPool::unused_idle_socket_timeout(), | 524 ClientSocketPool::unused_idle_socket_timeout(), |
| 523 ClientSocketPool::used_idle_socket_timeout(), | 525 ClientSocketPool::used_idle_socket_timeout(), |
| 524 new SSLConnectJobFactory(transport_pool, | 526 new SSLConnectJobFactory(transport_pool, |
| 525 socks_pool, | 527 socks_pool, |
| 526 http_proxy_pool, | 528 http_proxy_pool, |
| 527 client_socket_factory, | 529 client_socket_factory, |
| 528 host_resolver, | 530 host_resolver, |
| 529 SSLClientSocketContext( | 531 SSLClientSocketContext( |
| 530 cert_verifier, | 532 cert_verifier, |
| 531 server_bound_cert_service, | 533 server_bound_cert_service, |
| 532 transport_security_state, | 534 transport_security_state, |
| 535 cert_transparency_verifier, |
| 533 ssl_session_cache_shard), | 536 ssl_session_cache_shard), |
| 534 net_log)), | 537 net_log)), |
| 535 ssl_config_service_(ssl_config_service) { | 538 ssl_config_service_(ssl_config_service) { |
| 536 if (ssl_config_service_.get()) | 539 if (ssl_config_service_.get()) |
| 537 ssl_config_service_->AddObserver(this); | 540 ssl_config_service_->AddObserver(this); |
| 538 if (transport_pool_) | 541 if (transport_pool_) |
| 539 base_.AddLowerLayeredPool(transport_pool_); | 542 base_.AddLowerLayeredPool(transport_pool_); |
| 540 if (socks_pool_) | 543 if (socks_pool_) |
| 541 base_.AddLowerLayeredPool(socks_pool_); | 544 base_.AddLowerLayeredPool(socks_pool_); |
| 542 if (http_proxy_pool_) | 545 if (http_proxy_pool_) |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 if (base_.CloseOneIdleSocket()) | 677 if (base_.CloseOneIdleSocket()) |
| 675 return true; | 678 return true; |
| 676 return base_.CloseOneIdleConnectionInHigherLayeredPool(); | 679 return base_.CloseOneIdleConnectionInHigherLayeredPool(); |
| 677 } | 680 } |
| 678 | 681 |
| 679 void SSLClientSocketPool::OnSSLConfigChanged() { | 682 void SSLClientSocketPool::OnSSLConfigChanged() { |
| 680 FlushWithError(ERR_NETWORK_CHANGED); | 683 FlushWithError(ERR_NETWORK_CHANGED); |
| 681 } | 684 } |
| 682 | 685 |
| 683 } // namespace net | 686 } // namespace net |
| OLD | NEW |