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