| 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 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 socks_pool_(socks_pool), | 191 socks_pool_(socks_pool), |
| 192 http_proxy_pool_(http_proxy_pool), | 192 http_proxy_pool_(http_proxy_pool), |
| 193 client_socket_factory_(client_socket_factory), | 193 client_socket_factory_(client_socket_factory), |
| 194 context_(context.cert_verifier, | 194 context_(context.cert_verifier, |
| 195 context.channel_id_service, | 195 context.channel_id_service, |
| 196 context.transport_security_state, | 196 context.transport_security_state, |
| 197 context.cert_transparency_verifier, | 197 context.cert_transparency_verifier, |
| 198 context.cert_policy_enforcer, | 198 context.cert_policy_enforcer, |
| 199 (params->privacy_mode() == PRIVACY_MODE_ENABLED | 199 (params->privacy_mode() == PRIVACY_MODE_ENABLED |
| 200 ? "pm/" + context.ssl_session_cache_shard | 200 ? "pm/" + context.ssl_session_cache_shard |
| 201 : context.ssl_session_cache_shard)), | 201 : context.ssl_session_cache_shard), |
| 202 context.ssl_socket_config_service), |
| 202 io_callback_( | 203 io_callback_( |
| 203 base::Bind(&SSLConnectJob::OnIOComplete, base::Unretained(this))), | 204 base::Bind(&SSLConnectJob::OnIOComplete, base::Unretained(this))), |
| 204 messenger_(NULL), | 205 messenger_(NULL), |
| 205 get_messenger_callback_(get_messenger_callback), | 206 get_messenger_callback_(get_messenger_callback), |
| 206 weak_factory_(this) { | 207 weak_factory_(this) { |
| 207 } | 208 } |
| 208 | 209 |
| 209 SSLConnectJob::~SSLConnectJob() { | 210 SSLConnectJob::~SSLConnectJob() { |
| 210 if (ssl_socket_.get() && messenger_) | 211 if (ssl_socket_.get() && messenger_) |
| 211 messenger_->RemovePendingSocket(ssl_socket_.get()); | 212 messenger_->RemovePendingSocket(ssl_socket_.get()); |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 631 TransportSecurityState* transport_security_state, | 632 TransportSecurityState* transport_security_state, |
| 632 CTVerifier* cert_transparency_verifier, | 633 CTVerifier* cert_transparency_verifier, |
| 633 CertPolicyEnforcer* cert_policy_enforcer, | 634 CertPolicyEnforcer* cert_policy_enforcer, |
| 634 const std::string& ssl_session_cache_shard, | 635 const std::string& ssl_session_cache_shard, |
| 635 ClientSocketFactory* client_socket_factory, | 636 ClientSocketFactory* client_socket_factory, |
| 636 TransportClientSocketPool* transport_pool, | 637 TransportClientSocketPool* transport_pool, |
| 637 SOCKSClientSocketPool* socks_pool, | 638 SOCKSClientSocketPool* socks_pool, |
| 638 HttpProxyClientSocketPool* http_proxy_pool, | 639 HttpProxyClientSocketPool* http_proxy_pool, |
| 639 SSLConfigService* ssl_config_service, | 640 SSLConfigService* ssl_config_service, |
| 640 bool enable_ssl_connect_job_waiting, | 641 bool enable_ssl_connect_job_waiting, |
| 641 NetLog* net_log) | 642 NetLog* net_log, |
| 643 SSLSocketConfigService* ssl_socket_config_service) |
| 642 : transport_pool_(transport_pool), | 644 : transport_pool_(transport_pool), |
| 643 socks_pool_(socks_pool), | 645 socks_pool_(socks_pool), |
| 644 http_proxy_pool_(http_proxy_pool), | 646 http_proxy_pool_(http_proxy_pool), |
| 645 base_(this, | 647 base_(this, |
| 646 max_sockets, | 648 max_sockets, |
| 647 max_sockets_per_group, | 649 max_sockets_per_group, |
| 648 histograms, | 650 histograms, |
| 649 ClientSocketPool::unused_idle_socket_timeout(), | 651 ClientSocketPool::unused_idle_socket_timeout(), |
| 650 ClientSocketPool::used_idle_socket_timeout(), | 652 ClientSocketPool::used_idle_socket_timeout(), |
| 651 new SSLConnectJobFactory( | 653 new SSLConnectJobFactory( |
| 652 transport_pool, | 654 transport_pool, |
| 653 socks_pool, | 655 socks_pool, |
| 654 http_proxy_pool, | 656 http_proxy_pool, |
| 655 client_socket_factory, | 657 client_socket_factory, |
| 656 SSLClientSocketContext(cert_verifier, | 658 SSLClientSocketContext(cert_verifier, |
| 657 channel_id_service, | 659 channel_id_service, |
| 658 transport_security_state, | 660 transport_security_state, |
| 659 cert_transparency_verifier, | 661 cert_transparency_verifier, |
| 660 cert_policy_enforcer, | 662 cert_policy_enforcer, |
| 661 ssl_session_cache_shard), | 663 ssl_session_cache_shard, |
| 664 ssl_socket_config_service), |
| 662 base::Bind( | 665 base::Bind( |
| 663 &SSLClientSocketPool::GetOrCreateSSLConnectJobMessenger, | 666 &SSLClientSocketPool::GetOrCreateSSLConnectJobMessenger, |
| 664 base::Unretained(this)), | 667 base::Unretained(this)), |
| 665 net_log)), | 668 net_log)), |
| 666 ssl_config_service_(ssl_config_service), | 669 ssl_config_service_(ssl_config_service), |
| 667 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting) { | 670 enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting) { |
| 668 if (ssl_config_service_.get()) | 671 if (ssl_config_service_.get()) |
| 669 ssl_config_service_->AddObserver(this); | 672 ssl_config_service_->AddObserver(this); |
| 670 if (transport_pool_) | 673 if (transport_pool_) |
| 671 base_.AddLowerLayeredPool(transport_pool_); | 674 base_.AddLowerLayeredPool(transport_pool_); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 840 CHECK(it != messenger_map_.end()); | 843 CHECK(it != messenger_map_.end()); |
| 841 delete it->second; | 844 delete it->second; |
| 842 messenger_map_.erase(it); | 845 messenger_map_.erase(it); |
| 843 } | 846 } |
| 844 | 847 |
| 845 void SSLClientSocketPool::OnSSLConfigChanged() { | 848 void SSLClientSocketPool::OnSSLConfigChanged() { |
| 846 FlushWithError(ERR_NETWORK_CHANGED); | 849 FlushWithError(ERR_NETWORK_CHANGED); |
| 847 } | 850 } |
| 848 | 851 |
| 849 } // namespace net | 852 } // namespace net |
| OLD | NEW |