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

Unified Diff: net/socket/ssl_client_socket_pool_unittest.cc

Issue 353713005: Implements new, more robust design for communicating between SSLConnectJobs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a new state to SSLClientSocket Connect, fixed various comment issues. Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: net/socket/ssl_client_socket_pool_unittest.cc
diff --git a/net/socket/ssl_client_socket_pool_unittest.cc b/net/socket/ssl_client_socket_pool_unittest.cc
index e71d0b2c2357683bd4547d075f71d5f4ffcc5209..6556b8ddaab3735645452701655512505570a767 100644
--- a/net/socket/ssl_client_socket_pool_unittest.cc
+++ b/net/socket/ssl_client_socket_pool_unittest.cc
@@ -6,6 +6,7 @@
#include "base/callback.h"
#include "base/compiler_specific.h"
+#include "base/run_loop.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
@@ -130,7 +131,10 @@ class SSLClientSocketPoolTest
ssl_config_service->GetSSLConfig(&ssl_config_);
}
- void CreatePool(bool transport_pool, bool http_proxy_pool, bool socks_pool) {
+ void CreatePool(bool transport_pool,
+ bool http_proxy_pool,
+ bool socks_pool,
+ bool enable_ssl_connect_job_waiting) {
Ryan Sleevi 2014/07/25 01:36:37 Why make this an argument to CreatePool? You could
mshelley 2014/07/26 00:58:27 Done.
ssl_histograms_.reset(new ClientSocketPoolHistograms("SSLUnitTest"));
pool_.reset(new SSLClientSocketPool(
kMaxSockets,
@@ -147,6 +151,7 @@ class SSLClientSocketPoolTest
socks_pool ? &socks_socket_pool_ : NULL,
http_proxy_pool ? &http_proxy_socket_pool_ : NULL,
NULL,
+ enable_ssl_connect_job_waiting,
NULL));
}
@@ -229,12 +234,430 @@ INSTANTIATE_TEST_CASE_P(
testing::Values(kProtoDeprecatedSPDY2,
kProtoSPDY3, kProtoSPDY31, kProtoSPDY4));
+// Tests that the final socket will connect even if all sockets
+// prior to it fail.
Ryan Sleevi 2014/07/25 01:36:37 More detail is needed in this comment, explaining
mshelley 2014/07/26 00:58:28 Done.
+TEST_P(SSLClientSocketPoolTest, AllSocketsFailButLast) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ StaticSocketDataProvider data4;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+ socket_factory_.AddSocketDataProvider(&data4);
+ socket_factory_.AddSocketDataProvider(&data4);
+ socket_factory_.AddSocketDataProvider(&data4);
+ socket_factory_.AddSocketDataProvider(&data4);
+ socket_factory_.AddSocketDataProvider(&data4);
+ SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
+ ssl.is_in_session_cache = false;
+ SSLSocketDataProvider ssl2(ASYNC, ERR_SSL_PROTOCOL_ERROR);
+ ssl2.is_in_session_cache = true;
+ SSLSocketDataProvider ssl3(ASYNC, ERR_SSL_PROTOCOL_ERROR);
+ ssl3.is_in_session_cache = true;
+ SSLSocketDataProvider ssl4(ASYNC, OK);
+ ssl4.is_in_session_cache = true;
+
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+
+ CreatePool(true, false, false, true);
+
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params4 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ ClientSocketHandle handle4;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+ TestCompletionCallback callback4;
+
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+ handle4.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ // Only the last socket should have connected.
+ EXPECT_FALSE(handle1.socket());
+ EXPECT_FALSE(handle2.socket());
+ EXPECT_FALSE(handle3.socket());
+ EXPECT_TRUE(handle4.socket()->IsConnected());
+}
+
+// Tests that sockets will still connect in parellel if the
Ryan Sleevi 2014/07/25 01:36:37 parallel
mshelley 2014/07/26 00:58:27 Done.
+// EnableSSLConnectJobWaiting flag is not enabled.
+TEST_P(SSLClientSocketPoolTest, SocketsConnectWithoutFlag) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+
+ SSLSocketDataProvider ssl(ASYNC, OK);
+ ssl.is_in_session_cache = false;
+ ssl.should_block_on_connect = true;
+ SSLSocketDataProvider ssl2(ASYNC, OK);
+ ssl2.is_in_session_cache = true;
+ ssl2.should_block_on_connect = true;
+ SSLSocketDataProvider ssl3(ASYNC, OK);
+ ssl3.is_in_session_cache = true;
+ ssl3.should_block_on_connect = true;
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+
+ CreatePool(true, false, false, false);
+
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ // All sockets should have started their connections.
+ for (std::vector<MockSSLClientSocket*>::iterator it = sockets.begin();
+ it != sockets.end();
+ ++it) {
+ EXPECT_TRUE((*it)->IsConnected());
+ (*it)->RestartPausedConnect();
Ryan Sleevi 2014/07/25 01:36:37 This is... Surprising. I'm not sure I understand w
mshelley 2014/07/26 00:58:27 The idea here was to confirm that every socket sta
+ }
+
+ callback3.WaitForResult();
Ryan Sleevi 2014/07/25 01:36:37 Mention why you don't check callback1/2
mshelley 2014/07/26 00:58:27 I was assuming that since 1/2 begin before 3, they
+
+ EXPECT_TRUE(handle1.socket()->IsConnected());
+ EXPECT_TRUE(handle2.socket()->IsConnected());
+ EXPECT_TRUE(handle3.socket()->IsConnected());
+}
+
+// Tests that the pool deleting an SSLConnectJob will not cause a crash,
+// or prevent pending sockets from connecting.
+TEST_P(SSLClientSocketPoolTest, DeletedSSLConnectJob) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+
+ SSLSocketDataProvider ssl(ASYNC, OK);
+ ssl.is_in_session_cache = false;
+ ssl.should_block_on_connect = true;
+ SSLSocketDataProvider ssl2(ASYNC, OK);
+ ssl2.is_in_session_cache = false;
+ SSLSocketDataProvider ssl3(ASYNC, OK);
+ ssl3.is_in_session_cache = false;
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+
+ CreatePool(true, false, false, true);
+
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+
+ // Allow the connections to proceed until the first socket has started
+ // connecting.
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ pool_->CancelRequest("b", &handle2);
+
+ sockets[0]->RestartPausedConnect();
+
+ callback3.WaitForResult();
+
+ EXPECT_TRUE(handle1.socket()->IsConnected());
+ EXPECT_FALSE(handle2.socket());
+ EXPECT_TRUE(handle3.socket()->IsConnected());
+}
+
+// Tests that all pending sockets still connect when the pool deletes a pending
+// SSLConnectJob which immediately followed a failed leading connection.
+TEST_P(SSLClientSocketPoolTest, DeletedSocketAfterFail) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+
+ SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
+ ssl.is_in_session_cache = false;
+ ssl.should_block_on_connect = true;
+ SSLSocketDataProvider ssl2(ASYNC, OK);
+ ssl2.is_in_session_cache = false;
+ SSLSocketDataProvider ssl3(ASYNC, OK);
+ ssl3.is_in_session_cache = false;
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+
+ CreatePool(true, false, false, true);
+
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+
+ // Allow the connections to proceed until the first socket has started
+ // connecting.
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ pool_->CancelRequest("b", &handle2);
+
+ sockets[0]->RestartPausedConnect();
+
+ callback3.WaitForResult();
+
+ EXPECT_TRUE(handle1.socket()->IsConnected());
+ EXPECT_FALSE(handle2.socket());
+ EXPECT_TRUE(handle3.socket()->IsConnected());
+}
+
+// Make sure that sockets still connect after the leader socket's
+// connection fails.
+TEST_P(SSLClientSocketPoolTest, SimultaneousConnectJobsFail) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ StaticSocketDataProvider data4;
+ StaticSocketDataProvider data5;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+ socket_factory_.AddSocketDataProvider(&data4);
+ socket_factory_.AddSocketDataProvider(&data5);
+ SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
+ ssl.is_in_session_cache = false;
+ ssl.should_block_on_connect = true;
+ SSLSocketDataProvider ssl2(ASYNC, OK);
+ ssl2.is_in_session_cache = false;
+ ssl2.should_block_on_connect = true;
+ SSLSocketDataProvider ssl3(ASYNC, OK);
+ ssl3.is_in_session_cache = false;
+ SSLSocketDataProvider ssl4(ASYNC, OK);
+ ssl4.is_in_session_cache = false;
+ SSLSocketDataProvider ssl5(ASYNC, OK);
+ ssl5.is_in_session_cache = false;
+
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+ socket_factory_.AddSSLSocketDataProvider(&ssl4);
+ socket_factory_.AddSSLSocketDataProvider(&ssl5);
+
+ CreatePool(true, false, false, true);
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params4 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ ClientSocketHandle handle4;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+ TestCompletionCallback callback4;
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+ handle4.Init(
+ "b", params4, MEDIUM, callback4.callback(), pool_.get(), BoundNetLog());
+
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ // The first socket's connection should have failed, and no other sockets
+ // should have connected yet.
+ for (std::vector<MockSSLClientSocket*>::iterator it = sockets.begin();
+ it != sockets.end();
+ ++it) {
+ EXPECT_FALSE((*it)->IsConnected());
+ }
+
+ // Allow the first socket to resume it's connection process.
+ sockets[0]->RestartPausedConnect();
+
+ base::RunLoop().RunUntilIdle();
+
+ // The second socket should have connected.
+ EXPECT_TRUE(sockets[1]->IsConnected());
+
+ // Allow the second socket to continue its connection.
+ sockets[1]->RestartPausedConnect();
+
+ callback4.WaitForResult();
+
+ // Pending connections should ultimately succeed.
+ for (std::vector<MockSSLClientSocket*>::iterator it = ++sockets.begin();
+ it != sockets.end();
+ ++it) {
+ EXPECT_TRUE((*it)->IsConnected());
+ }
+}
+
+// Make sure that no sockets connect before the "leader" socket,
+// given that the leader has a successful connection.
+TEST_P(SSLClientSocketPoolTest, SimultaneousConnectJobsSuccess) {
+ StaticSocketDataProvider data1;
+ StaticSocketDataProvider data2;
+ StaticSocketDataProvider data3;
+ socket_factory_.AddSocketDataProvider(&data1);
+ socket_factory_.AddSocketDataProvider(&data2);
+ socket_factory_.AddSocketDataProvider(&data3);
+
+ SSLSocketDataProvider ssl(ASYNC, OK);
+ ssl.is_in_session_cache = false;
+ ssl.should_block_on_connect = true;
+ SSLSocketDataProvider ssl2(ASYNC, OK);
+ ssl2.is_in_session_cache = false;
+ SSLSocketDataProvider ssl3(ASYNC, OK);
+ ssl3.is_in_session_cache = false;
+ socket_factory_.AddSSLSocketDataProvider(&ssl);
+ socket_factory_.AddSSLSocketDataProvider(&ssl2);
+ socket_factory_.AddSSLSocketDataProvider(&ssl3);
+
+ CreatePool(true, false, false, true);
+
+ scoped_refptr<SSLSocketParams> params1 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params2 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ scoped_refptr<SSLSocketParams> params3 =
+ SSLParams(ProxyServer::SCHEME_DIRECT, false);
+ ClientSocketHandle handle1;
+ ClientSocketHandle handle2;
+ ClientSocketHandle handle3;
+ TestCompletionCallback callback1;
+ TestCompletionCallback callback2;
+ TestCompletionCallback callback3;
+
+ handle1.Init(
+ "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
+ handle2.Init(
+ "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
+ handle3.Init(
+ "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
+
+ // Allow the connections to proceed until the first socket has finished
+ // connecting.
+ base::RunLoop().RunUntilIdle();
+
+ std::vector<MockSSLClientSocket*> sockets =
+ socket_factory_.ssl_client_sockets();
+
+ EXPECT_TRUE(sockets[0]->IsConnected());
+ for (std::vector<MockSSLClientSocket*>::iterator it = ++sockets.begin();
+ it != sockets.end();
+ ++it) {
+ EXPECT_FALSE((*it)->IsConnected());
+ }
+
+ sockets[0]->RestartPausedConnect();
+
+ callback3.WaitForResult();
+
+ EXPECT_TRUE(handle1.socket()->IsConnected());
+ EXPECT_TRUE(handle2.socket()->IsConnected());
+ EXPECT_TRUE(handle3.socket()->IsConnected());
+}
+
TEST_P(SSLClientSocketPoolTest, TCPFail) {
StaticSocketDataProvider data;
data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -252,7 +675,7 @@ TEST_P(SSLClientSocketPoolTest, TCPFailAsync) {
data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -277,7 +700,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirect) {
SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -294,7 +717,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirect) {
// Make sure that SSLConnectJob passes on its priority to its
// socket request on Init (for the DIRECT case).
TEST_P(SSLClientSocketPoolTest, SetSocketRequestPriorityOnInitDirect) {
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params =
SSLParams(ProxyServer::SCHEME_DIRECT, false);
@@ -321,7 +744,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirectAsync) {
SSLSocketDataProvider ssl(ASYNC, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -345,7 +768,7 @@ TEST_P(SSLClientSocketPoolTest, DirectCertError) {
SSLSocketDataProvider ssl(ASYNC, ERR_CERT_COMMON_NAME_INVALID);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -369,7 +792,7 @@ TEST_P(SSLClientSocketPoolTest, DirectSSLError) {
SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -394,7 +817,7 @@ TEST_P(SSLClientSocketPoolTest, DirectWithNPN) {
ssl.SetNextProto(kProtoHTTP11);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
false);
@@ -421,7 +844,7 @@ TEST_P(SSLClientSocketPoolTest, DirectNoSPDY) {
ssl.SetNextProto(kProtoHTTP11);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
true);
@@ -446,7 +869,7 @@ TEST_P(SSLClientSocketPoolTest, DirectGotSPDY) {
ssl.SetNextProto(GetParam());
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
true);
@@ -478,7 +901,7 @@ TEST_P(SSLClientSocketPoolTest, DirectGotBonusSPDY) {
ssl.SetNextProto(GetParam());
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT,
true);
@@ -508,7 +931,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSFail) {
data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
false);
@@ -527,7 +950,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSFailAsync) {
data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
false);
@@ -552,7 +975,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSBasic) {
SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
false);
@@ -577,7 +1000,7 @@ TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitSOCKS) {
SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params =
SSLParams(ProxyServer::SCHEME_SOCKS5, false);
@@ -594,7 +1017,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSBasicAsync) {
SSLSocketDataProvider ssl(ASYNC, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5,
false);
@@ -619,7 +1042,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyFail) {
data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
false);
@@ -638,7 +1061,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyFailAsync) {
data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED));
socket_factory_.AddSocketDataProvider(&data);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
false);
@@ -675,7 +1098,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyBasic) {
SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
false);
@@ -710,7 +1133,7 @@ TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitHTTP) {
SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params =
SSLParams(ProxyServer::SCHEME_HTTP, false);
@@ -738,7 +1161,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyBasicAsync) {
SSLSocketDataProvider ssl(ASYNC, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
false);
@@ -774,7 +1197,7 @@ TEST_P(SSLClientSocketPoolTest, NeedProxyAuth) {
SSLSocketDataProvider ssl(ASYNC, OK);
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(false, true /* http proxy pool */, true /* socks pool */);
+ CreatePool(false, true /* http proxy pool */, true /* socks pool */, false);
scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP,
false);
@@ -843,7 +1266,7 @@ TEST_P(SSLClientSocketPoolTest, IPPooling) {
ssl.SetNextProto(GetParam());
socket_factory_.AddSSLSocketDataProvider(&ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
base::WeakPtr<SpdySession> spdy_session =
CreateSecureSpdySession(session_, test_hosts[0].key, BoundNetLog());
@@ -900,7 +1323,7 @@ void SSLClientSocketPoolTest::TestIPPoolingDisabled(
socket_factory_.AddSocketDataProvider(&data);
socket_factory_.AddSSLSocketDataProvider(ssl);
- CreatePool(true /* tcp pool */, false, false);
+ CreatePool(true /* tcp pool */, false, false, false);
base::WeakPtr<SpdySession> spdy_session =
CreateSecureSpdySession(session_, test_hosts[0].key, BoundNetLog());

Powered by Google App Engine
This is Rietveld 408576698