Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: net/socket/ssl_client_socket_pool.cc

Issue 15829004: Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: license twerk Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/socket/ssl_client_socket_nss.cc ('k') | net/socket/ssl_client_socket_pool_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
116 return LOAD_STATE_SSL_HANDSHAKE; 116 return LOAD_STATE_SSL_HANDSHAKE;
117 default: 117 default:
118 NOTREACHED(); 118 NOTREACHED();
119 return LOAD_STATE_IDLE; 119 return LOAD_STATE_IDLE;
120 } 120 }
121 } 121 }
122 122
123 void SSLConnectJob::GetAdditionalErrorState(ClientSocketHandle* handle) { 123 void SSLConnectJob::GetAdditionalErrorState(ClientSocketHandle* handle) {
124 // Headers in |error_response_info_| indicate a proxy tunnel setup 124 // Headers in |error_response_info_| indicate a proxy tunnel setup
125 // problem. See DoTunnelConnectComplete. 125 // problem. See DoTunnelConnectComplete.
126 if (error_response_info_.headers) { 126 if (error_response_info_.headers.get()) {
127 handle->set_pending_http_proxy_connection( 127 handle->set_pending_http_proxy_connection(
128 transport_socket_handle_.release()); 128 transport_socket_handle_.release());
129 } 129 }
130 handle->set_ssl_error_response_info(error_response_info_); 130 handle->set_ssl_error_response_info(error_response_info_);
131 if (!connect_timing_.ssl_start.is_null()) 131 if (!connect_timing_.ssl_start.is_null())
132 handle->set_is_ssl_error(true); 132 handle->set_is_ssl_error(true);
133 } 133 }
134 134
135 void SSLConnectJob::OnIOComplete(int result) { 135 void SSLConnectJob::OnIOComplete(int result) {
136 int rv = DoLoop(result); 136 int rv = DoLoop(result);
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 base::TimeDelta::FromMinutes(1), 376 base::TimeDelta::FromMinutes(1),
377 100); 377 100);
378 } 378 }
379 } 379 }
380 } 380 }
381 381
382 if (result == OK || IsCertificateError(result)) { 382 if (result == OK || IsCertificateError(result)) {
383 set_socket(ssl_socket_.release()); 383 set_socket(ssl_socket_.release());
384 } else if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) { 384 } else if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) {
385 error_response_info_.cert_request_info = new SSLCertRequestInfo; 385 error_response_info_.cert_request_info = new SSLCertRequestInfo;
386 ssl_socket_->GetSSLCertRequestInfo(error_response_info_.cert_request_info); 386 ssl_socket_->GetSSLCertRequestInfo(
387 error_response_info_.cert_request_info.get());
387 } 388 }
388 389
389 return result; 390 return result;
390 } 391 }
391 392
392 int SSLConnectJob::ConnectInternal() { 393 int SSLConnectJob::ConnectInternal() {
393 switch (params_->proxy()) { 394 switch (params_->proxy()) {
394 case ProxyServer::SCHEME_DIRECT: 395 case ProxyServer::SCHEME_DIRECT:
395 next_state_ = STATE_TRANSPORT_CONNECT; 396 next_state_ = STATE_TRANSPORT_CONNECT;
396 break; 397 break;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 http_proxy_pool, 469 http_proxy_pool,
469 client_socket_factory, 470 client_socket_factory,
470 host_resolver, 471 host_resolver,
471 SSLClientSocketContext( 472 SSLClientSocketContext(
472 cert_verifier, 473 cert_verifier,
473 server_bound_cert_service, 474 server_bound_cert_service,
474 transport_security_state, 475 transport_security_state,
475 ssl_session_cache_shard), 476 ssl_session_cache_shard),
476 net_log)), 477 net_log)),
477 ssl_config_service_(ssl_config_service) { 478 ssl_config_service_(ssl_config_service) {
478 if (ssl_config_service_) 479 if (ssl_config_service_.get())
479 ssl_config_service_->AddObserver(this); 480 ssl_config_service_->AddObserver(this);
480 if (transport_pool_) 481 if (transport_pool_)
481 transport_pool_->AddLayeredPool(this); 482 transport_pool_->AddLayeredPool(this);
482 if (socks_pool_) 483 if (socks_pool_)
483 socks_pool_->AddLayeredPool(this); 484 socks_pool_->AddLayeredPool(this);
484 if (http_proxy_pool_) 485 if (http_proxy_pool_)
485 http_proxy_pool_->AddLayeredPool(this); 486 http_proxy_pool_->AddLayeredPool(this);
486 } 487 }
487 488
488 SSLClientSocketPool::~SSLClientSocketPool() { 489 SSLClientSocketPool::~SSLClientSocketPool() {
489 if (http_proxy_pool_) 490 if (http_proxy_pool_)
490 http_proxy_pool_->RemoveLayeredPool(this); 491 http_proxy_pool_->RemoveLayeredPool(this);
491 if (socks_pool_) 492 if (socks_pool_)
492 socks_pool_->RemoveLayeredPool(this); 493 socks_pool_->RemoveLayeredPool(this);
493 if (transport_pool_) 494 if (transport_pool_)
494 transport_pool_->RemoveLayeredPool(this); 495 transport_pool_->RemoveLayeredPool(this);
495 if (ssl_config_service_) 496 if (ssl_config_service_.get())
496 ssl_config_service_->RemoveObserver(this); 497 ssl_config_service_->RemoveObserver(this);
497 } 498 }
498 499
499 ConnectJob* SSLClientSocketPool::SSLConnectJobFactory::NewConnectJob( 500 ConnectJob* SSLClientSocketPool::SSLConnectJobFactory::NewConnectJob(
500 const std::string& group_name, 501 const std::string& group_name,
501 const PoolBase::Request& request, 502 const PoolBase::Request& request,
502 ConnectJob::Delegate* delegate) const { 503 ConnectJob::Delegate* delegate) const {
503 return new SSLConnectJob(group_name, request.params(), ConnectionTimeout(), 504 return new SSLConnectJob(group_name, request.params(), ConnectionTimeout(),
504 transport_pool_, socks_pool_, http_proxy_pool_, 505 transport_pool_, socks_pool_, http_proxy_pool_,
505 client_socket_factory_, host_resolver_, 506 client_socket_factory_, host_resolver_,
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 FlushWithError(ERR_NETWORK_CHANGED); 622 FlushWithError(ERR_NETWORK_CHANGED);
622 } 623 }
623 624
624 bool SSLClientSocketPool::CloseOneIdleConnection() { 625 bool SSLClientSocketPool::CloseOneIdleConnection() {
625 if (base_.CloseOneIdleSocket()) 626 if (base_.CloseOneIdleSocket())
626 return true; 627 return true;
627 return base_.CloseOneIdleConnectionInLayeredPool(); 628 return base_.CloseOneIdleConnectionInLayeredPool();
628 } 629 }
629 630
630 } // namespace net 631 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_nss.cc ('k') | net/socket/ssl_client_socket_pool_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698