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 |