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 |