diff options
author | ttuttle@chromium.org <ttuttle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 23:11:07 +0000 |
---|---|---|
committer | ttuttle@chromium.org <ttuttle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 23:11:07 +0000 |
commit | bb88e1d3c81ee0f4243a565a639d564edfdf7876 (patch) | |
tree | 4d3c4e2966dc292474a54f1fa7a11c93c570e708 /net | |
parent | b20ce678b6995fd339bbbf9ceeb3e91d5f692020 (diff) | |
download | chromium_src-bb88e1d3c81ee0f4243a565a639d564edfdf7876.zip chromium_src-bb88e1d3c81ee0f4243a565a639d564edfdf7876.tar.gz chromium_src-bb88e1d3c81ee0f4243a565a639d564edfdf7876.tar.bz2 |
Merge spdy2/3 versions of Spdy{SessionDependencies,URLRequestContext}
This is another step towards unified SPDY2/3/4 unittests. I merge two of the
classes used by SPDY-related unittests into common versions, parameterize them
explicitly by NextProto (instead of implicitly based on whether you get the
net::test_spdy2 or net::test_spdy3 version), and modify tests to instantiate
them with the proper version.
BUG=226192
Review URL: https://chromiumcodereview.appspot.com/14573003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198226 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
25 files changed, 1520 insertions, 1796 deletions
diff --git a/net/http/http_network_transaction_spdy2_unittest.cc b/net/http/http_network_transaction_spdy2_unittest.cc index f01fcb4..e302f0e 100644 --- a/net/http/http_network_transaction_spdy2_unittest.cc +++ b/net/http/http_network_transaction_spdy2_unittest.cc @@ -49,6 +49,7 @@ #include "net/proxy/proxy_service.h" #include "net/socket/client_socket_factory.h" #include "net/socket/mock_client_socket_pool_manager.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket/ssl_client_socket.h" #include "net/spdy/spdy_framer.h" @@ -235,6 +236,8 @@ HttpNetworkSession* CreateSession(SpdySessionDependencies* session_deps) { class HttpNetworkTransactionSpdy2Test : public PlatformTest { protected: + HttpNetworkTransactionSpdy2Test() : session_deps_(kProtoSPDY2) {} + struct SimpleGetHelperResult { int rv; std::string status_line; @@ -275,15 +278,14 @@ class HttpNetworkTransactionSpdy2Test : public PlatformTest { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); for (size_t i = 0; i < data_count; ++i) { - session_deps.socket_factory->AddSocketDataProvider(data[i]); + session_deps_.socket_factory->AddSocketDataProvider(data[i]); } TestCompletionCallback callback; @@ -349,6 +351,12 @@ class HttpNetworkTransactionSpdy2Test : public PlatformTest { int expected_status); void ConnectStatusHelper(const MockRead& status); + + void BypassHostCacheOnRefreshHelper(int load_flags); + + void CheckErrorIsPassedBack(int error, IoMode mode); + + SpdySessionDependencies session_deps_; }; namespace { @@ -531,10 +539,9 @@ bool CheckNTLMServerAuth(const AuthChallengeInfo* auth_challenge) { } // namespace TEST_F(HttpNetworkTransactionSpdy2Test, Basic) { - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); } TEST_F(HttpNetworkTransactionSpdy2Test, SimpleGET) { @@ -827,13 +834,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, TwoIdenticalLocationHeaders) { request.url = GURL("http://redirect.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -872,10 +878,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Head) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("HEAD / HTTP/1.1\r\n" @@ -894,7 +899,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Head) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -928,8 +933,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Head) { } TEST_F(HttpNetworkTransactionSpdy2Test, ReuseConnection) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), @@ -939,7 +943,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ReuseConnection) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); const char* const kExpectedResponseData[] = { "hello", "world" @@ -986,10 +990,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Ignores100) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 100 Continue\r\n\r\n"), @@ -998,7 +1001,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Ignores100) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1029,10 +1032,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Ignores1xx) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.1 102 Unspecified status code\r\n\r\n" @@ -1041,7 +1043,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Ignores1xx) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1069,17 +1071,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, Incomplete100ThenEOF) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(SYNCHRONOUS, "HTTP/1.0 100 Continue\r\n"), MockRead(ASYNC, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1101,16 +1102,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, EmptyResponse) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(ASYNC, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1129,10 +1129,9 @@ void HttpNetworkTransactionSpdy2Test::KeepAliveConnectionResendRequestTest( request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog net_log; - session_deps.net_log = &net_log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &net_log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Written data for successfully sending both requests. MockWrite data1_writes[] = { @@ -1161,7 +1160,7 @@ void HttpNetworkTransactionSpdy2Test::KeepAliveConnectionResendRequestTest( StaticSocketDataProvider data1(data1_reads, arraysize(data1_reads), data1_writes, arraysize(data1_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); MockRead data2_reads[] = { MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), @@ -1169,7 +1168,7 @@ void HttpNetworkTransactionSpdy2Test::KeepAliveConnectionResendRequestTest( MockRead(ASYNC, OK), }; StaticSocketDataProvider data2(data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const char* kExpectedResponseData[] = { "hello", "world" @@ -1233,10 +1232,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NonKeepAliveConnectionReset) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(ASYNC, ERR_CONNECTION_RESET), @@ -1245,7 +1243,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NonKeepAliveConnectionReset) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1290,8 +1288,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveEarlyClose) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -1303,7 +1300,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveEarlyClose) { MockRead(SYNCHRONOUS, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1332,8 +1329,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveEarlyClose2) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -1344,7 +1340,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveEarlyClose2) { MockRead(SYNCHRONOUS, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1373,10 +1369,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveAfterUnreadBody) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog net_log; - session_deps.net_log = &net_log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &net_log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Note that because all these reads happen in the same // StaticSocketDataProvider, it shows that the same socket is being reused for @@ -1399,13 +1394,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, KeepAliveAfterUnreadBody) { MockRead("hello"), }; StaticSocketDataProvider data1(data1_reads, arraysize(data1_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); MockRead data2_reads[] = { MockRead(SYNCHRONOUS, ERR_UNEXPECTED), // Should not be reached. }; StaticSocketDataProvider data2(data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const int kNumUnreadBodies = arraysize(data1_reads) - 2; std::string response_lines[kNumUnreadBodies]; @@ -1483,12 +1478,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuth) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog log; - session_deps.net_log = &log; + session_deps_.net_log = &log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1530,8 +1524,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1579,10 +1573,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotSendAuth) { request.url = GURL("http://www.google.com/"); request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1601,7 +1594,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotSendAuth) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; int rv = trans->Start(&request, callback.callback(), BoundNetLog()); @@ -1623,10 +1616,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAlive) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog log; - session_deps.net_log = &log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1665,8 +1657,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAlive) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1718,8 +1710,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveNoBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1755,8 +1746,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveNoBody) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1795,8 +1786,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveLargeBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1840,8 +1830,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveLargeBody) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1880,8 +1870,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveImpatientServer) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1927,8 +1916,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthKeepAliveImpatientServer) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1969,11 +1958,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyNoKeepAlive) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2011,9 +2000,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyNoKeepAlive) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2086,10 +2075,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyKeepAlive) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2127,7 +2116,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyKeepAlive) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -2188,9 +2177,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyCancelTunnel) { request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2212,7 +2201,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyCancelTunnel) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -2247,10 +2236,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UnexpectedProxyAuth) { request.load_flags = 0; // We are using a DIRECT connection (i.e. no proxy) for this session. - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -2268,7 +2256,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UnexpectedProxyAuth) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback; @@ -2292,10 +2280,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, request.method = "GET"; request.url = GURL("https://www.google.com/"); - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2319,9 +2307,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2355,11 +2343,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpProxyLoadTimingNoPacTwoRequests) { request2.url = GURL("https://www.google.com/2"); // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2392,9 +2380,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpProxyLoadTimingNoPacTwoRequests) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans1( @@ -2453,11 +2441,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpProxyLoadTimingWithPacTwoRequests) { request2.url = GURL("https://www.google.com/2"); // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2490,9 +2478,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpProxyLoadTimingWithPacTwoRequests) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans1( @@ -2548,11 +2536,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxyGet) { request.url = GURL("http://www.google.com/"); // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should use full url MockWrite data_writes1[] = { @@ -2570,9 +2558,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxyGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2610,11 +2598,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyGet) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // fetch http://www.google.com/ via SPDY scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, @@ -2633,11 +2621,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyGet) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2673,11 +2661,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyGetWithProxyAuth) { request.load_flags = 0; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // The first request will be a bare GET, the second request will be a // GET with a Proxy-Authorization header. @@ -2723,11 +2711,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyGetWithProxyAuth) { OrderedSocketData data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2774,11 +2762,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectHttps) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2819,15 +2807,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectHttps) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2859,11 +2847,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectSpdy) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2902,15 +2890,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectSpdy) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY2); ssl2.protocol_negotiated = kProtoSPDY2; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2942,11 +2930,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectFailure) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2970,14 +2958,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectFailure) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2995,12 +2983,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectFailure) { TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectHttpsLoadTimingTwoRequestsTwoServers) { // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3082,19 +3070,19 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); SSLSocketDataProvider ssl3(ASYNC, OK); ssl3.was_npn_negotiated = false; ssl3.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); TestCompletionCallback callback; @@ -3149,12 +3137,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyConnectHttpsLoadTimingTwoRequestsSameServer) { // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3215,15 +3203,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback; @@ -3277,12 +3265,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxySpdyLoadTimingTwoHttpRequests) { // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3342,11 +3330,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -3407,11 +3395,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxyAuthRetry) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should use full url MockWrite data_writes1[] = { @@ -3444,9 +3432,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HttpsProxyAuthRetry) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -3505,9 +3493,9 @@ void HttpNetworkTransactionSpdy2Test::ConnectStatusHelperWithExpectedStatus( request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes[] = { @@ -3525,7 +3513,7 @@ void HttpNetworkTransactionSpdy2Test::ConnectStatusHelperWithExpectedStatus( StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -3718,11 +3706,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyThenServer) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); // Configure against proxy server "myproxy:70". scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET http://www.google.com/ HTTP/1.1\r\n" @@ -3789,9 +3777,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthProxyThenServer) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -3849,8 +3837,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NTLMAuth1) { HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom1, MockGetHostName); - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET /kids/login.aspx HTTP/1.1\r\n" @@ -3921,8 +3908,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NTLMAuth1) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -3979,8 +3966,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NTLMAuth2) { HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom2, MockGetHostName); - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET /kids/login.aspx HTTP/1.1\r\n" @@ -4101,9 +4087,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NTLMAuth2) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -4180,10 +4166,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, LargeHeadersNoBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Respond with 300 kb of headers (we should fail after 256 kb). std::string large_headers_string; @@ -4196,7 +4181,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, LargeHeadersNoBody) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4221,9 +4206,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4246,7 +4231,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -4279,8 +4264,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSocket) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4296,7 +4280,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSocket) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4331,7 +4315,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSocket) { // Make sure that we recycle a SSL socket after reading all of the response // body. TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSSLSocket) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -4351,15 +4334,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSSLSocket) { }; SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4391,7 +4374,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSSLSocket) { // Grab a SSL socket, use it, and put it back into the pool. Then, reuse it // from the pool and make sure that we recover okay. TEST_F(HttpNetworkTransactionSpdy2Test, RecycleDeadSSLSocket) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -4416,19 +4398,19 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleDeadSSLSocket) { SSLSocketDataProvider ssl(ASYNC, OK); SSLSocketDataProvider ssl2(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); StaticSocketDataProvider data2(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4495,8 +4477,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSocketAfterZeroContentLength) { "rt=prt.2642,ol.2649,xjs.2951"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4510,7 +4491,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RecycleSocketAfterZeroContentLength) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4562,8 +4543,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ResendRequestOnWriteBodyError) { request[1].upload_data_stream = &upload_data_stream; request[1].load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // The first socket is used for transaction 1 and the first attempt of // transaction 2. @@ -4600,8 +4580,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ResendRequestOnWriteBodyError) { StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const char* kExpectedResponseData[] = { "hello world", "welcome" @@ -4641,10 +4621,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AuthIdentityInURL) { request.url = GURL("http://foo:b@r@www.google.com/"); request.load_flags = LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // The password contains an escaped character -- for this test to pass it // will need to be unescaped by HttpNetworkTransaction. @@ -4682,8 +4661,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AuthIdentityInURL) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; int rv = trans->Start(&request, callback1.callback(), BoundNetLog()); @@ -4723,10 +4702,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, WrongAuthIdentityInURL) { request.load_flags = LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -4778,9 +4756,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, WrongAuthIdentityInURL) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -4824,8 +4802,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, WrongAuthIdentityInURL) { // Test that previously tried username/passwords for a realm get re-used. TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Transaction 1: authenticate (foo, bar) on MyRealm1 { @@ -4869,8 +4846,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -4949,8 +4926,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -5015,7 +4992,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -5077,8 +5054,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -5166,9 +5143,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -5209,14 +5186,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthCacheAndPreauth) { // Tests that nonce count increments when multiple auth attempts // are started with the same nonce. TEST_F(HttpNetworkTransactionSpdy2Test, DigestPreAuthNonceCount) { - SpdySessionDependencies session_deps; HttpAuthHandlerDigest::Factory* digest_factory = new HttpAuthHandlerDigest::Factory(); HttpAuthHandlerDigest::FixedNonceGenerator* nonce_generator = new HttpAuthHandlerDigest::FixedNonceGenerator("0123456789abcdef"); digest_factory->set_nonce_generator(nonce_generator); - session_deps.http_auth_handler_factory.reset(digest_factory); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.http_auth_handler_factory.reset(digest_factory); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Transaction 1: authenticate (foo, bar) on MyRealm1 { @@ -5262,8 +5238,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DigestPreAuthNonceCount) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -5326,7 +5302,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DigestPreAuthNonceCount) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -5345,10 +5321,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DigestPreAuthNonceCount) { // Test the ResetStateForRestart() private method. TEST_F(HttpNetworkTransactionSpdy2Test, ResetStateForRestart) { // Create a transaction (the dependencies aren't important). - SpdySessionDependencies session_deps; scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Setup some state (which we expect ResetStateForRestart() will clear). trans->read_buf_ = new IOBuffer(15); @@ -5393,10 +5368,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificate) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -5417,10 +5391,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificate) { SSLSocketDataProvider ssl_bad(ASYNC, ERR_CERT_AUTHORITY_INVALID); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -5445,7 +5419,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificate) { // Test HTTPS connections to a site with a bad certificate, going through a // proxy TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificateViaProxy) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); HttpRequestInfo request; request.method = "GET"; @@ -5488,19 +5462,19 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificateViaProxy) { SSLSocketDataProvider ssl_bad(ASYNC, ERR_CERT_AUTHORITY_INVALID); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; for (int i = 0; i < 2; i++) { - session_deps.socket_factory->ResetNextMockIndexes(); + session_deps_.socket_factory->ResetNextMockIndexes(); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5524,10 +5498,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificateViaProxy) { // Test HTTPS connections to a site, going through an HTTPS proxy TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -5556,15 +5530,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSViaHttpsProxy) { SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy SSLSocketDataProvider tunnel_ssl(ASYNC, OK); // SSL through the tunnel - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); - session_deps.socket_factory->AddSSLSocketDataProvider(&tunnel_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&tunnel_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5588,10 +5562,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSViaHttpsProxy) { // Test an HTTPS Proxy's ability to redirect a CONNECT request TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -5615,14 +5589,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaHttpsProxy) { data_writes, arraysize(data_writes)); SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5664,7 +5638,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaHttpsProxy) { // Test an HTTPS (SPDY) Proxy's ability to redirect a CONNECT request TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaSpdyProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; @@ -5697,14 +5671,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaSpdyProxy) { SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy proxy_ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5724,7 +5698,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RedirectOfHttpsConnectViaSpdyProxy) { // Test that an HTTPS proxy's response to a CONNECT request is filtered. TEST_F(HttpNetworkTransactionSpdy2Test, ErrorResponseToHttpsConnectViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; @@ -5749,14 +5723,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, data_writes, arraysize(data_writes)); SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5770,8 +5744,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // Test that a SPDY proxy's response to a CONNECT request is filtered. TEST_F(HttpNetworkTransactionSpdy2Test, ErrorResponseToHttpsConnectViaSpdyProxy) { - SpdySessionDependencies session_deps( - ProxyService::CreateFixed("https://proxy:70")); + session_deps_.proxy_service.reset( + ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; request.method = "GET"; @@ -5807,14 +5781,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy proxy_ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5835,11 +5809,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthSpdyProxy) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. scoped_ptr<SpdyFrame> req(ConstructSpdyConnect(NULL, 0, 1)); @@ -5904,14 +5878,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BasicAuthSpdyProxy) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); // Vanilla SSL to the server SSLSocketDataProvider server(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&server); + session_deps_.socket_factory->AddSSLSocketDataProvider(&server); TestCompletionCallback callback1; @@ -5988,15 +5962,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CrossOriginProxyPush) { push_request.url = GURL("http://www.another-origin.com/foo.dat"); // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); // Enable cross-origin push. - session_deps.trusted_spdy_proxy = "myproxy:70"; + session_deps_.trusted_spdy_proxy = "myproxy:70"; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<SpdyFrame> stream1_syn(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, false)); @@ -6030,11 +6004,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CrossOriginProxyPush) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -6101,15 +6075,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CrossOriginProxyPushCorrectness) { request.url = GURL("http://www.google.com/"); // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); // Enable cross-origin push. - session_deps.trusted_spdy_proxy = "myproxy:70"; + session_deps_.trusted_spdy_proxy = "myproxy:70"; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<SpdyFrame> stream1_syn(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, false)); @@ -6145,11 +6119,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CrossOriginProxyPushCorrectness) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -6179,7 +6153,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CrossOriginProxyPushCorrectness) { // Test HTTPS connections to a site with a bad certificate, going through an // HTTPS proxy TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificateViaHttpsProxy) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); HttpRequestInfo request; @@ -6226,20 +6200,20 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSBadCertificateViaHttpsProxy) { SSLSocketDataProvider ssl(ASYNC, OK); // SSL to the proxy, then CONNECT request, then SSL with bad certificate - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); // SSL to the proxy, then CONNECT request, then valid SSL certificate - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -6266,10 +6240,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_UserAgent) { request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chromium Ultra Awesome X Edition"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6288,7 +6261,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_UserAgent) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6306,10 +6279,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_UserAgentOverTunnel) { request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chromium Ultra Awesome X Edition"); - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" @@ -6327,7 +6300,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_UserAgentOverTunnel) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6346,10 +6319,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_Referer) { request.extra_headers.SetHeader(HttpRequestHeaders::kReferer, "http://the.previous.site.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6368,7 +6340,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_Referer) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6384,10 +6356,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_PostContentLengthZero) { request.method = "POST"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("POST / HTTP/1.1\r\n" @@ -6406,7 +6377,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_PostContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6422,10 +6393,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_PutContentLengthZero) { request.method = "PUT"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("PUT / HTTP/1.1\r\n" @@ -6444,7 +6414,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_PutContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6460,10 +6430,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_HeadContentLengthZero) { request.method = "HEAD"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("HEAD / HTTP/1.1\r\n" @@ -6482,7 +6451,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_HeadContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6499,10 +6468,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_CacheControlNoCache) { request.url = GURL("http://www.google.com/"); request.load_flags = LOAD_BYPASS_CACHE; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6522,7 +6490,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_CacheControlNoCache) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6540,10 +6508,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, request.url = GURL("http://www.google.com/"); request.load_flags = LOAD_VALIDATE_CACHE; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6562,7 +6529,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6579,10 +6546,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_ExtraHeaders) { request.url = GURL("http://www.google.com/"); request.extra_headers.SetHeader("FooHeader", "Bar"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6601,7 +6567,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_ExtraHeaders) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6620,10 +6586,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_ExtraHeadersStripped) { request.extra_headers.SetHeader("hEllo", "Kitty"); request.extra_headers.SetHeader("FoO", "bar"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6644,7 +6609,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BuildRequest_ExtraHeadersStripped) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6661,14 +6626,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_HTTP_GET) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); char write_buffer[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 }; char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6690,7 +6655,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_HTTP_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6720,14 +6685,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_SSL_GET) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); unsigned char write_buffer[] = { 0x04, 0x01, 0x01, 0xBB, 127, 0, 0, 1, 0 }; unsigned char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6751,10 +6716,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_SSL_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -6784,14 +6749,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_HTTP_GET_no_PAC) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("socks4://myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); char write_buffer[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 }; char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6813,7 +6778,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS4_HTTP_GET_no_PAC) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6843,14 +6808,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS5_HTTP_GET) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS5 myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); const char kSOCKS5GreetRequest[] = { 0x05, 0x01, 0x00 }; const char kSOCKS5GreetResponse[] = { 0x05, 0x00 }; @@ -6886,7 +6851,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS5_HTTP_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6916,14 +6881,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS5_SSL_GET) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS5 myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); const char kSOCKS5GreetRequest[] = { 0x05, 0x01, 0x00 }; const char kSOCKS5GreetResponse[] = { 0x05, 0x00 }; @@ -6961,10 +6926,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SOCKS5_SSL_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -7000,8 +6965,8 @@ struct GroupNameTest { }; scoped_refptr<HttpNetworkSession> SetupSessionForGroupNameTests( - SpdySessionDependencies* session_deps) { - scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps)); + SpdySessionDependencies* session_deps_) { + scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -7070,10 +7035,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GroupNameForDirectConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); CaptureGroupNameTransportSocketPool* transport_conn_pool = @@ -7133,10 +7098,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GroupNameForHTTPProxyConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); @@ -7203,10 +7168,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GroupNameForSOCKSConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); @@ -7241,16 +7206,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ReconsiderProxyAfterFailedConnection) { request.method = "GET"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("myproxy:70;foobar:80")); // This simulates failure resolving all hostnames; that means we will fail // connecting to both proxies (myproxy:70 and foobar:80). - session_deps.host_resolver->rules()->AddSimulatedFailure("*"); + session_deps_.host_resolver->rules()->AddSimulatedFailure("*"); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); TestCompletionCallback callback; @@ -7261,29 +7226,26 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ReconsiderProxyAfterFailedConnection) { EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, rv); } -namespace { - // Base test to make sure that when the load flags for a request specify to // bypass the cache, the DNS cache is not used. -void BypassHostCacheOnRefreshHelper(int load_flags) { +void HttpNetworkTransactionSpdy2Test::BypassHostCacheOnRefreshHelper( + int load_flags) { // Issue a request, asking to bypass the cache(s). HttpRequestInfo request; request.method = "GET"; request.load_flags = load_flags; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; - // Select a host resolver that does caching. - session_deps.host_resolver.reset(new MockCachingHostResolver); + session_deps_.host_resolver.reset(new MockCachingHostResolver); scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Warm up the host cache so it has an entry for "www.google.com". AddressList addrlist; TestCompletionCallback callback; - int rv = session_deps.host_resolver->Resolve( + int rv = session_deps_.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, callback.callback(), NULL, BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7292,7 +7254,7 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { // Verify that it was added to host cache, by doing a subsequent async lookup // and confirming it completes synchronously. - rv = session_deps.host_resolver->Resolve( + rv = session_deps_.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, callback.callback(), NULL, BoundNetLog()); ASSERT_EQ(OK, rv); @@ -7300,13 +7262,13 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { // Inject a failure the next time that "www.google.com" is resolved. This way // we can tell if the next lookup hit the cache, or the "network". // (cache --> success, "network" --> failure). - session_deps.host_resolver->rules()->AddSimulatedFailure("www.google.com"); + session_deps_.host_resolver->rules()->AddSimulatedFailure("www.google.com"); // Connect up a mock socket which will fail with ERR_UNEXPECTED during the // first read -- this won't be reached as the host resolution will fail first. MockRead data_reads[] = { MockRead(SYNCHRONOUS, ERR_UNEXPECTED) }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); // Run the request. rv = trans->Start(&request, callback.callback(), BoundNetLog()); @@ -7318,8 +7280,6 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { EXPECT_EQ(ERR_NAME_NOT_RESOLVED, rv); } -} // namespace - // There are multiple load flags that should trigger the host cache bypass. // Test each in isolation: TEST_F(HttpNetworkTransactionSpdy2Test, BypassHostCacheOnRefresh1) { @@ -7336,8 +7296,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, BypassHostCacheOnRefresh3) { // Make sure we can handle an error when writing the request. TEST_F(HttpNetworkTransactionSpdy2Test, RequestWriteError) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7349,13 +7308,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RequestWriteError) { }; StaticSocketDataProvider data(NULL, 0, write_failure, arraysize(write_failure)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7366,8 +7325,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, RequestWriteError) { // Check that a connection closed after the start of the headers finishes ok. TEST_F(HttpNetworkTransactionSpdy2Test, ConnectionClosedAfterStartOfHeaders) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7380,13 +7338,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ConnectionClosedAfterStartOfHeaders) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7409,8 +7367,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ConnectionClosedAfterStartOfHeaders) { // Make sure that a dropped connection while draining the body for auth // restart does the right thing. TEST_F(HttpNetworkTransactionSpdy2Test, DrainResetOK) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7434,7 +7391,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DrainResetOK) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // After calling trans->RestartWithAuth(), this is the request we should // be issuing -- the final header line contains the credentials. @@ -7455,7 +7412,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DrainResetOK) { StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -7489,7 +7446,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DrainResetOK) { // Test HTTPS connections going through a proxy that sends extra data. TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSViaProxyWithExtraData) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); HttpRequestInfo request; request.method = "GET"; @@ -7504,16 +7461,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HTTPSViaProxyWithExtraData) { StaticSocketDataProvider data(proxy_reads, arraysize(proxy_reads), NULL, 0); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; - session_deps.socket_factory->ResetNextMockIndexes(); + session_deps_.socket_factory->ResetNextMockIndexes(); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7528,10 +7485,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, LargeContentLengthThenClose) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\nContent-Length:6719476739\r\n\r\n"), @@ -7539,7 +7495,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, LargeContentLengthThenClose) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7578,10 +7534,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UploadFileSmallerThanLength) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\n\r\n"), @@ -7589,7 +7544,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UploadFileSmallerThanLength) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7635,10 +7590,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UploadUnreadableFile) { // If we try to upload an unreadable file, the network stack should report // the file size as zero and upload zero bytes for that file. - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\n\r\n"), @@ -7653,7 +7607,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UploadUnreadableFile) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7691,10 +7645,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UnreadableUploadFileAfterAuthRestart) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.1 401 Unauthorized\r\n"), @@ -7723,7 +7676,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UnreadableUploadFileAfterAuthRestart) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback1; @@ -7762,7 +7715,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UnreadableUploadFileAfterAuthRestart) { // Tests that changes to Auth realms are treated like auth rejections. TEST_F(HttpNetworkTransactionSpdy2Test, ChangeAuthRealms) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -7838,16 +7790,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ChangeAuthRealms) { data_writes3, arraysize(data_writes3)); StaticSocketDataProvider data4(data_reads4, arraysize(data_reads4), data_writes4, arraysize(data_writes4)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data4); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Issue the first request with Authorize headers. There should be a // password prompt for first_realm waiting to be filled in after the @@ -7918,8 +7870,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HonorAlternateProtocolHeader) { HttpStreamFactory::SetNextProtos(SpdyNextProtos()); HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; - MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n"), MockRead(kAlternateProtocolHttpHeader), @@ -7934,11 +7884,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HonorAlternateProtocolHeader) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -7978,7 +7928,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, HonorAlternateProtocolHeader) { TEST_F(HttpNetworkTransactionSpdy2Test, MarkBrokenAlternateProtocolAndFallback) { HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -7988,7 +7937,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -7997,9 +7946,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8042,7 +7991,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8052,7 +8000,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8061,9 +8009,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8093,8 +8041,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // enable_user_alternate_protocol_ports. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; - session_deps.enable_user_alternate_protocol_ports = true; + session_deps_.enable_user_alternate_protocol_ports = true; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8104,7 +8051,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8113,9 +8060,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8143,7 +8090,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8153,7 +8099,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8162,9 +8108,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8193,7 +8139,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo unrestricted_port_request; unrestricted_port_request.method = "GET"; @@ -8203,7 +8148,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8212,9 +8157,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8242,7 +8187,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo unrestricted_port_request; unrestricted_port_request.method = "GET"; @@ -8252,7 +8196,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8261,9 +8205,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8290,7 +8234,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // protocol to an unsafe port, and that we resume the second // HttpStreamFactoryImpl::Job once the alternate protocol request fails. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8306,9 +8249,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, }; StaticSocketDataProvider data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8343,7 +8286,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, TEST_F(HttpNetworkTransactionSpdy2Test, UseAlternateProtocolForNpnSpdy) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8360,11 +8302,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseAlternateProtocolForNpnSpdy) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -8381,19 +8323,19 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseAlternateProtocolForNpnSpdy) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_non_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8430,7 +8372,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseAlternateProtocolForNpnSpdy) { TEST_F(HttpNetworkTransactionSpdy2Test, AlternateProtocolWithSpdyLateBinding) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8448,7 +8389,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AlternateProtocolWithSpdyLateBinding) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); // Socket 1 is the HTTP transaction with the Alternate-Protocol header. - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_socket( @@ -8456,12 +8397,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AlternateProtocolWithSpdyLateBinding) { hanging_socket.set_connect_data(never_finishing_connect); // Socket 2 and 3 are the hanging Alternate-Protocol and // non-Alternate-Protocol jobs from the 2nd transaction. - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req1(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); scoped_ptr<SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); @@ -8486,12 +8427,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AlternateProtocolWithSpdyLateBinding) { spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); // Socket 4 is the successful Alternate-Protocol for transaction 3. - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Socket 5 is the unsuccessful non-Alternate-Protocol for transaction 3. - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); TestCompletionCallback callback1; HttpNetworkTransaction trans1(DEFAULT_PRIORITY, session); @@ -8543,7 +8484,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, AlternateProtocolWithSpdyLateBinding) { TEST_F(HttpNetworkTransactionSpdy2Test, StallAlternateProtocolForNpnSpdy) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8560,26 +8500,26 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StallAlternateProtocolForNpnSpdy) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_alternate_protocol_socket); // 2nd request is just a copy of the first one, over HTTP again. - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8667,11 +8607,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, CapturingProxyResolver* capturing_proxy_resolver = new CapturingProxyResolver(); - SpdySessionDependencies session_deps(new ProxyService( + session_deps_.proxy_service.reset(new ProxyService( new ProxyConfigServiceFixed(proxy_config), capturing_proxy_resolver, NULL)); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -8688,11 +8628,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { @@ -8716,19 +8656,19 @@ TEST_F(HttpNetworkTransactionSpdy2Test, OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_non_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8778,7 +8718,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseAlternateProtocolForNpnSpdyWithExistingSpdySession) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8794,11 +8733,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -8815,11 +8754,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8861,12 +8800,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, session->ssl_config_service()->GetSSLConfig(&ssl_config); scoped_ptr<ClientSocketHandle> ssl_connection(new ClientSocketHandle); SSLClientSocketContext context; - context.cert_verifier = session_deps.cert_verifier.get(); - ssl_connection->set_socket(session_deps.socket_factory->CreateSSLClientSocket( - connection.release(), - HostPortPair(std::string(), 443), - ssl_config, - context)); + context.cert_verifier = session_deps_.cert_verifier.get(); + ssl_connection->set_socket( + session_deps_.socket_factory->CreateSSLClientSocket( + connection.release(), + HostPortPair(std::string(), 443), + ssl_config, + context)); EXPECT_EQ(ERR_IO_PENDING, ssl_connection->socket()->Connect(callback.callback())); EXPECT_EQ(OK, callback.WaitForResult()); @@ -9194,11 +9134,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GenerateAuthToken) { TestRound(kGetAuth, kFailure, kAuthErr)}}, }; - SpdySessionDependencies session_deps; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_configs); ++i) { HttpAuthHandlerMock::Factory* auth_factory( new HttpAuthHandlerMock::Factory()); - session_deps.http_auth_handler_factory.reset(auth_factory); + session_deps_.http_auth_handler_factory.reset(auth_factory); const TestConfig& test_config = test_configs[i]; // Set up authentication handlers as necessary. @@ -9231,10 +9170,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GenerateAuthToken) { auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); } if (test_config.proxy_url) { - session_deps.proxy_service.reset( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(test_config.proxy_url)); } else { - session_deps.proxy_service.reset(ProxyService::CreateDirect()); + session_deps_.proxy_service.reset(ProxyService::CreateDirect()); } HttpRequestInfo request; @@ -9242,9 +9181,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GenerateAuthToken) { request.url = GURL(test_config.server_url); request.load_flags = 0; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpNetworkTransaction trans( - DEFAULT_PRIORITY, CreateSession(&session_deps)); + DEFAULT_PRIORITY, CreateSession(&session_deps_)); for (int round = 0; round < test_config.num_auth_rounds; ++round) { const TestRound& read_write_round = test_config.rounds[round]; @@ -9267,12 +9206,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GenerateAuthToken) { } StaticSocketDataProvider data_provider( reads, length_reads, writes, length_writes); - session_deps.socket_factory->AddSocketDataProvider(&data_provider); + session_deps_.socket_factory->AddSocketDataProvider(&data_provider); // Add an SSL sequence if necessary. SSLSocketDataProvider ssl_socket_data_provider(SYNCHRONOUS, OK); if (round >= test_config.first_ssl_round) - session_deps.socket_factory->AddSSLSocketDataProvider( + session_deps_.socket_factory->AddSSLSocketDataProvider( &ssl_socket_data_provider); // Start or restart the transaction. @@ -9308,13 +9247,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, GenerateAuthToken) { TEST_F(HttpNetworkTransactionSpdy2Test, MultiRoundAuth) { // Do multi-round authentication and make sure it works correctly. - SpdySessionDependencies session_deps; HttpAuthHandlerMock::Factory* auth_factory( new HttpAuthHandlerMock::Factory()); - session_deps.http_auth_handler_factory.reset(auth_factory); - session_deps.proxy_service.reset(ProxyService::CreateDirect()); - session_deps.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); - session_deps.host_resolver->set_synchronous_mode(true); + session_deps_.http_auth_handler_factory.reset(auth_factory); + session_deps_.proxy_service.reset(ProxyService::CreateDirect()); + session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); + session_deps_.host_resolver->set_synchronous_mode(true); HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); auth_handler->set_connection_based(true); @@ -9333,7 +9271,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MultiRoundAuth) { request.url = origin; request.load_flags = 0; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Use a TCP Socket Pool with only one connection per group. This is used // to validate that the TCP socket is not released to the pool between @@ -9344,9 +9282,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MultiRoundAuth) { 50, // Max sockets for pool 1, // Max sockets per group &transport_pool_histograms, - session_deps.host_resolver.get(), - session_deps.socket_factory.get(), - session_deps.net_log); + session_deps_.host_resolver.get(), + session_deps_.socket_factory.get(), + session_deps_.net_log); MockClientSocketPoolManager* mock_pool_manager = new MockClientSocketPoolManager; mock_pool_manager->SetTransportSocketPool(transport_pool); @@ -9404,7 +9342,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MultiRoundAuth) { }; StaticSocketDataProvider data_provider(reads, arraysize(reads), writes, arraysize(writes)); - session_deps.socket_factory->AddSocketDataProvider(&data_provider); + session_deps_.socket_factory->AddSocketDataProvider(&data_provider); const char* const kSocketGroup = "www.example.com:80"; @@ -9499,7 +9437,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NpnWithHttpOverSSL) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos( MakeNextProtos("http/1.1", "http1.1", NULL)); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -9523,15 +9460,15 @@ TEST_F(HttpNetworkTransactionSpdy2Test, NpnWithHttpOverSSL) { ssl.next_proto = "http/1.1"; ssl.protocol_negotiated = kProtoHTTP11; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -9559,7 +9496,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SpdyPostNPNServerHangup) { // Fix crash: http://crbug.com/46369 HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -9568,7 +9504,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SpdyPostNPNServerHangup) { SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -9581,11 +9517,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SpdyPostNPNServerHangup) { 0, // don't wait in this case, immediate hangup. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -9602,16 +9538,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SpdyAlternateProtocolThroughProxy) { MakeNextProtos( "http/1.1", "http1.1", "spdy/2", "spdy", NULL)); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpAuthHandlerMock::Factory* auth_factory = new HttpAuthHandlerMock::Factory(); HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock(); auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); auth_factory->set_do_init_from_challenge(true); - session_deps.http_auth_handler_factory.reset(auth_factory); + session_deps_.http_auth_handler_factory.reset(auth_factory); HttpRequestInfo request; request.method = "GET"; @@ -9706,12 +9642,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SpdyAlternateProtocolThroughProxy) { hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider(&data_1); - session_deps.socket_factory->AddSocketDataProvider(&data_2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider(&data_1); + session_deps_.socket_factory->AddSocketDataProvider(&data_2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // First round should work and provide the Alternate-Protocol state. TestCompletionCallback callback_1; @@ -9771,15 +9707,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SimpleCancel) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - session_deps.host_resolver->set_synchronous_mode(true); + session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -9793,11 +9728,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, SimpleCancel) { // Test a basic GET request through a proxy. TEST_F(HttpNetworkTransactionSpdy2Test, ProxyGet) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9818,7 +9753,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -9848,11 +9783,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyGet) { // Test a basic HTTPS GET request through a proxy. TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGet) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9880,9 +9815,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -9922,10 +9857,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGet) { // Test a basic HTTPS GET request through a proxy, but the server hangs up // while establishing the tunnel. TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGetHangup) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9950,9 +9885,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGetHangup) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -9977,7 +9912,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ProxyTunnelGetHangup) { // Test for crbug.com/55424. TEST_F(HttpNetworkTransactionSpdy2Test, PreconnectWithExistingSpdySession) { - SpdySessionDependencies session_deps; scoped_ptr<SpdyFrame> req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -9995,13 +9929,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, PreconnectWithExistingSpdySession) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Set up an initial SpdySession in the pool to reuse. HostPortPair host_port_pair("www.google.com", 443); @@ -10043,24 +9977,23 @@ TEST_F(HttpNetworkTransactionSpdy2Test, PreconnectWithExistingSpdySession) { // Given a net error, cause that error to be returned from the first Write() // call and verify that the HttpTransaction fails with that error. -static void CheckErrorIsPassedBack(int error, IoMode mode) { +void HttpNetworkTransactionSpdy2Test::CheckErrorIsPassedBack( + int error, IoMode mode) { net::HttpRequestInfo request_info; request_info.url = GURL("https://www.example.com/"); request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; - SSLSocketDataProvider ssl_data(mode, OK); net::MockWrite data_writes[] = { net::MockWrite(mode, error), }; net::StaticSocketDataProvider data(NULL, 0, data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10097,8 +10030,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; - scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "www.example.com:443"; @@ -10107,9 +10038,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // be aborted to allow the caller to provide a certificate. SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // [ssl_]data2 contains the data for the second SSL handshake. When TLS // False Start is not being used, the result of the SSL handshake will be @@ -10119,9 +10050,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // certificate and none was supplied. SSLSocketDataProvider ssl_data2(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::StaticSocketDataProvider data2(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // [ssl_]data3 contains the data for the third SSL handshake. When a // connection to a server fails during an SSL handshake, @@ -10132,9 +10063,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // fail. SSLSocketDataProvider ssl_data3(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); // [ssl_]data4 contains the data for the fourth SSL handshake. When a // connection to a server fails during an SSL handshake, @@ -10145,11 +10076,11 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // fail. SSLSocketDataProvider ssl_data4(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data4.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data4); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data4); net::StaticSocketDataProvider data4(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data4); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10202,8 +10133,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; - scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "www.example.com:443"; @@ -10224,9 +10153,9 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // [ssl_]data1 represents the initial SSL handshake with the peer. SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // When a client certificate is supplied, Connect() will not be aborted // when the peer requests the certificate. Instead, the handshake will @@ -10237,34 +10166,34 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // certificate. SSLSocketDataProvider ssl_data2(ASYNC, net::OK); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::MockRead data2_reads[] = { net::MockRead(ASYNC /* async */, net::ERR_SSL_PROTOCOL_ERROR), }; net::StaticSocketDataProvider data2( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // As described in ClientAuthCertCache_Direct_NoFalseStart, [ssl_]data3 is // the data for the SSL handshake once the TLSv1.1 connection falls back to // TLSv1. It has the same behaviour as [ssl_]data2. SSLSocketDataProvider ssl_data3(ASYNC, net::OK); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); // [ssl_]data4 is the data for the SSL handshake once the TLSv1 connection // falls back to SSLv3. It has the same behaviour as [ssl_]data2. SSLSocketDataProvider ssl_data4(ASYNC, net::OK); ssl_data4.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data4); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data4); net::StaticSocketDataProvider data4( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data4); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10292,7 +10221,6 @@ TEST_F(HttpNetworkTransactionSpdy2Test, &client_cert)); ASSERT_EQ(NULL, client_cert.get()); - // Restart the handshake. This will consume ssl_data2, which fails, and // then consume ssl_data3 and ssl_data4, both of which should also fail. // The result code is checked against what ssl_data4 should return. @@ -10314,10 +10242,10 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // The test is repeated twice, first for connecting to an HTTPS endpoint, // then for connecting to an HTTP endpoint. TEST_F(HttpNetworkTransactionSpdy2Test, ClientAuthCertCache_Proxy_Fail) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "proxy:70"; @@ -10328,23 +10256,23 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ClientAuthCertCache_Proxy_Fail) { // (proxy:70). SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl_data2(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::StaticSocketDataProvider data2(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // TODO(wtc): find out why this unit test doesn't need [ssl_]data3. #if 0 SSLSocketDataProvider ssl_data3(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); #endif net::HttpRequestInfo requests[2]; @@ -10357,8 +10285,8 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ClientAuthCertCache_Proxy_Fail) { requests[1].load_flags = net::LOAD_NORMAL; for (size_t i = 0; i < arraysize(requests); ++i) { - session_deps.socket_factory->ResetNextMockIndexes(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.socket_factory->ResetNextMockIndexes(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10417,15 +10345,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MAYBE_UseIPConnectionPooling) { HttpStreamFactory::SetNextProtos(SpdyNextProtos()); // Set up a special HttpNetworkSession with a MockCachingHostResolver. - SpdySessionDependencies session_deps; - session_deps.host_resolver.reset(new MockCachingHostResolver()); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10455,7 +10382,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MAYBE_UseIPConnectionPooling) { connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10481,7 +10408,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, MAYBE_UseIPConnectionPooling) { HostPortPair host_port("www.gmail.com", 443); HostResolver::RequestInfo resolve_info(host_port); AddressList ignored; - rv = session_deps.host_resolver->Resolve(resolve_info, &ignored, + rv = session_deps_.host_resolver->Resolve(resolve_info, &ignored, callback.callback(), NULL, BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -10514,15 +10441,14 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseIPConnectionPoolingAfterResolution) { HttpStreamFactory::SetNextProtos(SpdyNextProtos()); // Set up a special HttpNetworkSession with a MockCachingHostResolver. - SpdySessionDependencies session_deps; - session_deps.host_resolver.reset(new MockCachingHostResolver()); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10552,7 +10478,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseIPConnectionPoolingAfterResolution) { connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10636,9 +10562,11 @@ class OneTimeCachingHostResolver : public net::HostResolver { // Times out on Win7 dbg(2) bot. http://crbug.com/124776 #if defined(OS_WIN) -#define MAYBE_UseIPConnectionPoolingWithHostCacheExpiration DISABLED_UseIPConnectionPoolingWithHostCacheExpiration +#define MAYBE_UseIPConnectionPoolingWithHostCacheExpiration \ + DISABLED_UseIPConnectionPoolingWithHostCacheExpiration #else -#define MAYBE_UseIPConnectionPoolingWithHostCacheExpiration UseIPConnectionPoolingWithHostCacheExpiration +#define MAYBE_UseIPConnectionPoolingWithHostCacheExpiration \ + UseIPConnectionPoolingWithHostCacheExpiration #endif TEST_F(HttpNetworkTransactionSpdy2Test, MAYBE_UseIPConnectionPoolingWithHostCacheExpiration) { @@ -10647,17 +10575,16 @@ TEST_F(HttpNetworkTransactionSpdy2Test, // Set up a special HttpNetworkSession with a OneTimeCachingHostResolver. OneTimeCachingHostResolver host_resolver(HostPortPair("www.gmail.com", 443)); - SpdySessionDependencies session_deps; HttpNetworkSession::Params params = - SpdySessionDependencies::CreateSessionParams(&session_deps); + SpdySessionDependencies::CreateSessionParams(&session_deps_); params.host_resolver = &host_resolver; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10687,7 +10614,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10830,14 +10757,13 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotUseSpdySessionForHttp) { 1, reads2, arraysize(reads2), writes2, arraysize(writes2)); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -10919,20 +10845,20 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotUseSpdySessionForHttpOverTunnel) { MockConnect connect_data1(ASYNC, OK); data1.set_connect_data(connect_data1); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog log; - session_deps.net_log = &log; + session_deps_.net_log = &log; SSLSocketDataProvider ssl1(ASYNC, OK); // to the proxy ssl1.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); SSLSocketDataProvider ssl2(ASYNC, OK); // to the server ssl2.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&data1); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data1); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -11010,13 +10936,12 @@ TEST_F(HttpNetworkTransactionSpdy2Test, UseSpdySessionForHttpWhenForced) { OrderedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -11119,7 +11044,7 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotUseSpdySessionIfCertDoesNotMatch) { proxy_config.proxy_rules().ParseFromString("http=https://proxy:443"); CapturingProxyResolver* capturing_proxy_resolver = new CapturingProxyResolver(); - SpdySessionDependencies session_deps(new ProxyService( + session_deps_.proxy_service.reset(new ProxyService( new ProxyConfigServiceFixed(proxy_config), capturing_proxy_resolver, NULL)); @@ -11135,20 +11060,22 @@ TEST_F(HttpNetworkTransactionSpdy2Test, DoNotUseSpdySessionIfCertDoesNotMatch) { SSLSocketDataProvider ssl1(ASYNC, OK); // to the proxy ssl1.SetNextProto(kProtoSPDY2); ssl1.cert = server_cert; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data1.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data1.get()); SSLSocketDataProvider ssl2(ASYNC, OK); // to the server ssl2.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data2.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data2.get()); - session_deps.host_resolver.reset(new MockCachingHostResolver()); - session_deps.host_resolver->rules()->AddRule("mail.google.com", ip_addr); - session_deps.host_resolver->rules()->AddRule("proxy", ip_addr); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + session_deps_.host_resolver->rules()->AddRule("mail.google.com", ip_addr); + session_deps_.host_resolver->rules()->AddRule("proxy", ip_addr); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -11215,19 +11142,20 @@ TEST_F(HttpNetworkTransactionSpdy2Test, ErrorSocketNotConnected) { new DeterministicSocketData(reads2, arraysize(reads2), writes2, arraysize(writes2))); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl1(ASYNC, OK); ssl1.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data1.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data1.get()); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY2); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data2.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data2.get()); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession and verify that // connection was closed. diff --git a/net/http/http_network_transaction_spdy3_unittest.cc b/net/http/http_network_transaction_spdy3_unittest.cc index 01b85aa..88e43eb 100644 --- a/net/http/http_network_transaction_spdy3_unittest.cc +++ b/net/http/http_network_transaction_spdy3_unittest.cc @@ -49,6 +49,7 @@ #include "net/proxy/proxy_service.h" #include "net/socket/client_socket_factory.h" #include "net/socket/mock_client_socket_pool_manager.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket/ssl_client_socket.h" #include "net/spdy/spdy_framer.h" @@ -236,6 +237,8 @@ void TestLoadTimingNotReusedWithPac(const net::LoadTimingInfo& load_timing_info, class HttpNetworkTransactionSpdy3Test : public PlatformTest { protected: + HttpNetworkTransactionSpdy3Test() : session_deps_(kProtoSPDY3) {} + struct SimpleGetHelperResult { int rv; std::string status_line; @@ -276,15 +279,14 @@ class HttpNetworkTransactionSpdy3Test : public PlatformTest { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); for (size_t i = 0; i < data_count; ++i) { - session_deps.socket_factory->AddSocketDataProvider(data[i]); + session_deps_.socket_factory->AddSocketDataProvider(data[i]); } TestCompletionCallback callback; @@ -350,6 +352,12 @@ class HttpNetworkTransactionSpdy3Test : public PlatformTest { int expected_status); void ConnectStatusHelper(const MockRead& status); + + void BypassHostCacheOnRefreshHelper(int load_flags); + + void CheckErrorIsPassedBack(int error, IoMode mode); + + SpdySessionDependencies session_deps_; }; namespace { @@ -532,10 +540,9 @@ bool CheckNTLMServerAuth(const AuthChallengeInfo* auth_challenge) { } // namespace TEST_F(HttpNetworkTransactionSpdy3Test, Basic) { - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); } TEST_F(HttpNetworkTransactionSpdy3Test, SimpleGET) { @@ -828,13 +835,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, TwoIdenticalLocationHeaders) { request.url = GURL("http://redirect.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -873,10 +879,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Head) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("HEAD / HTTP/1.1\r\n" @@ -895,7 +900,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Head) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -929,8 +934,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Head) { } TEST_F(HttpNetworkTransactionSpdy3Test, ReuseConnection) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), @@ -940,7 +944,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ReuseConnection) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); const char* const kExpectedResponseData[] = { "hello", "world" @@ -987,10 +991,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Ignores100) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction( - DEFAULT_PRIORITY, CreateSession(&session_deps))); + DEFAULT_PRIORITY, CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 100 Continue\r\n\r\n"), @@ -999,7 +1002,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Ignores100) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1030,10 +1033,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Ignores1xx) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction( - DEFAULT_PRIORITY, CreateSession(&session_deps))); + DEFAULT_PRIORITY, CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.1 102 Unspecified status code\r\n\r\n" @@ -1042,7 +1044,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Ignores1xx) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1070,17 +1072,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, Incomplete100ThenEOF) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(SYNCHRONOUS, "HTTP/1.0 100 Continue\r\n"), MockRead(ASYNC, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1102,16 +1103,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, EmptyResponse) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(ASYNC, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1130,10 +1130,9 @@ void HttpNetworkTransactionSpdy3Test::KeepAliveConnectionResendRequestTest( request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog net_log; - session_deps.net_log = &net_log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &net_log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Written data for successfully sending both requests. MockWrite data1_writes[] = { @@ -1162,7 +1161,7 @@ void HttpNetworkTransactionSpdy3Test::KeepAliveConnectionResendRequestTest( StaticSocketDataProvider data1(data1_reads, arraysize(data1_reads), data1_writes, arraysize(data1_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); MockRead data2_reads[] = { MockRead("HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\n"), @@ -1170,7 +1169,7 @@ void HttpNetworkTransactionSpdy3Test::KeepAliveConnectionResendRequestTest( MockRead(ASYNC, OK), }; StaticSocketDataProvider data2(data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const char* kExpectedResponseData[] = { "hello", "world" @@ -1234,10 +1233,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NonKeepAliveConnectionReset) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead(ASYNC, ERR_CONNECTION_RESET), @@ -1246,7 +1244,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NonKeepAliveConnectionReset) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1291,8 +1289,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveEarlyClose) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -1304,7 +1301,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveEarlyClose) { MockRead(SYNCHRONOUS, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1333,8 +1330,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveEarlyClose2) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -1345,7 +1341,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveEarlyClose2) { MockRead(SYNCHRONOUS, 0), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -1374,10 +1370,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveAfterUnreadBody) { request.url = GURL("http://www.foo.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog net_log; - session_deps.net_log = &net_log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &net_log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Note that because all these reads happen in the same // StaticSocketDataProvider, it shows that the same socket is being reused for @@ -1400,13 +1395,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, KeepAliveAfterUnreadBody) { MockRead("hello"), }; StaticSocketDataProvider data1(data1_reads, arraysize(data1_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); MockRead data2_reads[] = { MockRead(SYNCHRONOUS, ERR_UNEXPECTED), // Should not be reached. }; StaticSocketDataProvider data2(data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const int kNumUnreadBodies = arraysize(data1_reads) - 2; std::string response_lines[kNumUnreadBodies]; @@ -1484,12 +1479,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuth) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog log; - session_deps.net_log = &log; + session_deps_.net_log = &log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1531,8 +1525,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1580,10 +1574,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotSendAuth) { request.url = GURL("http://www.google.com/"); request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1602,7 +1595,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotSendAuth) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; int rv = trans->Start(&request, callback.callback(), BoundNetLog()); @@ -1624,10 +1617,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAlive) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; CapturingNetLog log; - session_deps.net_log = &log; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = &log; + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1666,8 +1658,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAlive) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1719,8 +1711,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveNoBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1756,8 +1747,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveNoBody) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1796,8 +1787,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveLargeBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1841,8 +1831,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveLargeBody) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1881,8 +1871,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveImpatientServer) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -1928,8 +1917,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthKeepAliveImpatientServer) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -1970,11 +1959,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyNoKeepAlive) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2012,9 +2001,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyNoKeepAlive) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2087,10 +2076,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyKeepAlive) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2128,7 +2117,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyKeepAlive) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -2189,9 +2178,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyCancelTunnel) { request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2213,7 +2202,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyCancelTunnel) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -2248,10 +2237,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UnexpectedProxyAuth) { request.load_flags = 0; // We are using a DIRECT connection (i.e. no proxy) for this session. - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -2269,7 +2257,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UnexpectedProxyAuth) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback; @@ -2293,10 +2281,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, request.method = "GET"; request.url = GURL("https://www.google.com/"); - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2320,9 +2308,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2356,11 +2344,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpProxyLoadTimingNoPacTwoRequests) { request2.url = GURL("https://www.google.com/2"); // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2393,9 +2381,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpProxyLoadTimingNoPacTwoRequests) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans1( @@ -2454,11 +2442,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpProxyLoadTimingWithPacTwoRequests) { request2.url = GURL("https://www.google.com/2"); // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes1[] = { @@ -2491,9 +2479,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpProxyLoadTimingWithPacTwoRequests) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans1( @@ -2549,11 +2537,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxyGet) { request.url = GURL("http://www.google.com/"); // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should use full url MockWrite data_writes1[] = { @@ -2571,9 +2559,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxyGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2611,11 +2599,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyGet) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // fetch http://www.google.com/ via SPDY scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, @@ -2634,11 +2622,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyGet) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2674,11 +2662,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyGetWithProxyAuth) { request.load_flags = 0; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // The first request will be a bare GET, the second request will be a // GET with a Proxy-Authorization header. @@ -2724,11 +2712,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyGetWithProxyAuth) { OrderedSocketData data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -2775,11 +2763,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectHttps) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2820,15 +2808,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectHttps) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2860,11 +2848,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectSpdy) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2903,15 +2891,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectSpdy) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY3); ssl2.protocol_negotiated = kProtoSPDY3; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2943,11 +2931,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectFailure) { request.load_flags = 0; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -2971,14 +2959,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectFailure) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback1; @@ -2996,12 +2984,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectFailure) { TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectHttpsLoadTimingTwoRequestsTwoServers) { // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3083,19 +3071,19 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); SSLSocketDataProvider ssl3(ASYNC, OK); ssl3.was_npn_negotiated = false; ssl3.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl3); TestCompletionCallback callback; @@ -3150,12 +3138,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxySpdyConnectHttpsLoadTimingTwoRequestsSameServer) { // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3216,15 +3204,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.was_npn_negotiated = false; ssl2.protocol_negotiated = kProtoUnknown; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); TestCompletionCallback callback; @@ -3282,12 +3270,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, const char* const url2 = "http://news.google.com/"; // Configure against https proxy server "proxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); HttpRequestInfo request1; request1.method = "GET"; @@ -3324,11 +3312,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DeterministicSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -3389,11 +3377,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxyAuthRetry) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should use full url MockWrite data_writes1[] = { @@ -3426,9 +3414,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HttpsProxyAuthRetry) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -3487,9 +3475,9 @@ void HttpNetworkTransactionSpdy3Test::ConnectStatusHelperWithExpectedStatus( request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. MockWrite data_writes[] = { @@ -3507,7 +3495,7 @@ void HttpNetworkTransactionSpdy3Test::ConnectStatusHelperWithExpectedStatus( StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -3700,11 +3688,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyThenServer) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); // Configure against proxy server "myproxy:70". scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET http://www.google.com/ HTTP/1.1\r\n" @@ -3771,9 +3759,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthProxyThenServer) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -3831,8 +3819,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NTLMAuth1) { HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom1, MockGetHostName); - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET /kids/login.aspx HTTP/1.1\r\n" @@ -3903,8 +3890,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NTLMAuth1) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -3961,8 +3948,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NTLMAuth2) { HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom2, MockGetHostName); - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); MockWrite data_writes1[] = { MockWrite("GET /kids/login.aspx HTTP/1.1\r\n" @@ -4083,9 +4069,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NTLMAuth2) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -4162,10 +4148,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, LargeHeadersNoBody) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Respond with 300 kb of headers (we should fail after 256 kb). std::string large_headers_string; @@ -4178,7 +4163,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, LargeHeadersNoBody) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4203,9 +4188,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, request.load_flags = 0; // Configure against proxy server "myproxy:70". - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4228,7 +4213,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -4261,8 +4246,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSocket) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4278,7 +4262,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSocket) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4313,7 +4297,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSocket) { // Make sure that we recycle a SSL socket after reading all of the response // body. TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSSLSocket) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -4333,15 +4316,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSSLSocket) { }; SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4373,7 +4356,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSSLSocket) { // Grab a SSL socket, use it, and put it back into the pool. Then, reuse it // from the pool and make sure that we recover okay. TEST_F(HttpNetworkTransactionSpdy3Test, RecycleDeadSSLSocket) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -4398,19 +4380,19 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleDeadSSLSocket) { SSLSocketDataProvider ssl(ASYNC, OK); SSLSocketDataProvider ssl2(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl2); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); StaticSocketDataProvider data2(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4477,8 +4459,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSocketAfterZeroContentLength) { "rt=prt.2642,ol.2649,xjs.2951"); request.load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -4492,7 +4473,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RecycleSocketAfterZeroContentLength) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -4544,8 +4525,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ResendRequestOnWriteBodyError) { request[1].upload_data_stream = &upload_data_stream; request[1].load_flags = 0; - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // The first socket is used for transaction 1 and the first attempt of // transaction 2. @@ -4582,8 +4562,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ResendRequestOnWriteBodyError) { StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); const char* kExpectedResponseData[] = { "hello world", "welcome" @@ -4623,10 +4603,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AuthIdentityInURL) { request.url = GURL("http://foo:b@r@www.google.com/"); request.load_flags = LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // The password contains an escaped character -- for this test to pass it // will need to be unescaped by HttpNetworkTransaction. @@ -4664,8 +4643,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AuthIdentityInURL) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; int rv = trans->Start(&request, callback1.callback(), BoundNetLog()); @@ -4705,10 +4684,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, WrongAuthIdentityInURL) { request.load_flags = LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes1[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -4760,9 +4738,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, WrongAuthIdentityInURL) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -4806,8 +4784,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, WrongAuthIdentityInURL) { // Test that previously tried username/passwords for a realm get re-used. TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Transaction 1: authenticate (foo, bar) on MyRealm1 { @@ -4851,8 +4828,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -4931,8 +4908,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -4997,7 +4974,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -5059,8 +5036,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -5148,9 +5125,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { data_writes2, arraysize(data_writes2)); StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3), data_writes3, arraysize(data_writes3)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); TestCompletionCallback callback1; @@ -5191,14 +5168,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthCacheAndPreauth) { // Tests that nonce count increments when multiple auth attempts // are started with the same nonce. TEST_F(HttpNetworkTransactionSpdy3Test, DigestPreAuthNonceCount) { - SpdySessionDependencies session_deps; HttpAuthHandlerDigest::Factory* digest_factory = new HttpAuthHandlerDigest::Factory(); HttpAuthHandlerDigest::FixedNonceGenerator* nonce_generator = new HttpAuthHandlerDigest::FixedNonceGenerator("0123456789abcdef"); digest_factory->set_nonce_generator(nonce_generator); - session_deps.http_auth_handler_factory.reset(digest_factory); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.http_auth_handler_factory.reset(digest_factory); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Transaction 1: authenticate (foo, bar) on MyRealm1 { @@ -5244,8 +5220,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DigestPreAuthNonceCount) { data_writes1, arraysize(data_writes1)); StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -5308,7 +5284,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DigestPreAuthNonceCount) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -5327,10 +5303,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DigestPreAuthNonceCount) { // Test the ResetStateForRestart() private method. TEST_F(HttpNetworkTransactionSpdy3Test, ResetStateForRestart) { // Create a transaction (the dependencies aren't important). - SpdySessionDependencies session_deps; scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Setup some state (which we expect ResetStateForRestart() will clear). trans->read_buf_ = new IOBuffer(15); @@ -5375,10 +5350,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificate) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -5399,10 +5373,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificate) { SSLSocketDataProvider ssl_bad(ASYNC, ERR_CERT_AUTHORITY_INVALID); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -5427,7 +5401,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificate) { // Test HTTPS connections to a site with a bad certificate, going through a // proxy TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificateViaProxy) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); HttpRequestInfo request; request.method = "GET"; @@ -5470,19 +5444,19 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificateViaProxy) { SSLSocketDataProvider ssl_bad(ASYNC, ERR_CERT_AUTHORITY_INVALID); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; for (int i = 0; i < 2; i++) { - session_deps.socket_factory->ResetNextMockIndexes(); + session_deps_.socket_factory->ResetNextMockIndexes(); scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5506,10 +5480,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificateViaProxy) { // Test HTTPS connections to a site, going through an HTTPS proxy TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -5538,15 +5512,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSViaHttpsProxy) { SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy SSLSocketDataProvider tunnel_ssl(ASYNC, OK); // SSL through the tunnel - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); - session_deps.socket_factory->AddSSLSocketDataProvider(&tunnel_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&tunnel_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5570,10 +5544,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSViaHttpsProxy) { // Test an HTTPS Proxy's ability to redirect a CONNECT request TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -5597,14 +5571,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaHttpsProxy) { data_writes, arraysize(data_writes)); SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5646,7 +5620,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaHttpsProxy) { // Test an HTTPS (SPDY) Proxy's ability to redirect a CONNECT request TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaSpdyProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; @@ -5679,14 +5653,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaSpdyProxy) { SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy proxy_ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5706,7 +5680,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaSpdyProxy) { // Test that an HTTPS proxy's response to a CONNECT request is filtered. TEST_F(HttpNetworkTransactionSpdy3Test, ErrorResponseToHttpsConnectViaHttpsProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; @@ -5731,14 +5705,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, data_writes, arraysize(data_writes)); SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5752,7 +5726,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // Test that a SPDY proxy's response to a CONNECT request is filtered. TEST_F(HttpNetworkTransactionSpdy3Test, ErrorResponseToHttpsConnectViaSpdyProxy) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); HttpRequestInfo request; @@ -5789,14 +5763,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy proxy_ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy_ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -5817,11 +5791,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthSpdyProxy) { request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Since we have proxy, should try to establish tunnel. scoped_ptr<SpdyFrame> req(ConstructSpdyConnect(NULL, 0, 1)); @@ -5886,14 +5860,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BasicAuthSpdyProxy) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); // Vanilla SSL to the server SSLSocketDataProvider server(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&server); + session_deps_.socket_factory->AddSSLSocketDataProvider(&server); TestCompletionCallback callback1; @@ -5970,15 +5944,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CrossOriginProxyPush) { push_request.url = GURL("http://www.another-origin.com/foo.dat"); // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); // Enable cross-origin push. - session_deps.trusted_spdy_proxy = "myproxy:70"; + session_deps_.trusted_spdy_proxy = "myproxy:70"; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<SpdyFrame> stream1_syn(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, false)); @@ -6012,11 +5986,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CrossOriginProxyPush) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -6082,15 +6056,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CrossOriginProxyPushCorrectness) { request.url = GURL("http://www.google.com/"); // Configure against https proxy server "myproxy:70". - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); // Enable cross-origin push. - session_deps.trusted_spdy_proxy = "myproxy:70"; + session_deps_.trusted_spdy_proxy = "myproxy:70"; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<SpdyFrame> stream1_syn(ConstructSpdyGet(NULL, 0, false, 1, LOWEST, false)); @@ -6126,11 +6100,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CrossOriginProxyPushCorrectness) { OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Negotiate SPDY to the proxy SSLSocketDataProvider proxy(ASYNC, OK); proxy.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&proxy); + session_deps_.socket_factory->AddSSLSocketDataProvider(&proxy); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -6160,7 +6134,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CrossOriginProxyPushCorrectness) { // Test HTTPS connections to a site with a bad certificate, going through an // HTTPS proxy TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificateViaHttpsProxy) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed( + session_deps_.proxy_service.reset(ProxyService::CreateFixed( "https://proxy:70")); HttpRequestInfo request; @@ -6207,20 +6181,20 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSBadCertificateViaHttpsProxy) { SSLSocketDataProvider ssl(ASYNC, OK); // SSL to the proxy, then CONNECT request, then SSL with bad certificate - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_bad); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&ssl_bad_certificate); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_bad); // SSL to the proxy, then CONNECT request, then valid SSL certificate - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -6247,10 +6221,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_UserAgent) { request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chromium Ultra Awesome X Edition"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6269,7 +6242,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_UserAgent) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6287,10 +6260,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_UserAgentOverTunnel) { request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chromium Ultra Awesome X Edition"); - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" @@ -6308,7 +6281,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_UserAgentOverTunnel) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6327,10 +6300,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_Referer) { request.extra_headers.SetHeader(HttpRequestHeaders::kReferer, "http://the.previous.site.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6349,7 +6321,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_Referer) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6365,10 +6337,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_PostContentLengthZero) { request.method = "POST"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("POST / HTTP/1.1\r\n" @@ -6387,7 +6358,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_PostContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6403,10 +6374,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_PutContentLengthZero) { request.method = "PUT"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("PUT / HTTP/1.1\r\n" @@ -6425,7 +6395,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_PutContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6441,10 +6411,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_HeadContentLengthZero) { request.method = "HEAD"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("HEAD / HTTP/1.1\r\n" @@ -6463,7 +6432,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_HeadContentLengthZero) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6480,10 +6449,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_CacheControlNoCache) { request.url = GURL("http://www.google.com/"); request.load_flags = LOAD_BYPASS_CACHE; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6503,7 +6471,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_CacheControlNoCache) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6521,10 +6489,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, request.url = GURL("http://www.google.com/"); request.load_flags = LOAD_VALIDATE_CACHE; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6543,7 +6510,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6560,10 +6527,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_ExtraHeaders) { request.url = GURL("http://www.google.com/"); request.extra_headers.SetHeader("FooHeader", "Bar"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6582,7 +6548,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_ExtraHeaders) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6601,10 +6567,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_ExtraHeadersStripped) { request.extra_headers.SetHeader("hEllo", "Kitty"); request.extra_headers.SetHeader("FoO", "bar"); - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockWrite data_writes[] = { MockWrite("GET / HTTP/1.1\r\n" @@ -6625,7 +6590,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BuildRequest_ExtraHeadersStripped) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6642,14 +6607,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_HTTP_GET) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); char write_buffer[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 }; char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6671,7 +6636,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_HTTP_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6701,14 +6666,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_SSL_GET) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); unsigned char write_buffer[] = { 0x04, 0x01, 0x01, 0xBB, 127, 0, 0, 1, 0 }; unsigned char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6732,10 +6697,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_SSL_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -6765,14 +6730,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_HTTP_GET_no_PAC) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("socks4://myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); char write_buffer[] = { 0x04, 0x01, 0x00, 0x50, 127, 0, 0, 1, 0 }; char read_buffer[] = { 0x00, 0x5A, 0x00, 0x00, 0, 0, 0, 0 }; @@ -6794,7 +6759,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS4_HTTP_GET_no_PAC) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6824,14 +6789,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS5_HTTP_GET) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS5 myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); const char kSOCKS5GreetRequest[] = { 0x05, 0x01, 0x00 }; const char kSOCKS5GreetResponse[] = { 0x05, 0x00 }; @@ -6867,7 +6832,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS5_HTTP_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -6897,14 +6862,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS5_SSL_GET) { request.url = GURL("https://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("SOCKS5 myproxy:1080")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); const char kSOCKS5GreetRequest[] = { 0x05, 0x01, 0x00 }; const char kSOCKS5GreetResponse[] = { 0x05, 0x00 }; @@ -6942,10 +6907,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SOCKS5_SSL_GET) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; @@ -6981,8 +6946,8 @@ struct GroupNameTest { }; scoped_refptr<HttpNetworkSession> SetupSessionForGroupNameTests( - SpdySessionDependencies* session_deps) { - scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps)); + SpdySessionDependencies* session_deps_) { + scoped_refptr<HttpNetworkSession> session(CreateSession(session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -7051,10 +7016,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GroupNameForDirectConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); CaptureGroupNameTransportSocketPool* transport_conn_pool = @@ -7114,10 +7079,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GroupNameForHTTPProxyConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); @@ -7184,10 +7149,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GroupNameForSOCKSConnections) { HttpStreamFactory::set_use_alternate_protocols(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(tests[i].proxy_server)); scoped_refptr<HttpNetworkSession> session( - SetupSessionForGroupNameTests(&session_deps)); + SetupSessionForGroupNameTests(&session_deps_)); HttpNetworkSessionPeer peer(session); @@ -7222,16 +7187,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ReconsiderProxyAfterFailedConnection) { request.method = "GET"; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("myproxy:70;foobar:80")); // This simulates failure resolving all hostnames; that means we will fail // connecting to both proxies (myproxy:70 and foobar:80). - session_deps.host_resolver->rules()->AddSimulatedFailure("*"); + session_deps_.host_resolver->rules()->AddSimulatedFailure("*"); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); TestCompletionCallback callback; @@ -7242,29 +7207,27 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ReconsiderProxyAfterFailedConnection) { EXPECT_EQ(ERR_PROXY_CONNECTION_FAILED, rv); } -namespace { - // Base test to make sure that when the load flags for a request specify to // bypass the cache, the DNS cache is not used. -void BypassHostCacheOnRefreshHelper(int load_flags) { +void HttpNetworkTransactionSpdy3Test::BypassHostCacheOnRefreshHelper( + int load_flags) { // Issue a request, asking to bypass the cache(s). HttpRequestInfo request; request.method = "GET"; request.load_flags = load_flags; request.url = GURL("http://www.google.com/"); - SpdySessionDependencies session_deps; // Select a host resolver that does caching. - session_deps.host_resolver.reset(new MockCachingHostResolver); + session_deps_.host_resolver.reset(new MockCachingHostResolver); scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Warm up the host cache so it has an entry for "www.google.com". AddressList addrlist; TestCompletionCallback callback; - int rv = session_deps.host_resolver->Resolve( + int rv = session_deps_.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, callback.callback(), NULL, BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7273,7 +7236,7 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { // Verify that it was added to host cache, by doing a subsequent async lookup // and confirming it completes synchronously. - rv = session_deps.host_resolver->Resolve( + rv = session_deps_.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, callback.callback(), NULL, BoundNetLog()); ASSERT_EQ(OK, rv); @@ -7281,13 +7244,13 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { // Inject a failure the next time that "www.google.com" is resolved. This way // we can tell if the next lookup hit the cache, or the "network". // (cache --> success, "network" --> failure). - session_deps.host_resolver->rules()->AddSimulatedFailure("www.google.com"); + session_deps_.host_resolver->rules()->AddSimulatedFailure("www.google.com"); // Connect up a mock socket which will fail with ERR_UNEXPECTED during the // first read -- this won't be reached as the host resolution will fail first. MockRead data_reads[] = { MockRead(SYNCHRONOUS, ERR_UNEXPECTED) }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); // Run the request. rv = trans->Start(&request, callback.callback(), BoundNetLog()); @@ -7299,8 +7262,6 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { EXPECT_EQ(ERR_NAME_NOT_RESOLVED, rv); } -} // namespace - // There are multiple load flags that should trigger the host cache bypass. // Test each in isolation: TEST_F(HttpNetworkTransactionSpdy3Test, BypassHostCacheOnRefresh1) { @@ -7317,8 +7278,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, BypassHostCacheOnRefresh3) { // Make sure we can handle an error when writing the request. TEST_F(HttpNetworkTransactionSpdy3Test, RequestWriteError) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7330,13 +7290,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RequestWriteError) { }; StaticSocketDataProvider data(NULL, 0, write_failure, arraysize(write_failure)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7347,8 +7307,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, RequestWriteError) { // Check that a connection closed after the start of the headers finishes ok. TEST_F(HttpNetworkTransactionSpdy3Test, ConnectionClosedAfterStartOfHeaders) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7361,13 +7320,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ConnectionClosedAfterStartOfHeaders) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7390,8 +7349,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ConnectionClosedAfterStartOfHeaders) { // Make sure that a dropped connection while draining the body for auth // restart does the right thing. TEST_F(HttpNetworkTransactionSpdy3Test, DrainResetOK) { - SpdySessionDependencies session_deps; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -7415,7 +7373,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DrainResetOK) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // After calling trans->RestartWithAuth(), this is the request we should // be issuing -- the final header line contains the credentials. @@ -7436,7 +7394,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DrainResetOK) { StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), data_writes2, arraysize(data_writes2)); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); TestCompletionCallback callback1; @@ -7470,7 +7428,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DrainResetOK) { // Test HTTPS connections going through a proxy that sends extra data. TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSViaProxyWithExtraData) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); HttpRequestInfo request; request.method = "GET"; @@ -7485,16 +7443,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HTTPSViaProxyWithExtraData) { StaticSocketDataProvider data(proxy_reads, arraysize(proxy_reads), NULL, 0); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback; - session_deps.socket_factory->ResetNextMockIndexes(); + session_deps_.socket_factory->ResetNextMockIndexes(); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); int rv = trans->Start(&request, callback.callback(), BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -7509,10 +7467,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, LargeContentLengthThenClose) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\nContent-Length:6719476739\r\n\r\n"), @@ -7520,7 +7477,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, LargeContentLengthThenClose) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7559,10 +7516,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UploadFileSmallerThanLength) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\n\r\n"), @@ -7570,7 +7526,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UploadFileSmallerThanLength) { MockRead(SYNCHRONOUS, OK), }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7616,10 +7572,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UploadUnreadableFile) { // If we try to upload an unreadable file, the network stack should report // the file size as zero and upload zero bytes for that file. - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.0 200 OK\r\n\r\n"), @@ -7634,7 +7589,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UploadUnreadableFile) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -7672,10 +7627,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UnreadableUploadFileAfterAuthRestart) { request.upload_data_stream = &upload_data_stream; request.load_flags = 0; - SpdySessionDependencies session_deps; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); MockRead data_reads[] = { MockRead("HTTP/1.1 401 Unauthorized\r\n"), @@ -7704,7 +7658,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UnreadableUploadFileAfterAuthRestart) { }; StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback1; @@ -7743,7 +7697,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UnreadableUploadFileAfterAuthRestart) { // Tests that changes to Auth realms are treated like auth rejections. TEST_F(HttpNetworkTransactionSpdy3Test, ChangeAuthRealms) { - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -7819,16 +7772,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ChangeAuthRealms) { data_writes3, arraysize(data_writes3)); StaticSocketDataProvider data4(data_reads4, arraysize(data_reads4), data_writes4, arraysize(data_writes4)); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); - session_deps.socket_factory->AddSocketDataProvider(&data3); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data4); TestCompletionCallback callback1; scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); // Issue the first request with Authorize headers. There should be a // password prompt for first_realm waiting to be filled in after the @@ -7899,7 +7852,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HonorAlternateProtocolHeader) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n"), @@ -7915,11 +7867,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HonorAlternateProtocolHeader) { StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -7959,7 +7911,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, HonorAlternateProtocolHeader) { TEST_F(HttpNetworkTransactionSpdy3Test, MarkBrokenAlternateProtocolAndFallback) { HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -7969,7 +7920,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -7978,9 +7929,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8023,7 +7974,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8033,7 +7983,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8042,9 +7992,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8073,8 +8023,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // enable_user_alternate_protocol_ports. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; - session_deps.enable_user_alternate_protocol_ports = true; + session_deps_.enable_user_alternate_protocol_ports = true; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8084,7 +8033,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8093,9 +8042,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8122,7 +8071,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo restricted_port_request; restricted_port_request.method = "GET"; @@ -8132,7 +8080,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8141,9 +8089,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8171,7 +8119,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo unrestricted_port_request; unrestricted_port_request.method = "GET"; @@ -8181,7 +8128,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8190,9 +8137,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8220,7 +8167,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // on a restricted port (port < 1024). Ensure that we can redirect in all // other cases. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo unrestricted_port_request; unrestricted_port_request.method = "GET"; @@ -8230,7 +8176,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MockConnect mock_connect(ASYNC, ERR_CONNECTION_REFUSED); StaticSocketDataProvider first_data; first_data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&first_data); + session_deps_.socket_factory->AddSocketDataProvider(&first_data); MockRead data_reads[] = { MockRead("HTTP/1.1 200 OK\r\n\r\n"), @@ -8239,9 +8185,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, }; StaticSocketDataProvider second_data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&second_data); + session_deps_.socket_factory->AddSocketDataProvider(&second_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8267,7 +8213,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolUnsafeBlocked) { // protocol to an unsafe port, and that we resume the second // HttpStreamFactoryImpl::Job once the alternate protocol request fails. HttpStreamFactory::set_use_alternate_protocols(true); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8283,9 +8228,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolUnsafeBlocked) { }; StaticSocketDataProvider data( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpServerProperties* http_server_properties = session->http_server_properties(); @@ -8320,7 +8265,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolUnsafeBlocked) { TEST_F(HttpNetworkTransactionSpdy3Test, UseAlternateProtocolForNpnSpdy) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8337,11 +8281,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseAlternateProtocolForNpnSpdy) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -8358,19 +8302,19 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseAlternateProtocolForNpnSpdy) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_non_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8407,7 +8351,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseAlternateProtocolForNpnSpdy) { TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolWithSpdyLateBinding) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8425,7 +8368,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolWithSpdyLateBinding) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); // Socket 1 is the HTTP transaction with the Alternate-Protocol header. - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_socket( @@ -8433,12 +8376,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolWithSpdyLateBinding) { hanging_socket.set_connect_data(never_finishing_connect); // Socket 2 and 3 are the hanging Alternate-Protocol and // non-Alternate-Protocol jobs from the 2nd transaction. - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req1(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); scoped_ptr<SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); @@ -8463,12 +8406,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolWithSpdyLateBinding) { spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); // Socket 4 is the successful Alternate-Protocol for transaction 3. - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); // Socket 5 is the unsuccessful non-Alternate-Protocol for transaction 3. - session_deps.socket_factory->AddSocketDataProvider(&hanging_socket); + session_deps_.socket_factory->AddSocketDataProvider(&hanging_socket); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); TestCompletionCallback callback1; HttpNetworkTransaction trans1(DEFAULT_PRIORITY, session); @@ -8520,7 +8463,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, AlternateProtocolWithSpdyLateBinding) { TEST_F(HttpNetworkTransactionSpdy3Test, StallAlternateProtocolForNpnSpdy) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8537,26 +8479,26 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StallAlternateProtocolForNpnSpdy) { StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_alternate_protocol_socket); // 2nd request is just a copy of the first one, over HTTP again. - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8644,11 +8586,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, CapturingProxyResolver* capturing_proxy_resolver = new CapturingProxyResolver(); - SpdySessionDependencies session_deps(new ProxyService( + session_deps_.proxy_service.reset(new ProxyService( new ProxyConfigServiceFixed(proxy_config), capturing_proxy_resolver, NULL)); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpRequestInfo request; request.method = "GET"; @@ -8665,11 +8607,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { @@ -8693,19 +8635,19 @@ TEST_F(HttpNetworkTransactionSpdy3Test, OrderedSocketData spdy_data( spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); StaticSocketDataProvider hanging_non_alternate_protocol_socket( NULL, 0, NULL, 0); hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8755,7 +8697,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseAlternateProtocolForNpnSpdyWithExistingSpdySession) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -8771,11 +8712,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, StaticSocketDataProvider first_transaction( data_reads, arraysize(data_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&first_transaction); + session_deps_.socket_factory->AddSocketDataProvider(&first_transaction); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -8792,11 +8733,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -8838,12 +8779,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, session->ssl_config_service()->GetSSLConfig(&ssl_config); scoped_ptr<ClientSocketHandle> ssl_connection(new ClientSocketHandle); SSLClientSocketContext context; - context.cert_verifier = session_deps.cert_verifier.get(); - ssl_connection->set_socket(session_deps.socket_factory->CreateSSLClientSocket( - connection.release(), - HostPortPair(std::string(), 443), - ssl_config, - context)); + context.cert_verifier = session_deps_.cert_verifier.get(); + ssl_connection->set_socket( + session_deps_.socket_factory->CreateSSLClientSocket( + connection.release(), + HostPortPair(std::string(), 443), + ssl_config, + context)); EXPECT_EQ(ERR_IO_PENDING, ssl_connection->socket()->Connect(callback.callback())); EXPECT_EQ(OK, callback.WaitForResult()); @@ -9171,11 +9113,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GenerateAuthToken) { TestRound(kGetAuth, kFailure, kAuthErr)}}, }; - SpdySessionDependencies session_deps; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_configs); ++i) { HttpAuthHandlerMock::Factory* auth_factory( new HttpAuthHandlerMock::Factory()); - session_deps.http_auth_handler_factory.reset(auth_factory); + session_deps_.http_auth_handler_factory.reset(auth_factory); const TestConfig& test_config = test_configs[i]; // Set up authentication handlers as necessary. @@ -9208,10 +9149,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GenerateAuthToken) { auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_SERVER); } if (test_config.proxy_url) { - session_deps.proxy_service.reset( + session_deps_.proxy_service.reset( ProxyService::CreateFixed(test_config.proxy_url)); } else { - session_deps.proxy_service.reset(ProxyService::CreateDirect()); + session_deps_.proxy_service.reset(ProxyService::CreateDirect()); } HttpRequestInfo request; @@ -9219,9 +9160,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GenerateAuthToken) { request.url = GURL(test_config.server_url); request.load_flags = 0; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpNetworkTransaction trans( - DEFAULT_PRIORITY, CreateSession(&session_deps)); + DEFAULT_PRIORITY, CreateSession(&session_deps_)); for (int round = 0; round < test_config.num_auth_rounds; ++round) { const TestRound& read_write_round = test_config.rounds[round]; @@ -9244,12 +9185,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GenerateAuthToken) { } StaticSocketDataProvider data_provider( reads, length_reads, writes, length_writes); - session_deps.socket_factory->AddSocketDataProvider(&data_provider); + session_deps_.socket_factory->AddSocketDataProvider(&data_provider); // Add an SSL sequence if necessary. SSLSocketDataProvider ssl_socket_data_provider(SYNCHRONOUS, OK); if (round >= test_config.first_ssl_round) - session_deps.socket_factory->AddSSLSocketDataProvider( + session_deps_.socket_factory->AddSSLSocketDataProvider( &ssl_socket_data_provider); // Start or restart the transaction. @@ -9285,13 +9226,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, GenerateAuthToken) { TEST_F(HttpNetworkTransactionSpdy3Test, MultiRoundAuth) { // Do multi-round authentication and make sure it works correctly. - SpdySessionDependencies session_deps; HttpAuthHandlerMock::Factory* auth_factory( new HttpAuthHandlerMock::Factory()); - session_deps.http_auth_handler_factory.reset(auth_factory); - session_deps.proxy_service.reset(ProxyService::CreateDirect()); - session_deps.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); - session_deps.host_resolver->set_synchronous_mode(true); + session_deps_.http_auth_handler_factory.reset(auth_factory); + session_deps_.proxy_service.reset(ProxyService::CreateDirect()); + session_deps_.host_resolver->rules()->AddRule("www.example.com", "10.0.0.1"); + session_deps_.host_resolver->set_synchronous_mode(true); HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock()); auth_handler->set_connection_based(true); @@ -9310,7 +9250,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MultiRoundAuth) { request.url = origin; request.load_flags = 0; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Use a TCP Socket Pool with only one connection per group. This is used // to validate that the TCP socket is not released to the pool between @@ -9321,9 +9261,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MultiRoundAuth) { 50, // Max sockets for pool 1, // Max sockets per group &transport_pool_histograms, - session_deps.host_resolver.get(), - session_deps.socket_factory.get(), - session_deps.net_log); + session_deps_.host_resolver.get(), + session_deps_.socket_factory.get(), + session_deps_.net_log); MockClientSocketPoolManager* mock_pool_manager = new MockClientSocketPoolManager; mock_pool_manager->SetTransportSocketPool(transport_pool); @@ -9381,7 +9321,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MultiRoundAuth) { }; StaticSocketDataProvider data_provider(reads, arraysize(reads), writes, arraysize(writes)); - session_deps.socket_factory->AddSocketDataProvider(&data_provider); + session_deps_.socket_factory->AddSocketDataProvider(&data_provider); const char* const kSocketGroup = "www.example.com:80"; @@ -9476,7 +9416,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NpnWithHttpOverSSL) { HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos( MakeNextProtos("http/1.1", "http1.1", NULL)); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; request.url = GURL("https://www.google.com/"); @@ -9500,15 +9439,15 @@ TEST_F(HttpNetworkTransactionSpdy3Test, NpnWithHttpOverSSL) { ssl.next_proto = "http/1.1"; ssl.protocol_negotiated = kProtoHTTP11; - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); StaticSocketDataProvider data(data_reads, arraysize(data_reads), data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -9536,7 +9475,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SpdyPostNPNServerHangup) { // Fix crash: http://crbug.com/46369 HttpStreamFactory::set_use_alternate_protocols(true); HttpStreamFactory::SetNextProtos(SpdyNextProtos()); - SpdySessionDependencies session_deps; HttpRequestInfo request; request.method = "GET"; @@ -9545,7 +9483,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SpdyPostNPNServerHangup) { SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); MockWrite spdy_writes[] = { CreateMockWrite(*req) }; @@ -9558,11 +9496,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SpdyPostNPNServerHangup) { 0, // don't wait in this case, immediate hangup. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -9580,16 +9518,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SpdyAlternateProtocolThroughProxy) { "http/1.1", "http1.1", "spdy/2", "spdy/3", "spdy/3.1", "spdy/4a1", "spdy", NULL)); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingNetLog net_log; - session_deps.net_log = &net_log; + session_deps_.net_log = &net_log; HttpAuthHandlerMock::Factory* auth_factory = new HttpAuthHandlerMock::Factory(); HttpAuthHandlerMock* auth_handler = new HttpAuthHandlerMock(); auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY); auth_factory->set_do_init_from_challenge(true); - session_deps.http_auth_handler_factory.reset(auth_factory); + session_deps_.http_auth_handler_factory.reset(auth_factory); HttpRequestInfo request; request.method = "GET"; @@ -9684,12 +9622,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SpdyAlternateProtocolThroughProxy) { hanging_non_alternate_protocol_socket.set_connect_data( never_finishing_connect); - session_deps.socket_factory->AddSocketDataProvider(&data_1); - session_deps.socket_factory->AddSocketDataProvider(&data_2); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider( + session_deps_.socket_factory->AddSocketDataProvider(&data_1); + session_deps_.socket_factory->AddSocketDataProvider(&data_2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider( &hanging_non_alternate_protocol_socket); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // First round should work and provide the Alternate-Protocol state. TestCompletionCallback callback_1; @@ -9749,15 +9687,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SimpleCancel) { request.url = GURL("http://www.google.com/"); request.load_flags = 0; - SpdySessionDependencies session_deps; - session_deps.host_resolver->set_synchronous_mode(true); + session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, - CreateSession(&session_deps))); + CreateSession(&session_deps_))); StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); data.set_connect_data(mock_connect); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSocketDataProvider(&data); TestCompletionCallback callback; @@ -9771,11 +9708,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, SimpleCancel) { // Test a basic GET request through a proxy. TEST_F(HttpNetworkTransactionSpdy3Test, ProxyGet) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9796,7 +9733,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); TestCompletionCallback callback1; @@ -9826,11 +9763,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyGet) { // Test a basic HTTPS GET request through a proxy. TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGet) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9858,9 +9795,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGet) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -9900,10 +9837,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGet) { // Test a basic HTTPS GET request through a proxy, but the server hangs up // while establishing the tunnel. TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGetHangup) { - SpdySessionDependencies session_deps(ProxyService::CreateFixed("myproxy:70")); + session_deps_.proxy_service.reset(ProxyService::CreateFixed("myproxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.net_log = log.bound().net_log(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); HttpRequestInfo request; request.method = "GET"; @@ -9928,9 +9865,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGetHangup) { StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1), data_writes1, arraysize(data_writes1)); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl(ASYNC, OK); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); TestCompletionCallback callback1; @@ -9955,7 +9892,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ProxyTunnelGetHangup) { // Test for crbug.com/55424. TEST_F(HttpNetworkTransactionSpdy3Test, PreconnectWithExistingSpdySession) { - SpdySessionDependencies session_deps; scoped_ptr<SpdyFrame> req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -9973,13 +9909,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, PreconnectWithExistingSpdySession) { 1, // wait for one write to finish before reading. spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Set up an initial SpdySession in the pool to reuse. HostPortPair host_port_pair("www.google.com", 443); @@ -10021,13 +9957,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, PreconnectWithExistingSpdySession) { // Given a net error, cause that error to be returned from the first Write() // call and verify that the HttpTransaction fails with that error. -static void CheckErrorIsPassedBack(int error, IoMode mode) { +void HttpNetworkTransactionSpdy3Test::CheckErrorIsPassedBack( + int error, IoMode mode) { net::HttpRequestInfo request_info; request_info.url = GURL("https://www.example.com/"); request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl_data(mode, OK); net::MockWrite data_writes[] = { @@ -10035,10 +9971,10 @@ static void CheckErrorIsPassedBack(int error, IoMode mode) { }; net::StaticSocketDataProvider data(NULL, 0, data_writes, arraysize(data_writes)); - session_deps.socket_factory->AddSocketDataProvider(&data); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data); + session_deps_.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10075,7 +10011,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "www.example.com:443"; @@ -10085,9 +10020,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // be aborted to allow the caller to provide a certificate. SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // [ssl_]data2 contains the data for the second SSL handshake. When TLS // False Start is not being used, the result of the SSL handshake will be @@ -10097,9 +10032,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // certificate and none was supplied. SSLSocketDataProvider ssl_data2(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::StaticSocketDataProvider data2(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // [ssl_]data3 contains the data for the third SSL handshake. When a // connection to a server fails during an SSL handshake, @@ -10110,9 +10045,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // fail. SSLSocketDataProvider ssl_data3(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); // [ssl_]data4 contains the data for the fourth SSL handshake. When a // connection to a server fails during an SSL handshake, @@ -10123,11 +10058,11 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // fail. SSLSocketDataProvider ssl_data4(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data4.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data4); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data4); net::StaticSocketDataProvider data4(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data4); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10179,7 +10114,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Direct_FalseStart) { request_info.method = "GET"; request_info.load_flags = net::LOAD_NORMAL; - SpdySessionDependencies session_deps; scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "www.example.com:443"; @@ -10201,9 +10135,9 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Direct_FalseStart) { // [ssl_]data1 represents the initial SSL handshake with the peer. SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); // When a client certificate is supplied, Connect() will not be aborted // when the peer requests the certificate. Instead, the handshake will @@ -10214,34 +10148,34 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Direct_FalseStart) { // certificate. SSLSocketDataProvider ssl_data2(ASYNC, net::OK); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::MockRead data2_reads[] = { net::MockRead(ASYNC /* async */, net::ERR_SSL_PROTOCOL_ERROR), }; net::StaticSocketDataProvider data2( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // As described in ClientAuthCertCache_Direct_NoFalseStart, [ssl_]data3 is // the data for the SSL handshake once the TLSv1.1 connection falls back to // TLSv1. It has the same behaviour as [ssl_]data2. SSLSocketDataProvider ssl_data3(ASYNC, net::OK); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); // [ssl_]data4 is the data for the SSL handshake once the TLSv1 connection // falls back to SSLv3. It has the same behaviour as [ssl_]data2. SSLSocketDataProvider ssl_data4(ASYNC, net::OK); ssl_data4.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data4); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data4); net::StaticSocketDataProvider data4( data2_reads, arraysize(data2_reads), NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data4); + session_deps_.socket_factory->AddSocketDataProvider(&data4); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10291,10 +10225,10 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Direct_FalseStart) { // The test is repeated twice, first for connecting to an HTTPS endpoint, // then for connecting to an HTTP endpoint. TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Proxy_Fail) { - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixed("https://proxy:70")); CapturingBoundNetLog log; - session_deps.net_log = log.bound().net_log(); + session_deps_.net_log = log.bound().net_log(); scoped_refptr<SSLCertRequestInfo> cert_request(new SSLCertRequestInfo()); cert_request->host_and_port = "proxy:70"; @@ -10305,23 +10239,23 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Proxy_Fail) { // (proxy:70). SSLSocketDataProvider ssl_data1(ASYNC, net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); ssl_data1.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data1); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data1); net::StaticSocketDataProvider data1(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data1); SSLSocketDataProvider ssl_data2(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data2.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data2); net::StaticSocketDataProvider data2(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSocketDataProvider(&data2); // TODO(wtc): find out why this unit test doesn't need [ssl_]data3. #if 0 SSLSocketDataProvider ssl_data3(ASYNC, net::ERR_SSL_PROTOCOL_ERROR); ssl_data3.cert_request_info = cert_request.get(); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data3); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl_data3); net::StaticSocketDataProvider data3(NULL, 0, NULL, 0); - session_deps.socket_factory->AddSocketDataProvider(&data3); + session_deps_.socket_factory->AddSocketDataProvider(&data3); #endif net::HttpRequestInfo requests[2]; @@ -10334,8 +10268,8 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ClientAuthCertCache_Proxy_Fail) { requests[1].load_flags = net::LOAD_NORMAL; for (size_t i = 0; i < arraysize(requests); ++i) { - session_deps.socket_factory->ResetNextMockIndexes(); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.socket_factory->ResetNextMockIndexes(); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpNetworkTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); @@ -10388,15 +10322,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseIPConnectionPooling) { HttpStreamFactory::SetNextProtos(SpdyNextProtos()); // Set up a special HttpNetworkSession with a MockCachingHostResolver. - SpdySessionDependencies session_deps; - session_deps.host_resolver.reset(new MockCachingHostResolver()); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10426,7 +10359,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseIPConnectionPooling) { connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10452,7 +10385,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseIPConnectionPooling) { HostPortPair host_port("www.gmail.com", 443); HostResolver::RequestInfo resolve_info(host_port); AddressList ignored; - rv = session_deps.host_resolver->Resolve(resolve_info, &ignored, + rv = session_deps_.host_resolver->Resolve(resolve_info, &ignored, callback.callback(), NULL, BoundNetLog()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -10484,15 +10417,14 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseIPConnectionPoolingAfterResolution) { HttpStreamFactory::SetNextProtos(SpdyNextProtos()); // Set up a special HttpNetworkSession with a MockCachingHostResolver. - SpdySessionDependencies session_deps; - session_deps.host_resolver.reset(new MockCachingHostResolver()); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10522,7 +10454,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseIPConnectionPoolingAfterResolution) { connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10611,17 +10543,16 @@ TEST_F(HttpNetworkTransactionSpdy3Test, // Set up a special HttpNetworkSession with a OneTimeCachingHostResolver. OneTimeCachingHostResolver host_resolver(HostPortPair("www.gmail.com", 443)); - SpdySessionDependencies session_deps; HttpNetworkSession::Params params = - SpdySessionDependencies::CreateSessionParams(&session_deps); + SpdySessionDependencies::CreateSessionParams(&session_deps_); params.host_resolver = &host_resolver; - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); pool_peer.DisableDomainAuthenticationVerification(); SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( "https://www.google.com", false, 1, LOWEST)); @@ -10651,7 +10582,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, connect, spdy_reads, arraysize(spdy_reads), spdy_writes, arraysize(spdy_writes)); - session_deps.socket_factory->AddSocketDataProvider(&spdy_data); + session_deps_.socket_factory->AddSocketDataProvider(&spdy_data); TestCompletionCallback callback; HttpRequestInfo request1; @@ -10793,14 +10724,13 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionForHttp) { 1, reads2, arraysize(reads2), writes2, arraysize(writes2)); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data1); - session_deps.socket_factory->AddSocketDataProvider(&data2); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data1); + session_deps_.socket_factory->AddSocketDataProvider(&data2); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -10872,20 +10802,20 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionForHttpOverTunnel) { MockConnect connect_data1(ASYNC, OK); data1.set_connect_data(connect_data1); - SpdySessionDependencies session_deps( + session_deps_.proxy_service.reset( ProxyService::CreateFixedFromPacResult("HTTPS proxy:70")); CapturingNetLog log; - session_deps.net_log = &log; + session_deps_.net_log = &log; SSLSocketDataProvider ssl1(ASYNC, OK); // to the proxy ssl1.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); SSLSocketDataProvider ssl2(ASYNC, OK); // to the server ssl2.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(&data1); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data1); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -10962,13 +10892,12 @@ TEST_F(HttpNetworkTransactionSpdy3Test, UseSpdySessionForHttpWhenForced) { OrderedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl(ASYNC, OK); ssl.SetNextProto(kProtoSPDY3); - session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); - session_deps.socket_factory->AddSocketDataProvider(&data); + session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); + session_deps_.socket_factory->AddSocketDataProvider(&data); - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -11060,7 +10989,7 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionIfCertDoesNotMatch) { proxy_config.proxy_rules().ParseFromString("http=https://proxy:443"); CapturingProxyResolver* capturing_proxy_resolver = new CapturingProxyResolver(); - SpdySessionDependencies session_deps(new ProxyService( + session_deps_.proxy_service.reset(new ProxyService( new ProxyConfigServiceFixed(proxy_config), capturing_proxy_resolver, NULL)); @@ -11076,20 +11005,22 @@ TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionIfCertDoesNotMatch) { SSLSocketDataProvider ssl1(ASYNC, OK); // to the proxy ssl1.SetNextProto(kProtoSPDY3); ssl1.cert = server_cert; - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data1.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data1.get()); SSLSocketDataProvider ssl2(ASYNC, OK); // to the server ssl2.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data2.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data2.get()); - session_deps.host_resolver.reset(new MockCachingHostResolver()); - session_deps.host_resolver->rules()->AddRule("mail.google.com", ip_addr); - session_deps.host_resolver->rules()->AddRule("proxy", ip_addr); + session_deps_.host_resolver.reset(new MockCachingHostResolver()); + session_deps_.host_resolver->rules()->AddRule("mail.google.com", ip_addr); + session_deps_.host_resolver->rules()->AddRule("proxy", ip_addr); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession HttpRequestInfo request1; @@ -11156,19 +11087,20 @@ TEST_F(HttpNetworkTransactionSpdy3Test, ErrorSocketNotConnected) { new DeterministicSocketData(reads2, arraysize(reads2), writes2, arraysize(writes2))); - SpdySessionDependencies session_deps; SSLSocketDataProvider ssl1(ASYNC, OK); ssl1.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data1.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl1); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data1.get()); SSLSocketDataProvider ssl2(ASYNC, OK); ssl2.SetNextProto(kProtoSPDY3); - session_deps.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); - session_deps.deterministic_socket_factory->AddSocketDataProvider(data2.get()); + session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl2); + session_deps_.deterministic_socket_factory->AddSocketDataProvider( + data2.get()); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps)); + SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_)); // Start the first transaction to set up the SpdySession and verify that // connection was closed. diff --git a/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc b/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc index 48ac42c..5835846 100644 --- a/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc +++ b/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc @@ -15,6 +15,7 @@ #include "net/http/http_response_headers.h" #include "net/socket/client_socket_handle.h" #include "net/socket/client_socket_pool_histograms.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/spdy/spdy_protocol.h" #include "net/spdy/spdy_test_util_spdy2.h" @@ -46,7 +47,8 @@ typedef ::testing::TestWithParam<HttpProxyType> TestWithHttpParam; class HttpProxyClientSocketPoolSpdy2Test : public TestWithHttpParam { protected: HttpProxyClientSocketPoolSpdy2Test() - : ssl_config_(), + : session_deps_(kProtoSPDY2), + ssl_config_(), ignored_transport_socket_params_( new TransportSocketParams(HostPortPair("proxy", 80), LOWEST, @@ -94,7 +96,8 @@ class HttpProxyClientSocketPoolSpdy2Test : public TestWithHttpParam { NULL, &transport_socket_pool_, &ssl_socket_pool_, - NULL) {} + NULL) { + } virtual ~HttpProxyClientSocketPoolSpdy2Test() { } diff --git a/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc b/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc index 36e5869..4c87de4 100644 --- a/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc +++ b/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc @@ -15,6 +15,7 @@ #include "net/http/http_response_headers.h" #include "net/socket/client_socket_handle.h" #include "net/socket/client_socket_pool_histograms.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/spdy/spdy_protocol.h" #include "net/spdy/spdy_test_util_spdy3.h" @@ -46,7 +47,8 @@ typedef ::testing::TestWithParam<HttpProxyType> TestWithHttpParam; class HttpProxyClientSocketPoolSpdy3Test : public TestWithHttpParam { protected: HttpProxyClientSocketPoolSpdy3Test() - : ssl_config_(), + : session_deps_(kProtoSPDY3), + ssl_config_(), ignored_transport_socket_params_( new TransportSocketParams(HostPortPair("proxy", 80), LOWEST, @@ -94,7 +96,8 @@ class HttpProxyClientSocketPoolSpdy3Test : public TestWithHttpParam { NULL, &transport_socket_pool_, &ssl_socket_pool_, - NULL) {} + NULL) { + } virtual ~HttpProxyClientSocketPoolSpdy3Test() { } diff --git a/net/spdy/spdy_http_stream_spdy2_unittest.cc b/net/spdy/spdy_http_stream_spdy2_unittest.cc index afba92b..74102f4 100644 --- a/net/spdy/spdy_http_stream_spdy2_unittest.cc +++ b/net/spdy/spdy_http_stream_spdy2_unittest.cc @@ -16,6 +16,7 @@ #include "net/http/http_request_info.h" #include "net/http/http_response_headers.h" #include "net/http/http_response_info.h" +#include "net/socket/next_proto.h" #include "net/spdy/spdy_session.h" #include "net/spdy/spdy_test_util_spdy2.h" #include "net/ssl/default_server_bound_cert_store.h" @@ -58,7 +59,7 @@ void TestLoadTimingNotReused(const HttpStream& stream) { class SpdyHttpStreamSpdy2Test : public testing::Test { public: - SpdyHttpStreamSpdy2Test() { + SpdyHttpStreamSpdy2Test() : session_deps_(kProtoSPDY2) { session_deps_.net_log = &net_log_; } diff --git a/net/spdy/spdy_http_stream_spdy3_unittest.cc b/net/spdy/spdy_http_stream_spdy3_unittest.cc index b228f4a..0562bed 100644 --- a/net/spdy/spdy_http_stream_spdy3_unittest.cc +++ b/net/spdy/spdy_http_stream_spdy3_unittest.cc @@ -21,6 +21,7 @@ #include "net/http/http_request_info.h" #include "net/http/http_response_headers.h" #include "net/http/http_response_info.h" +#include "net/socket/next_proto.h" #include "net/spdy/spdy_credential_builder.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_session.h" @@ -65,7 +66,7 @@ void TestLoadTimingNotReused(const HttpStream& stream) { class SpdyHttpStreamSpdy3Test : public testing::Test { public: - SpdyHttpStreamSpdy3Test() { + SpdyHttpStreamSpdy3Test() : session_deps_(kProtoSPDY3) { session_deps_.net_log = &net_log_; } @@ -393,7 +394,7 @@ TEST_F(SpdyHttpStreamSpdy3Test, SendChunkedPost) { } TEST_F(SpdyHttpStreamSpdy3Test, SendChunkedPost4) { - session_deps_.enable_spdy_4 = true; + session_deps_.protocol = kProtoSPDY4a1; RunSendChunkedPostTest(kSpdyVersion4); } diff --git a/net/spdy/spdy_network_transaction_spdy2_unittest.cc b/net/spdy/spdy_network_transaction_spdy2_unittest.cc index f76252c..8f7ecd3 100644 --- a/net/spdy/spdy_network_transaction_spdy2_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy2_unittest.cc @@ -21,6 +21,7 @@ #include "net/http/http_network_session_peer.h" #include "net/http/http_transaction_unittest.h" #include "net/socket/client_socket_pool_base.h" +#include "net/socket/next_proto.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_http_stream.h" #include "net/spdy/spdy_http_utils.h" @@ -48,6 +49,15 @@ enum SpdyNetworkTransactionSpdy2TestTypes { SPDYSSL, }; +static SpdySessionDependencies* CreateSpdySessionDependencies() { + return new SpdySessionDependencies(kProtoSPDY2); +} + +static SpdySessionDependencies* CreateSpdySessionDependencies( + ProxyService* proxy_service) { + return new SpdySessionDependencies(kProtoSPDY2, proxy_service); +} + class SpdyNetworkTransactionSpdy2Test : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy2TestTypes> { protected: @@ -82,7 +92,7 @@ class SpdyNetworkTransactionSpdy2Test : request_(request), priority_(priority), session_deps_(session_deps == NULL ? - new SpdySessionDependencies() : session_deps), + CreateSpdySessionDependencies() : session_deps), session_(SpdySessionDependencies::SpdyCreateSession( session_deps_.get())), log_(log), @@ -127,7 +137,7 @@ class SpdyNetworkTransactionSpdy2Test void RunPreTestSetup() { if (!session_deps_.get()) - session_deps_.reset(new SpdySessionDependencies()); + session_deps_.reset(CreateSpdySessionDependencies()); if (!session_.get()) session_ = SpdySessionDependencies::SpdyCreateSession( session_deps_.get()); @@ -610,9 +620,10 @@ INSTANTIATE_TEST_CASE_P(Spdy, // Verify HttpNetworkTransaction constructor. TEST_P(SpdyNetworkTransactionSpdy2Test, Constructor) { - SpdySessionDependencies session_deps; + scoped_ptr<SpdySessionDependencies> session_deps( + CreateSpdySessionDependencies()); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSession(&session_deps)); + SpdySessionDependencies::SpdyCreateSession(session_deps.get())); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); } @@ -2366,7 +2377,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, RedirectGetRequest) { HttpStreamFactory::set_force_spdy_always(true); TestDelegate d; { - SpdyURLRequestContext spdy_url_request_context; + SpdyURLRequestContext spdy_url_request_context(kProtoSPDY2); net::URLRequest r( GURL("http://www.google.com/"), &d, &spdy_url_request_context); spdy_url_request_context.socket_factory(). @@ -2612,7 +2623,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, RedirectServerPush) { HttpStreamFactory::set_force_spdy_always(true); TestDelegate d; TestDelegate d2; - SpdyURLRequestContext spdy_url_request_context; + SpdyURLRequestContext spdy_url_request_context(kProtoSPDY2); { net::URLRequest r( GURL("http://www.google.com/"), &d, &spdy_url_request_context); @@ -3651,7 +3662,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, DecompressFailureOnSynReply) { DelayedSocketData data(1, reads, arraysize(reads), writes, arraysize(writes)); - SpdySessionDependencies* session_deps = new SpdySessionDependencies(); + SpdySessionDependencies* session_deps = CreateSpdySessionDependencies(); session_deps->enable_compression = true; NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, BoundNetLog(), GetParam(), session_deps); @@ -4472,7 +4483,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, CloseWithActiveStream) { TEST_P(SpdyNetworkTransactionSpdy2Test, ProxyConnect) { NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, BoundNetLog(), GetParam(), NULL); - helper.session_deps().reset(new SpdySessionDependencies( + helper.session_deps().reset(CreateSpdySessionDependencies( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70"))); helper.SetSession(make_scoped_refptr( SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get()))); @@ -4580,7 +4591,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, DirectConnectProxyReconnect) { // myproxy:70. For this test there will be no fallback, so it is equivalent // to simply DIRECT. The reason for appending the second proxy is to verify // that the session pool key used does is just "DIRECT". - helper.session_deps().reset(new SpdySessionDependencies( + helper.session_deps().reset(CreateSpdySessionDependencies( ProxyService::CreateFixedFromPacResult("DIRECT; PROXY myproxy:70"))); helper.SetSession(make_scoped_refptr( SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get()))); @@ -4708,7 +4719,8 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, DirectConnectProxyReconnect) { request_proxy.method = "GET"; request_proxy.url = GURL("http://www.google.com/foo.dat"); request_proxy.load_flags = 0; - scoped_ptr<SpdySessionDependencies> ssd_proxy(new SpdySessionDependencies()); + scoped_ptr<SpdySessionDependencies> ssd_proxy( + CreateSpdySessionDependencies()); // Ensure that this transaction uses the same SpdySessionPool. scoped_refptr<HttpNetworkSession> session_proxy( SpdySessionDependencies::SpdyCreateSession(ssd_proxy.get())); @@ -5704,7 +5716,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushCrossOriginCorrectness) { // Enable cross-origin push. Since we are not using a proxy, this should // not actually enable cross-origin SPDY push. scoped_ptr<SpdySessionDependencies> session_deps( - new SpdySessionDependencies()); + CreateSpdySessionDependencies()); session_deps->trusted_spdy_proxy = "123.45.67.89:8080"; NormalSpdyTransactionHelper helper(request, DEFAULT_PRIORITY, BoundNetLog(), GetParam(), diff --git a/net/spdy/spdy_network_transaction_spdy3_unittest.cc b/net/spdy/spdy_network_transaction_spdy3_unittest.cc index 805c6aa..e627255 100644 --- a/net/spdy/spdy_network_transaction_spdy3_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy3_unittest.cc @@ -21,6 +21,7 @@ #include "net/http/http_network_session_peer.h" #include "net/http/http_transaction_unittest.h" #include "net/socket/client_socket_pool_base.h" +#include "net/socket/next_proto.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_http_stream.h" #include "net/spdy/spdy_http_utils.h" @@ -48,6 +49,15 @@ enum SpdyNetworkTransactionSpdy3TestTypes { SPDYSSL, }; +static SpdySessionDependencies* CreateSpdySessionDependencies() { + return new SpdySessionDependencies(kProtoSPDY3); +} + +static SpdySessionDependencies* CreateSpdySessionDependencies( + ProxyService* proxy_service) { + return new SpdySessionDependencies(kProtoSPDY3, proxy_service); +} + class SpdyNetworkTransactionSpdy3Test : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy3TestTypes> { protected: @@ -82,7 +92,7 @@ class SpdyNetworkTransactionSpdy3Test : request_(request), priority_(priority), session_deps_(session_deps == NULL ? - new SpdySessionDependencies() : session_deps), + CreateSpdySessionDependencies() : session_deps), session_(SpdySessionDependencies::SpdyCreateSession( session_deps_.get())), log_(log), @@ -127,7 +137,7 @@ class SpdyNetworkTransactionSpdy3Test void RunPreTestSetup() { if (!session_deps_.get()) - session_deps_.reset(new SpdySessionDependencies()); + session_deps_.reset(CreateSpdySessionDependencies()); if (!session_.get()) session_ = SpdySessionDependencies::SpdyCreateSession( session_deps_.get()); @@ -612,9 +622,10 @@ INSTANTIATE_TEST_CASE_P(Spdy, // Verify HttpNetworkTransaction constructor. TEST_P(SpdyNetworkTransactionSpdy3Test, Constructor) { - SpdySessionDependencies session_deps; + scoped_ptr<SpdySessionDependencies> session_deps( + CreateSpdySessionDependencies()); scoped_refptr<HttpNetworkSession> session( - SpdySessionDependencies::SpdyCreateSession(&session_deps)); + SpdySessionDependencies::SpdyCreateSession(session_deps.get())); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); } @@ -2950,7 +2961,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, RedirectGetRequest) { HttpStreamFactory::set_force_spdy_always(true); TestDelegate d; { - SpdyURLRequestContext spdy_url_request_context; + SpdyURLRequestContext spdy_url_request_context(kProtoSPDY3); net::URLRequest r( GURL("http://www.google.com/"), &d, &spdy_url_request_context); spdy_url_request_context.socket_factory(). @@ -3198,7 +3209,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, RedirectServerPush) { HttpStreamFactory::set_force_spdy_always(true); TestDelegate d; TestDelegate d2; - SpdyURLRequestContext spdy_url_request_context; + SpdyURLRequestContext spdy_url_request_context(kProtoSPDY3); { net::URLRequest r( GURL("http://www.google.com/"), &d, &spdy_url_request_context); @@ -4237,7 +4248,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, DecompressFailureOnSynReply) { DelayedSocketData data(1, reads, arraysize(reads), writes, arraysize(writes)); - SpdySessionDependencies* session_deps = new SpdySessionDependencies(); + SpdySessionDependencies* session_deps = CreateSpdySessionDependencies(); session_deps->enable_compression = true; NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, BoundNetLog(), GetParam(), session_deps); @@ -5058,7 +5069,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, CloseWithActiveStream) { TEST_P(SpdyNetworkTransactionSpdy3Test, ProxyConnect) { NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, BoundNetLog(), GetParam(), NULL); - helper.session_deps().reset(new SpdySessionDependencies( + helper.session_deps().reset(CreateSpdySessionDependencies( ProxyService::CreateFixedFromPacResult("PROXY myproxy:70"))); helper.SetSession(make_scoped_refptr( SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get()))); @@ -5166,7 +5177,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, DirectConnectProxyReconnect) { // myproxy:70. For this test there will be no fallback, so it is equivalent // to simply DIRECT. The reason for appending the second proxy is to verify // that the session pool key used does is just "DIRECT". - helper.session_deps().reset(new SpdySessionDependencies( + helper.session_deps().reset(CreateSpdySessionDependencies( ProxyService::CreateFixedFromPacResult("DIRECT; PROXY myproxy:70"))); helper.SetSession(make_scoped_refptr( SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get()))); @@ -5294,7 +5305,8 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, DirectConnectProxyReconnect) { request_proxy.method = "GET"; request_proxy.url = GURL("http://www.google.com/foo.dat"); request_proxy.load_flags = 0; - scoped_ptr<SpdySessionDependencies> ssd_proxy(new SpdySessionDependencies()); + scoped_ptr<SpdySessionDependencies> ssd_proxy( + CreateSpdySessionDependencies()); // Ensure that this transaction uses the same SpdySessionPool. scoped_refptr<HttpNetworkSession> session_proxy( SpdySessionDependencies::SpdyCreateSession(ssd_proxy.get())); @@ -6297,7 +6309,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushCrossOriginCorrectness) { // Enable cross-origin push. Since we are not using a proxy, this should // not actually enable cross-origin SPDY push. scoped_ptr<SpdySessionDependencies> session_deps( - new SpdySessionDependencies()); + CreateSpdySessionDependencies()); session_deps->trusted_spdy_proxy = "123.45.67.89:8080"; NormalSpdyTransactionHelper helper(request, DEFAULT_PRIORITY, BoundNetLog(), GetParam(), diff --git a/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc b/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc index 0074bc5..91c92f9 100644 --- a/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc +++ b/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc @@ -17,6 +17,7 @@ #include "net/http/http_response_headers.h" #include "net/http/http_response_info.h" #include "net/socket/client_socket_factory.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket/tcp_client_socket.h" #include "net/spdy/buffered_spdy_framer.h" @@ -139,7 +140,7 @@ SpdyProxyClientSocketSpdy2Test::SpdyProxyClientSocketSpdy2Test() data_(NULL), session_(NULL), read_buf_(NULL), - session_deps_(), + session_deps_(kProtoSPDY2), connect_data_(SYNCHRONOUS, OK), spdy_session_(NULL), spdy_stream_(NULL), diff --git a/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc b/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc index 0a21d34..331fa60 100644 --- a/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc +++ b/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc @@ -17,6 +17,7 @@ #include "net/http/http_response_headers.h" #include "net/http/http_response_info.h" #include "net/socket/client_socket_factory.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket/tcp_client_socket.h" #include "net/spdy/buffered_spdy_framer.h" @@ -139,7 +140,7 @@ SpdyProxyClientSocketSpdy3Test::SpdyProxyClientSocketSpdy3Test() data_(NULL), session_(NULL), read_buf_(NULL), - session_deps_(), + session_deps_(kProtoSPDY3), connect_data_(SYNCHRONOUS, OK), spdy_session_(NULL), spdy_stream_(NULL), diff --git a/net/spdy/spdy_session_pool.h b/net/spdy/spdy_session_pool.h index 19d0a30..992e502 100644 --- a/net/spdy/spdy_session_pool.h +++ b/net/spdy/spdy_session_pool.h @@ -139,8 +139,7 @@ class NET_EXPORT SpdySessionPool virtual void OnCertTrustChanged(const X509Certificate* cert) OVERRIDE; private: - friend class test_spdy2::SpdySessionPoolPeer; // For testing. - friend class test_spdy3::SpdySessionPoolPeer; // For testing. + friend class SpdySessionPoolPeer; // For testing. friend class SpdyNetworkTransactionSpdy2Test; // For testing. friend class SpdyNetworkTransactionSpdy3Test; // For testing. FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionSpdy2Test, diff --git a/net/spdy/spdy_session_spdy2_unittest.cc b/net/spdy/spdy_session_spdy2_unittest.cc index cf3a433..af0af3d 100644 --- a/net/spdy/spdy_session_spdy2_unittest.cc +++ b/net/spdy/spdy_session_spdy2_unittest.cc @@ -12,6 +12,7 @@ #include "net/base/test_data_directory.h" #include "net/base/test_data_stream.h" #include "net/dns/host_cache.h" +#include "net/socket/next_proto.h" #include "net/spdy/spdy_session_pool.h" #include "net/spdy/spdy_session_test_util.h" #include "net/spdy/spdy_stream.h" @@ -42,7 +43,8 @@ base::TimeTicks TheNearFuture() { class SpdySessionSpdy2Test : public PlatformTest { protected: SpdySessionSpdy2Test() - : spdy_session_pool_(NULL), + : session_deps_(kProtoSPDY2), + spdy_session_pool_(NULL), test_url_(kTestUrl), test_host_port_pair_(kTestHost, kTestPort), pair_(test_host_port_pair_, ProxyServer::Direct()) { @@ -831,7 +833,7 @@ void IPPoolingTest(SpdyPoolCloseSessionsType close_sessions_type) { }, }; - SpdySessionDependencies session_deps; + SpdySessionDependencies session_deps(kProtoSPDY2); session_deps.host_resolver->set_synchronous_mode(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_hosts); i++) { session_deps.host_resolver->rules()->AddIPLiteralRule( diff --git a/net/spdy/spdy_session_spdy3_unittest.cc b/net/spdy/spdy_session_spdy3_unittest.cc index 1de1a3d..382a606 100644 --- a/net/spdy/spdy_session_spdy3_unittest.cc +++ b/net/spdy/spdy_session_spdy3_unittest.cc @@ -14,6 +14,7 @@ #include "net/base/test_data_directory.h" #include "net/base/test_data_stream.h" #include "net/dns/host_cache.h" +#include "net/socket/next_proto.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_session_pool.h" #include "net/spdy/spdy_session_test_util.h" @@ -96,7 +97,8 @@ class SpdySessionSpdy3Test : public PlatformTest { protected: SpdySessionSpdy3Test() - : spdy_session_pool_(NULL), + : session_deps_(kProtoSPDY3), + spdy_session_pool_(NULL), test_url_(kTestUrl), test_host_port_pair_(kTestHost, kTestPort), pair_(test_host_port_pair_, ProxyServer::Direct()) { @@ -922,7 +924,7 @@ void IPPoolingTest(SpdyPoolCloseSessionsType close_sessions_type) { }, }; - SpdySessionDependencies session_deps; + SpdySessionDependencies session_deps(kProtoSPDY3); session_deps.host_resolver->set_synchronous_mode(true); for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_hosts); i++) { session_deps.host_resolver->rules()->AddIPLiteralRule( @@ -2308,7 +2310,7 @@ TEST_F(SpdySessionSpdy3Test, ProtocolNegotiation) { // SpdySession should be initialized with flow control enabled for // streams and sessions and with protocol version 3. TEST_F(SpdySessionSpdy3Test, ProtocolNegotiation31) { - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); MockConnect connect_data(SYNCHRONOUS, OK); @@ -2346,7 +2348,7 @@ TEST_F(SpdySessionSpdy3Test, ProtocolNegotiation31) { // NOTE(akalin): We are still figuring out the story for SPDY4 test // coverage. TEST_F(SpdySessionSpdy3Test, ProtocolNegotiation4) { - session_deps_.enable_spdy_4 = true; + session_deps_.protocol = kProtoSPDY4a1; session_deps_.host_resolver->set_synchronous_mode(true); MockConnect connect_data(SYNCHRONOUS, OK); @@ -2383,7 +2385,7 @@ TEST_F(SpdySessionSpdy3Test, ProtocolNegotiation4) { // should trigger sending a WINDOW_UPDATE frame for a large enough // delta. TEST_F(SpdySessionSpdy3Test, AdjustRecvWindowSize31) { - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); const int32 delta_window_size = 100; @@ -2447,7 +2449,7 @@ TEST_F(SpdySessionSpdy3Test, AdjustRecvWindowSize31) { // adjust the session send window size when the "enable_spdy_31" flag // is set. TEST_F(SpdySessionSpdy3Test, AdjustSendWindowSize31) { - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); MockConnect connect_data(SYNCHRONOUS, OK); @@ -2480,7 +2482,7 @@ TEST_F(SpdySessionSpdy3Test, AdjustSendWindowSize31) { // Incoming data for an inactive stream should not cause the session // receive window size to decrease. TEST_F(SpdySessionSpdy3Test, SessionFlowControlInactiveStream31) { - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); MockConnect connect_data(SYNCHRONOUS, OK); @@ -2542,7 +2544,7 @@ class DropReceivedDataDelegate : public test::StreamDelegateSendImmediate { TEST_F(SpdySessionSpdy3Test, SessionFlowControlNoReceiveLeaks31) { const char kStreamUrl[] = "http://www.google.com/"; - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; const int32 msg_data_size = 100; const std::string msg_data(msg_data_size, 'a'); @@ -2628,7 +2630,7 @@ TEST_F(SpdySessionSpdy3Test, SessionFlowControlNoReceiveLeaks31) { TEST_F(SpdySessionSpdy3Test, SessionFlowControlNoSendLeaks31) { const char kStreamUrl[] = "http://www.google.com/"; - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; const int32 msg_data_size = 100; const std::string msg_data(msg_data_size, 'a'); @@ -2708,7 +2710,7 @@ TEST_F(SpdySessionSpdy3Test, SessionFlowControlNoSendLeaks31) { TEST_F(SpdySessionSpdy3Test, SessionFlowControlEndToEnd31) { const char kStreamUrl[] = "http://www.google.com/"; - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; const int32 msg_data_size = 100; const std::string msg_data(msg_data_size, 'a'); @@ -2838,7 +2840,7 @@ void SpdySessionSpdy3Test::RunResumeAfterUnstallTest31( const char kStreamUrl[] = "http://www.google.com/"; GURL url(kStreamUrl); - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<SpdyFrame> initial_window_update( @@ -2983,7 +2985,7 @@ TEST_F(SpdySessionSpdy3Test, ResumeByPriorityAfterSendWindowSizeIncrease31) { const char kStreamUrl[] = "http://www.google.com/"; GURL url(kStreamUrl); - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<SpdyFrame> initial_window_update( @@ -3150,7 +3152,7 @@ TEST_F(SpdySessionSpdy3Test, SendWindowSizeIncreaseWithDeletedStreams31) { const char kStreamUrl[] = "http://www.google.com/"; GURL url(kStreamUrl); - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<SpdyFrame> initial_window_update( @@ -3355,7 +3357,7 @@ TEST_F(SpdySessionSpdy3Test, SendWindowSizeIncreaseWithDeletedSession31) { const char kStreamUrl[] = "http://www.google.com/"; GURL url(kStreamUrl); - session_deps_.enable_spdy_31 = true; + session_deps_.protocol = kProtoSPDY31; session_deps_.host_resolver->set_synchronous_mode(true); scoped_ptr<SpdyFrame> initial_window_update( diff --git a/net/spdy/spdy_stream_spdy2_unittest.cc b/net/spdy/spdy_stream_spdy2_unittest.cc index a337309..5e9a5e7 100644 --- a/net/spdy/spdy_stream_spdy2_unittest.cc +++ b/net/spdy/spdy_stream_spdy2_unittest.cc @@ -11,6 +11,7 @@ #include "net/base/completion_callback.h" #include "net/base/net_log_unittest.h" #include "net/base/request_priority.h" +#include "net/socket/next_proto.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_protocol.h" @@ -39,8 +40,9 @@ const base::StringPiece kPostBodyStringPiece(kPostBody, kPostBodyLength); class SpdyStreamSpdy2Test : public testing::Test { protected: - SpdyStreamSpdy2Test() : host_port_pair_("www.google.com", 80) { - } + SpdyStreamSpdy2Test() + : host_port_pair_("www.google.com", 80), + session_deps_(kProtoSPDY2) {} scoped_refptr<SpdySession> CreateSpdySession() { HostPortProxyPair pair(host_port_pair_, ProxyServer::Direct()); @@ -217,7 +219,6 @@ TEST_F(SpdyStreamSpdy2Test, SendHeaderAndDataAfterOpen) { } TEST_F(SpdyStreamSpdy2Test, PushedStream) { - SpdySessionDependencies session_deps; session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); scoped_refptr<SpdySession> spdy_session(CreateSpdySession()); diff --git a/net/spdy/spdy_stream_spdy3_unittest.cc b/net/spdy/spdy_stream_spdy3_unittest.cc index 7f787be..d8f852b 100644 --- a/net/spdy/spdy_stream_spdy3_unittest.cc +++ b/net/spdy/spdy_stream_spdy3_unittest.cc @@ -9,6 +9,7 @@ #include "net/base/completion_callback.h" #include "net/base/net_log_unittest.h" #include "net/base/request_priority.h" +#include "net/socket/next_proto.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_protocol.h" @@ -37,8 +38,9 @@ const base::StringPiece kPostBodyStringPiece(kPostBody, kPostBodyLength); class SpdyStreamSpdy3Test : public testing::Test { protected: - SpdyStreamSpdy3Test() : host_port_pair_("www.google.com", 80) { - } + SpdyStreamSpdy3Test() + : host_port_pair_("www.google.com", 80), + session_deps_(kProtoSPDY3) {} scoped_refptr<SpdySession> CreateSpdySession() { HostPortProxyPair pair(host_port_pair_, ProxyServer::Direct()); diff --git a/net/spdy/spdy_test_util_common.cc b/net/spdy/spdy_test_util_common.cc index 6e18445..0b75ad8 100644 --- a/net/spdy/spdy_test_util_common.cc +++ b/net/spdy/spdy_test_util_common.cc @@ -7,6 +7,11 @@ #include <cstddef> #include "base/compiler_specific.h" +#include "net/cert/mock_cert_verifier.h" +#include "net/http/http_cache.h" +#include "net/http/http_network_session.h" +#include "net/http/http_network_transaction.h" +#include "net/http/http_server_properties_impl.h" #include "net/socket/socket_test_util.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_session.h" @@ -14,6 +19,15 @@ namespace net { +namespace { + +bool next_proto_is_spdy(NextProto next_proto) { + return next_proto >= kProtoSPDYMinimumVersion && + next_proto <= kProtoSPDYMaximumVersion; +} + +} + // Chop a frame into an array of MockWrites. // |data| is the frame to chop. // |length| is the length of the frame to chop. @@ -283,4 +297,208 @@ void StreamReleaserCallback::OnComplete( SetResult(result); } +MockECSignatureCreator::MockECSignatureCreator(crypto::ECPrivateKey* key) + : key_(key) { +} + +bool MockECSignatureCreator::Sign(const uint8* data, + int data_len, + std::vector<uint8>* signature) { + std::vector<uint8> private_key_value; + key_->ExportValue(&private_key_value); + std::string head = "fakesignature"; + std::string tail = "/fakesignature"; + + signature->clear(); + signature->insert(signature->end(), head.begin(), head.end()); + signature->insert(signature->end(), private_key_value.begin(), + private_key_value.end()); + signature->insert(signature->end(), '-'); + signature->insert(signature->end(), data, data + data_len); + signature->insert(signature->end(), tail.begin(), tail.end()); + return true; +} + +bool MockECSignatureCreator::DecodeSignature( + const std::vector<uint8>& signature, + std::vector<uint8>* out_raw_sig) { + *out_raw_sig = signature; + return true; +} + +MockECSignatureCreatorFactory::MockECSignatureCreatorFactory() { + crypto::ECSignatureCreator::SetFactoryForTesting(this); +} + +MockECSignatureCreatorFactory::~MockECSignatureCreatorFactory() { + crypto::ECSignatureCreator::SetFactoryForTesting(NULL); +} + +crypto::ECSignatureCreator* MockECSignatureCreatorFactory::Create( + crypto::ECPrivateKey* key) { + return new MockECSignatureCreator(key); +} + +SpdySessionDependencies::SpdySessionDependencies(NextProto protocol) + : host_resolver(new MockCachingHostResolver), + cert_verifier(new MockCertVerifier), + proxy_service(ProxyService::CreateDirect()), + ssl_config_service(new SSLConfigServiceDefaults), + socket_factory(new MockClientSocketFactory), + deterministic_socket_factory(new DeterministicMockClientSocketFactory), + http_auth_handler_factory( + HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), + enable_ip_pooling(true), + enable_compression(false), + enable_ping(false), + enable_user_alternate_protocol_ports(false), + protocol(protocol), + stream_initial_recv_window_size(kSpdyStreamInitialWindowSize), + time_func(&base::TimeTicks::Now), + net_log(NULL) { + DCHECK(next_proto_is_spdy(protocol)) << "Invalid protocol: " << protocol; + + // Note: The CancelledTransaction test does cleanup by running all + // tasks in the message loop (RunAllPending). Unfortunately, that + // doesn't clean up tasks on the host resolver thread; and + // TCPConnectJob is currently not cancellable. Using synchronous + // lookups allows the test to shutdown cleanly. Until we have + // cancellable TCPConnectJobs, use synchronous lookups. + host_resolver->set_synchronous_mode(true); +} + +SpdySessionDependencies::SpdySessionDependencies( + NextProto protocol, ProxyService* proxy_service) + : host_resolver(new MockHostResolver), + cert_verifier(new MockCertVerifier), + proxy_service(proxy_service), + ssl_config_service(new SSLConfigServiceDefaults), + socket_factory(new MockClientSocketFactory), + deterministic_socket_factory(new DeterministicMockClientSocketFactory), + http_auth_handler_factory( + HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), + enable_ip_pooling(true), + enable_compression(false), + enable_ping(false), + enable_user_alternate_protocol_ports(false), + protocol(protocol), + stream_initial_recv_window_size(kSpdyStreamInitialWindowSize), + time_func(&base::TimeTicks::Now), + net_log(NULL) { + DCHECK(next_proto_is_spdy(protocol)) << "Invalid protocol: " << protocol; +} + +SpdySessionDependencies::~SpdySessionDependencies() {} + +// static +HttpNetworkSession* SpdySessionDependencies::SpdyCreateSession( + SpdySessionDependencies* session_deps) { + net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); + params.client_socket_factory = session_deps->socket_factory.get(); + HttpNetworkSession* http_session = new HttpNetworkSession(params); + SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); + pool_peer.EnableSendingInitialSettings(false); + return http_session; +} + +// static +HttpNetworkSession* SpdySessionDependencies::SpdyCreateSessionDeterministic( + SpdySessionDependencies* session_deps) { + net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); + params.client_socket_factory = + session_deps->deterministic_socket_factory.get(); + HttpNetworkSession* http_session = new HttpNetworkSession(params); + SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); + pool_peer.EnableSendingInitialSettings(false); + return http_session; +} + +// static +net::HttpNetworkSession::Params SpdySessionDependencies::CreateSessionParams( + SpdySessionDependencies* session_deps) { + DCHECK(next_proto_is_spdy(session_deps->protocol)) << + "Invalid protocol: " << session_deps->protocol; + + net::HttpNetworkSession::Params params; + params.host_resolver = session_deps->host_resolver.get(); + params.cert_verifier = session_deps->cert_verifier.get(); + params.proxy_service = session_deps->proxy_service.get(); + params.ssl_config_service = session_deps->ssl_config_service; + params.http_auth_handler_factory = + session_deps->http_auth_handler_factory.get(); + params.http_server_properties = &session_deps->http_server_properties; + params.enable_spdy_compression = session_deps->enable_compression; + params.enable_spdy_ping_based_connection_checking = session_deps->enable_ping; + params.enable_user_alternate_protocol_ports = + session_deps->enable_user_alternate_protocol_ports; + params.spdy_default_protocol = session_deps->protocol; + params.spdy_stream_initial_recv_window_size = + session_deps->stream_initial_recv_window_size; + params.time_func = session_deps->time_func; + params.trusted_spdy_proxy = session_deps->trusted_spdy_proxy; + params.net_log = session_deps->net_log; + return params; +} + +SpdyURLRequestContext::SpdyURLRequestContext(NextProto protocol) + : storage_(this) { + DCHECK(next_proto_is_spdy(protocol)) << "Invalid protocol: " << protocol; + + storage_.set_host_resolver(scoped_ptr<HostResolver>(new MockHostResolver)); + storage_.set_cert_verifier(new MockCertVerifier); + storage_.set_proxy_service(ProxyService::CreateDirect()); + storage_.set_ssl_config_service(new SSLConfigServiceDefaults); + storage_.set_http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault( + host_resolver())); + storage_.set_http_server_properties(new HttpServerPropertiesImpl); + net::HttpNetworkSession::Params params; + params.client_socket_factory = &socket_factory_; + params.host_resolver = host_resolver(); + params.cert_verifier = cert_verifier(); + params.proxy_service = proxy_service(); + params.ssl_config_service = ssl_config_service(); + params.http_auth_handler_factory = http_auth_handler_factory(); + params.network_delegate = network_delegate(); + params.enable_spdy_compression = false; + params.enable_spdy_ping_based_connection_checking = false; + params.spdy_default_protocol = protocol; + params.http_server_properties = http_server_properties(); + scoped_refptr<HttpNetworkSession> network_session( + new HttpNetworkSession(params)); + SpdySessionPoolPeer pool_peer(network_session->spdy_session_pool()); + pool_peer.EnableSendingInitialSettings(false); + storage_.set_http_transaction_factory(new HttpCache( + network_session, + HttpCache::DefaultBackend::InMemory(0))); +} + +SpdyURLRequestContext::~SpdyURLRequestContext() { +} + +SpdySessionPoolPeer::SpdySessionPoolPeer(SpdySessionPool* pool) : pool_(pool) { +} + +void SpdySessionPoolPeer::AddAlias( + const IPEndPoint& address, + const HostPortProxyPair& pair) { + pool_->AddAlias(address, pair); +} + +void SpdySessionPoolPeer::RemoveAliases(const HostPortProxyPair& pair) { + pool_->RemoveAliases(pair); +} + +void SpdySessionPoolPeer::RemoveSpdySession( + const scoped_refptr<SpdySession>& session) { + pool_->Remove(session); +} + +void SpdySessionPoolPeer::DisableDomainAuthenticationVerification() { + pool_->verify_domain_authentication_ = false; +} + +void SpdySessionPoolPeer::EnableSendingInitialSettings(bool enabled) { + pool_->enable_sending_initial_settings_ = enabled; +} + } // namespace net diff --git a/net/spdy/spdy_test_util_common.h b/net/spdy/spdy_test_util_common.h index 535023c..965a19e 100644 --- a/net/spdy/spdy_test_util_common.h +++ b/net/spdy/spdy_test_util_common.h @@ -6,11 +6,24 @@ #define NET_SPDY_SPDY_TEST_UTIL_COMMON_H_ #include "base/memory/ref_counted.h" +#include "crypto/ec_private_key.h" +#include "crypto/ec_signature_creator.h" #include "net/base/completion_callback.h" #include "net/base/request_priority.h" #include "net/base/test_completion_callback.h" +#include "net/cert/cert_verifier.h" +#include "net/dns/mock_host_resolver.h" +#include "net/http/http_auth_handler_factory.h" +#include "net/http/http_network_session.h" +#include "net/http/http_server_properties_impl.h" +#include "net/proxy/proxy_service.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/spdy/spdy_protocol.h" +#include "net/ssl/ssl_config_service_defaults.h" +#include "net/url_request/url_request_context.h" +#include "net/url_request/url_request_context_storage.h" +#include "testing/gtest/include/gtest/gtest.h" class GURL; @@ -160,6 +173,104 @@ struct SpdyHeaderInfo { SpdyDataFlags data_flags; }; +// An ECSignatureCreator that returns deterministic signatures. +class MockECSignatureCreator : public crypto::ECSignatureCreator { + public: + explicit MockECSignatureCreator(crypto::ECPrivateKey* key); + + // crypto::ECSignatureCreator + virtual bool Sign(const uint8* data, + int data_len, + std::vector<uint8>* signature) OVERRIDE; + virtual bool DecodeSignature(const std::vector<uint8>& signature, + std::vector<uint8>* out_raw_sig) OVERRIDE; + + private: + crypto::ECPrivateKey* key_; + + DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreator); +}; + +// An ECSignatureCreatorFactory creates MockECSignatureCreator. +class MockECSignatureCreatorFactory : public crypto::ECSignatureCreatorFactory { + public: + MockECSignatureCreatorFactory(); + virtual ~MockECSignatureCreatorFactory(); + + // crypto::ECSignatureCreatorFactory + virtual crypto::ECSignatureCreator* Create( + crypto::ECPrivateKey* key) OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreatorFactory); +}; + +// Helper to manage the lifetimes of the dependencies for a +// HttpNetworkTransaction. +struct SpdySessionDependencies { + // Default set of dependencies -- "null" proxy service. + explicit SpdySessionDependencies(NextProto protocol); + + // Custom proxy service dependency. + SpdySessionDependencies(NextProto protocol, ProxyService* proxy_service); + + ~SpdySessionDependencies(); + + static HttpNetworkSession* SpdyCreateSession( + SpdySessionDependencies* session_deps); + static HttpNetworkSession* SpdyCreateSessionDeterministic( + SpdySessionDependencies* session_deps); + static HttpNetworkSession::Params CreateSessionParams( + SpdySessionDependencies* session_deps); + + // NOTE: host_resolver must be ordered before http_auth_handler_factory. + scoped_ptr<MockHostResolverBase> host_resolver; + scoped_ptr<CertVerifier> cert_verifier; + scoped_ptr<ProxyService> proxy_service; + scoped_refptr<SSLConfigService> ssl_config_service; + scoped_ptr<MockClientSocketFactory> socket_factory; + scoped_ptr<DeterministicMockClientSocketFactory> deterministic_socket_factory; + scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; + HttpServerPropertiesImpl http_server_properties; + bool enable_ip_pooling; + bool enable_compression; + bool enable_ping; + bool enable_user_alternate_protocol_ports; + NextProto protocol; + size_t stream_initial_recv_window_size; + SpdySession::TimeFunc time_func; + std::string trusted_spdy_proxy; + NetLog* net_log; +}; + +class SpdyURLRequestContext : public URLRequestContext { + public: + explicit SpdyURLRequestContext(NextProto protocol); + virtual ~SpdyURLRequestContext(); + + MockClientSocketFactory& socket_factory() { return socket_factory_; } + + private: + MockClientSocketFactory socket_factory_; + net::URLRequestContextStorage storage_; +}; + +class SpdySessionPoolPeer { + public: + explicit SpdySessionPoolPeer(SpdySessionPool* pool);;;; + + void AddAlias(const IPEndPoint& address, const HostPortProxyPair& pair); + void RemoveAliases(const HostPortProxyPair& pair); + void RemoveSpdySession(const scoped_refptr<SpdySession>& session); + void DisableDomainAuthenticationVerification(); + void EnableSendingInitialSettings(bool enabled); + + private: + SpdySessionPool* const pool_; + + DISALLOW_COPY_AND_ASSIGN(SpdySessionPoolPeer); +}; + } // namespace net #endif // NET_SPDY_SPDY_TEST_UTIL_COMMON_H_ diff --git a/net/spdy/spdy_test_util_spdy2.cc b/net/spdy/spdy_test_util_spdy2.cc index 5d88f63..d5770a7 100644 --- a/net/spdy/spdy_test_util_spdy2.cc +++ b/net/spdy/spdy_test_util_spdy2.cc @@ -630,127 +630,6 @@ int ConstructSpdyReplyString(const char* const extra_headers[], return frame_size; } -SpdySessionDependencies::SpdySessionDependencies() - : host_resolver(new MockCachingHostResolver), - cert_verifier(new MockCertVerifier), - proxy_service(ProxyService::CreateDirect()), - ssl_config_service(new SSLConfigServiceDefaults), - socket_factory(new MockClientSocketFactory), - deterministic_socket_factory(new DeterministicMockClientSocketFactory), - http_auth_handler_factory( - HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), - enable_ip_pooling(true), - enable_compression(false), - enable_ping(false), - enable_user_alternate_protocol_ports(false), - time_func(&base::TimeTicks::Now), - net_log(NULL) { - // Note: The CancelledTransaction test does cleanup by running all - // tasks in the message loop (RunAllPending). Unfortunately, that - // doesn't clean up tasks on the host resolver thread; and - // TCPConnectJob is currently not cancellable. Using synchronous - // lookups allows the test to shutdown cleanly. Until we have - // cancellable TCPConnectJobs, use synchronous lookups. - host_resolver->set_synchronous_mode(true); -} - -SpdySessionDependencies::SpdySessionDependencies(ProxyService* proxy_service) - : host_resolver(new MockHostResolver), - cert_verifier(new MockCertVerifier), - proxy_service(proxy_service), - ssl_config_service(new SSLConfigServiceDefaults), - socket_factory(new MockClientSocketFactory), - deterministic_socket_factory(new DeterministicMockClientSocketFactory), - http_auth_handler_factory( - HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), - enable_ip_pooling(true), - enable_compression(false), - enable_ping(false), - enable_user_alternate_protocol_ports(false), - time_func(&base::TimeTicks::Now), - net_log(NULL) {} - -SpdySessionDependencies::~SpdySessionDependencies() {} - -// static -HttpNetworkSession* SpdySessionDependencies::SpdyCreateSession( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); - params.client_socket_factory = session_deps->socket_factory.get(); - HttpNetworkSession* http_session = new HttpNetworkSession(params); - SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - return http_session; -} - -// static -HttpNetworkSession* SpdySessionDependencies::SpdyCreateSessionDeterministic( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); - params.client_socket_factory = - session_deps->deterministic_socket_factory.get(); - HttpNetworkSession* http_session = new HttpNetworkSession(params); - SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - return http_session; -} - -// static -net::HttpNetworkSession::Params SpdySessionDependencies::CreateSessionParams( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params; - params.host_resolver = session_deps->host_resolver.get(); - params.cert_verifier = session_deps->cert_verifier.get(); - params.proxy_service = session_deps->proxy_service.get(); - params.ssl_config_service = session_deps->ssl_config_service; - params.http_auth_handler_factory = - session_deps->http_auth_handler_factory.get(); - params.http_server_properties = &session_deps->http_server_properties; - params.enable_spdy_ip_pooling = session_deps->enable_ip_pooling; - params.enable_spdy_compression = session_deps->enable_compression; - params.enable_spdy_ping_based_connection_checking = session_deps->enable_ping; - params.enable_user_alternate_protocol_ports = - session_deps->enable_user_alternate_protocol_ports; - params.spdy_default_protocol = kProtoSPDY2; - params.time_func = session_deps->time_func; - params.trusted_spdy_proxy = session_deps->trusted_spdy_proxy; - params.net_log = session_deps->net_log; - return params; -} - -SpdyURLRequestContext::SpdyURLRequestContext() - : storage_(this) { - storage_.set_host_resolver(scoped_ptr<HostResolver>(new MockHostResolver)); - storage_.set_cert_verifier(new MockCertVerifier); - storage_.set_proxy_service(ProxyService::CreateDirect()); - storage_.set_ssl_config_service(new SSLConfigServiceDefaults); - storage_.set_http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault( - host_resolver())); - storage_.set_http_server_properties(new HttpServerPropertiesImpl); - net::HttpNetworkSession::Params params; - params.client_socket_factory = &socket_factory_; - params.host_resolver = host_resolver(); - params.cert_verifier = cert_verifier(); - params.proxy_service = proxy_service(); - params.ssl_config_service = ssl_config_service(); - params.http_auth_handler_factory = http_auth_handler_factory(); - params.network_delegate = network_delegate(); - params.enable_spdy_compression = false; - params.enable_spdy_ping_based_connection_checking = false; - params.spdy_default_protocol = kProtoSPDY2; - params.http_server_properties = http_server_properties(); - scoped_refptr<HttpNetworkSession> network_session( - new HttpNetworkSession(params)); - SpdySessionPoolPeer pool_peer(network_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - storage_.set_http_transaction_factory(new HttpCache( - network_session, - HttpCache::DefaultBackend::InMemory(0))); -} - -SpdyURLRequestContext::~SpdyURLRequestContext() { -} - const SpdyHeaderInfo MakeSpdyHeader(SpdyFrameType type) { const SpdyHeaderInfo kHeader = { type, // Kind = Syn diff --git a/net/spdy/spdy_test_util_spdy2.h b/net/spdy/spdy_test_util_spdy2.h index a27531e..8893c79 100644 --- a/net/spdy/spdy_test_util_spdy2.h +++ b/net/spdy/spdy_test_util_spdy2.h @@ -10,21 +10,12 @@ #include "base/strings/string_piece.h" #include "net/base/host_port_pair.h" #include "net/base/request_priority.h" -#include "net/cert/cert_verifier.h" -#include "net/dns/mock_host_resolver.h" -#include "net/http/http_auth_handler_factory.h" #include "net/http/http_cache.h" #include "net/http/http_network_layer.h" -#include "net/http/http_network_session.h" -#include "net/http/http_server_properties_impl.h" #include "net/http/http_transaction_factory.h" -#include "net/proxy/proxy_service.h" #include "net/socket/socket_test_util.h" #include "net/spdy/spdy_session.h" #include "net/spdy/spdy_test_util_common.h" -#include "net/ssl/ssl_config_service_defaults.h" -#include "net/url_request/url_request_context.h" -#include "net/url_request/url_request_context_storage.h" namespace net { @@ -251,87 +242,8 @@ SpdyFrame* ConstructSpdyBodyFrame(int stream_id, const char* data, SpdyFrame* ConstructWrappedSpdyFrame(const scoped_ptr<SpdyFrame>& frame, int stream_id); -// Helper to manage the lifetimes of the dependencies for a -// HttpNetworkTransaction. -struct SpdySessionDependencies { - // Default set of dependencies -- "null" proxy service. - SpdySessionDependencies(); - - // Custom proxy service dependency. - explicit SpdySessionDependencies(ProxyService* proxy_service); - - ~SpdySessionDependencies(); - - static HttpNetworkSession* SpdyCreateSession( - SpdySessionDependencies* session_deps); - static HttpNetworkSession* SpdyCreateSessionDeterministic( - SpdySessionDependencies* session_deps); - static HttpNetworkSession::Params CreateSessionParams( - SpdySessionDependencies* session_deps); - - // NOTE: host_resolver must be ordered before http_auth_handler_factory. - scoped_ptr<MockHostResolverBase> host_resolver; - scoped_ptr<CertVerifier> cert_verifier; - scoped_ptr<ProxyService> proxy_service; - scoped_refptr<SSLConfigService> ssl_config_service; - scoped_ptr<MockClientSocketFactory> socket_factory; - scoped_ptr<DeterministicMockClientSocketFactory> deterministic_socket_factory; - scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; - HttpServerPropertiesImpl http_server_properties; - bool enable_ip_pooling; - bool enable_compression; - bool enable_ping; - bool enable_user_alternate_protocol_ports; - SpdySession::TimeFunc time_func; - std::string trusted_spdy_proxy; - NetLog* net_log; -}; - -class SpdyURLRequestContext : public URLRequestContext { - public: - SpdyURLRequestContext(); - virtual ~SpdyURLRequestContext(); - - MockClientSocketFactory& socket_factory() { return socket_factory_; } - - private: - MockClientSocketFactory socket_factory_; - net::URLRequestContextStorage storage_; -}; - const SpdyHeaderInfo MakeSpdyHeader(SpdyFrameType type); -class SpdySessionPoolPeer { - public: - explicit SpdySessionPoolPeer(SpdySessionPool* pool) - : pool_(pool) {} - - void AddAlias(const IPEndPoint& address, const HostPortProxyPair& pair) { - pool_->AddAlias(address, pair); - } - - void RemoveAliases(const HostPortProxyPair& pair) { - pool_->RemoveAliases(pair); - } - - void RemoveSpdySession(const scoped_refptr<SpdySession>& session) { - pool_->Remove(session); - } - - void DisableDomainAuthenticationVerification() { - pool_->verify_domain_authentication_ = false; - } - - void EnableSendingInitialSettings(bool enabled) { - pool_->enable_sending_initial_settings_ = enabled; - } - - private: - SpdySessionPool* const pool_; - - DISALLOW_COPY_AND_ASSIGN(SpdySessionPoolPeer); -}; - } // namespace test_spdy2 } // namespace net diff --git a/net/spdy/spdy_test_util_spdy3.cc b/net/spdy/spdy_test_util_spdy3.cc index 9be52af..de93f16 100644 --- a/net/spdy/spdy_test_util_spdy3.cc +++ b/net/spdy/spdy_test_util_spdy3.cc @@ -12,9 +12,6 @@ #include "base/string_number_conversions.h" #include "base/string_util.h" #include "net/cert/mock_cert_verifier.h" -#include "net/http/http_network_session.h" -#include "net/http/http_network_transaction.h" -#include "net/http/http_server_properties_impl.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_session.h" @@ -43,48 +40,6 @@ void ParseUrl(const char* const url, std::string* scheme, std::string* host, } // namespace -MockECSignatureCreator::MockECSignatureCreator(crypto::ECPrivateKey* key) - : key_(key) { -} - -bool MockECSignatureCreator::Sign(const uint8* data, - int data_len, - std::vector<uint8>* signature) { - std::vector<uint8> private_key_value; - key_->ExportValue(&private_key_value); - std::string head = "fakesignature"; - std::string tail = "/fakesignature"; - - signature->clear(); - signature->insert(signature->end(), head.begin(), head.end()); - signature->insert(signature->end(), private_key_value.begin(), - private_key_value.end()); - signature->insert(signature->end(), '-'); - signature->insert(signature->end(), data, data + data_len); - signature->insert(signature->end(), tail.begin(), tail.end()); - return true; -} - -bool MockECSignatureCreator::DecodeSignature( - const std::vector<uint8>& signature, - std::vector<uint8>* out_raw_sig) { - *out_raw_sig = signature; - return true; -} - -MockECSignatureCreatorFactory::MockECSignatureCreatorFactory() { - crypto::ECSignatureCreator::SetFactoryForTesting(this); -} - -MockECSignatureCreatorFactory::~MockECSignatureCreatorFactory() { - crypto::ECSignatureCreator::SetFactoryForTesting(NULL); -} - -crypto::ECSignatureCreator* MockECSignatureCreatorFactory::Create( - crypto::ECPrivateKey* key) { - return new MockECSignatureCreator(key); -} - scoped_ptr<SpdyHeaderBlock> ConstructGetHeaderBlock(base::StringPiece url) { std::string scheme, host, path; ParseUrl(url.data(), &scheme, &host, &path); @@ -731,136 +686,6 @@ int ConstructSpdyReplyString(const char* const extra_headers[], return frame_size; } -SpdySessionDependencies::SpdySessionDependencies() - : host_resolver(new MockCachingHostResolver), - cert_verifier(new MockCertVerifier), - proxy_service(ProxyService::CreateDirect()), - ssl_config_service(new SSLConfigServiceDefaults), - socket_factory(new MockClientSocketFactory), - deterministic_socket_factory(new DeterministicMockClientSocketFactory), - http_auth_handler_factory( - HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), - enable_ip_pooling(true), - enable_compression(false), - enable_ping(false), - enable_user_alternate_protocol_ports(false), - enable_spdy_31(false), - enable_spdy_4(false), - stream_initial_recv_window_size(kSpdyStreamInitialWindowSize), - time_func(&base::TimeTicks::Now), - net_log(NULL) { - // Note: The CancelledTransaction test does cleanup by running all - // tasks in the message loop (RunAllPending). Unfortunately, that - // doesn't clean up tasks on the host resolver thread; and - // TCPConnectJob is currently not cancellable. Using synchronous - // lookups allows the test to shutdown cleanly. Until we have - // cancellable TCPConnectJobs, use synchronous lookups. - host_resolver->set_synchronous_mode(true); -} - -SpdySessionDependencies::SpdySessionDependencies(ProxyService* proxy_service) - : host_resolver(new MockHostResolver), - cert_verifier(new MockCertVerifier), - proxy_service(proxy_service), - ssl_config_service(new SSLConfigServiceDefaults), - socket_factory(new MockClientSocketFactory), - deterministic_socket_factory(new DeterministicMockClientSocketFactory), - http_auth_handler_factory( - HttpAuthHandlerFactory::CreateDefault(host_resolver.get())), - enable_ip_pooling(true), - enable_compression(false), - enable_ping(false), - enable_user_alternate_protocol_ports(false), - enable_spdy_31(false), - enable_spdy_4(false), - stream_initial_recv_window_size(kSpdyStreamInitialWindowSize), - time_func(&base::TimeTicks::Now), - net_log(NULL) {} - -SpdySessionDependencies::~SpdySessionDependencies() {} - -// static -HttpNetworkSession* SpdySessionDependencies::SpdyCreateSession( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); - params.client_socket_factory = session_deps->socket_factory.get(); - HttpNetworkSession* http_session = new HttpNetworkSession(params); - SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - return http_session; -} - -// static -HttpNetworkSession* SpdySessionDependencies::SpdyCreateSessionDeterministic( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params = CreateSessionParams(session_deps); - params.client_socket_factory = - session_deps->deterministic_socket_factory.get(); - HttpNetworkSession* http_session = new HttpNetworkSession(params); - SpdySessionPoolPeer pool_peer(http_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - return http_session; -} - -// static -net::HttpNetworkSession::Params SpdySessionDependencies::CreateSessionParams( - SpdySessionDependencies* session_deps) { - net::HttpNetworkSession::Params params; - params.host_resolver = session_deps->host_resolver.get(); - params.cert_verifier = session_deps->cert_verifier.get(); - params.proxy_service = session_deps->proxy_service.get(); - params.ssl_config_service = session_deps->ssl_config_service; - params.http_auth_handler_factory = - session_deps->http_auth_handler_factory.get(); - params.http_server_properties = &session_deps->http_server_properties; - params.enable_spdy_compression = session_deps->enable_compression; - params.enable_spdy_ping_based_connection_checking = session_deps->enable_ping; - params.enable_user_alternate_protocol_ports = - session_deps->enable_user_alternate_protocol_ports; - params.spdy_default_protocol = - session_deps->enable_spdy_4 ? kProtoSPDY4a1 : - session_deps->enable_spdy_31 ? kProtoSPDY31 : kProtoSPDY3; - params.spdy_stream_initial_recv_window_size = - session_deps->stream_initial_recv_window_size; - params.time_func = session_deps->time_func; - params.trusted_spdy_proxy = session_deps->trusted_spdy_proxy; - params.net_log = session_deps->net_log; - return params; -} - -SpdyURLRequestContext::SpdyURLRequestContext() - : storage_(this) { - storage_.set_host_resolver(scoped_ptr<HostResolver>(new MockHostResolver)); - storage_.set_cert_verifier(new MockCertVerifier); - storage_.set_proxy_service(ProxyService::CreateDirect()); - storage_.set_ssl_config_service(new SSLConfigServiceDefaults); - storage_.set_http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault( - host_resolver())); - storage_.set_http_server_properties(new HttpServerPropertiesImpl); - net::HttpNetworkSession::Params params; - params.client_socket_factory = &socket_factory_; - params.host_resolver = host_resolver(); - params.cert_verifier = cert_verifier(); - params.proxy_service = proxy_service(); - params.ssl_config_service = ssl_config_service(); - params.http_auth_handler_factory = http_auth_handler_factory(); - params.network_delegate = network_delegate(); - params.enable_spdy_compression = false; - params.enable_spdy_ping_based_connection_checking = false; - params.spdy_default_protocol = kProtoSPDY3; - params.http_server_properties = http_server_properties(); - scoped_refptr<HttpNetworkSession> network_session( - new HttpNetworkSession(params)); - SpdySessionPoolPeer pool_peer(network_session->spdy_session_pool()); - pool_peer.EnableSendingInitialSettings(false); - storage_.set_http_transaction_factory(new HttpCache( - network_session, - HttpCache::DefaultBackend::InMemory(0))); -} - -SpdyURLRequestContext::~SpdyURLRequestContext() { -} - const SpdyHeaderInfo MakeSpdyHeader(SpdyFrameType type) { const SpdyHeaderInfo kHeader = { type, // Kind = Syn diff --git a/net/spdy/spdy_test_util_spdy3.h b/net/spdy/spdy_test_util_spdy3.h index 9d9fbc5..9d0278d 100644 --- a/net/spdy/spdy_test_util_spdy3.h +++ b/net/spdy/spdy_test_util_spdy3.h @@ -8,25 +8,14 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "base/strings/string_piece.h" -#include "crypto/ec_private_key.h" -#include "crypto/ec_signature_creator.h" #include "net/base/host_port_pair.h" #include "net/base/request_priority.h" -#include "net/cert/cert_verifier.h" -#include "net/dns/mock_host_resolver.h" -#include "net/http/http_auth_handler_factory.h" #include "net/http/http_cache.h" #include "net/http/http_network_layer.h" -#include "net/http/http_network_session.h" -#include "net/http/http_server_properties_impl.h" #include "net/http/http_transaction_factory.h" -#include "net/proxy/proxy_service.h" #include "net/socket/socket_test_util.h" #include "net/spdy/spdy_session.h" #include "net/spdy/spdy_test_util_common.h" -#include "net/ssl/ssl_config_service_defaults.h" -#include "net/url_request/url_request_context.h" -#include "net/url_request/url_request_context_storage.h" namespace crypto { class ECSignatureCreatorFactory; @@ -36,38 +25,6 @@ namespace net { namespace test_spdy3 { -// An ECSignatureCreator that returns deterministic signatures. -class MockECSignatureCreator : public crypto::ECSignatureCreator { - public: - explicit MockECSignatureCreator(crypto::ECPrivateKey* key); - - // crypto::ECSignatureCreator - virtual bool Sign(const uint8* data, - int data_len, - std::vector<uint8>* signature) OVERRIDE; - virtual bool DecodeSignature(const std::vector<uint8>& signature, - std::vector<uint8>* out_raw_sig) OVERRIDE; - - private: - crypto::ECPrivateKey* key_; - - DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreator); -}; - -// An ECSignatureCreatorFactory creates MockECSignatureCreator. -class MockECSignatureCreatorFactory : public crypto::ECSignatureCreatorFactory { - public: - MockECSignatureCreatorFactory(); - virtual ~MockECSignatureCreatorFactory(); - - // crypto::ECSignatureCreatorFactory - virtual crypto::ECSignatureCreator* Create( - crypto::ECPrivateKey* key) OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreatorFactory); -}; - // Constructs a HeaderBlock for the given URL. scoped_ptr<SpdyHeaderBlock> ConstructGetHeaderBlock(base::StringPiece url); @@ -344,90 +301,8 @@ SpdyFrame* ConstructSpdyBodyFrame(int stream_id, const char* data, SpdyFrame* ConstructWrappedSpdyFrame(const scoped_ptr<SpdyFrame>& frame, int stream_id); -// Helper to manage the lifetimes of the dependencies for a -// HttpNetworkTransaction. -struct SpdySessionDependencies { - // Default set of dependencies -- "null" proxy service. - SpdySessionDependencies(); - - // Custom proxy service dependency. - explicit SpdySessionDependencies(ProxyService* proxy_service); - - ~SpdySessionDependencies(); - - static HttpNetworkSession* SpdyCreateSession( - SpdySessionDependencies* session_deps); - static HttpNetworkSession* SpdyCreateSessionDeterministic( - SpdySessionDependencies* session_deps); - static HttpNetworkSession::Params CreateSessionParams( - SpdySessionDependencies* session_deps); - - // NOTE: host_resolver must be ordered before http_auth_handler_factory. - scoped_ptr<MockHostResolverBase> host_resolver; - scoped_ptr<CertVerifier> cert_verifier; - scoped_ptr<ProxyService> proxy_service; - scoped_refptr<SSLConfigService> ssl_config_service; - scoped_ptr<MockClientSocketFactory> socket_factory; - scoped_ptr<DeterministicMockClientSocketFactory> deterministic_socket_factory; - scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; - HttpServerPropertiesImpl http_server_properties; - bool enable_ip_pooling; - bool enable_compression; - bool enable_ping; - bool enable_user_alternate_protocol_ports; - bool enable_spdy_31; - bool enable_spdy_4; - size_t stream_initial_recv_window_size; - SpdySession::TimeFunc time_func; - std::string trusted_spdy_proxy; - NetLog* net_log; -}; - -class SpdyURLRequestContext : public URLRequestContext { - public: - SpdyURLRequestContext(); - virtual ~SpdyURLRequestContext(); - - MockClientSocketFactory& socket_factory() { return socket_factory_; } - - private: - MockClientSocketFactory socket_factory_; - net::URLRequestContextStorage storage_; -}; - const SpdyHeaderInfo MakeSpdyHeader(SpdyFrameType type); -class SpdySessionPoolPeer { - public: - explicit SpdySessionPoolPeer(SpdySessionPool* pool) - : pool_(pool) {} - - void AddAlias(const IPEndPoint& address, const HostPortProxyPair& pair) { - pool_->AddAlias(address, pair); - } - - void RemoveAliases(const HostPortProxyPair& pair) { - pool_->RemoveAliases(pair); - } - - void RemoveSpdySession(const scoped_refptr<SpdySession>& session) { - pool_->Remove(session); - } - - void DisableDomainAuthenticationVerification() { - pool_->verify_domain_authentication_ = false; - } - - void EnableSendingInitialSettings(bool enabled) { - pool_->enable_sending_initial_settings_ = enabled; - } - - private: - SpdySessionPool* const pool_; - - DISALLOW_COPY_AND_ASSIGN(SpdySessionPoolPeer); -}; - } // namespace test_spdy3 } // namespace net diff --git a/net/spdy/spdy_websocket_stream_spdy2_unittest.cc b/net/spdy/spdy_websocket_stream_spdy2_unittest.cc index 695359f..ad49e5b0 100644 --- a/net/spdy/spdy_websocket_stream_spdy2_unittest.cc +++ b/net/spdy/spdy_websocket_stream_spdy2_unittest.cc @@ -11,6 +11,7 @@ #include "base/bind_helpers.h" #include "net/base/completion_callback.h" #include "net/proxy/proxy_server.h" +#include "net/socket/next_proto.h" #include "net/socket/ssl_client_socket.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_protocol.h" @@ -187,7 +188,7 @@ class SpdyWebSocketStreamSpdy2Test : public testing::Test { } protected: - SpdyWebSocketStreamSpdy2Test() {} + SpdyWebSocketStreamSpdy2Test() : session_deps_(kProtoSPDY2) {} virtual ~SpdyWebSocketStreamSpdy2Test() {} virtual void SetUp() { diff --git a/net/spdy/spdy_websocket_stream_spdy3_unittest.cc b/net/spdy/spdy_websocket_stream_spdy3_unittest.cc index 5b30a43..4b8bc26 100644 --- a/net/spdy/spdy_websocket_stream_spdy3_unittest.cc +++ b/net/spdy/spdy_websocket_stream_spdy3_unittest.cc @@ -11,6 +11,7 @@ #include "base/bind_helpers.h" #include "net/base/completion_callback.h" #include "net/proxy/proxy_server.h" +#include "net/socket/next_proto.h" #include "net/socket/ssl_client_socket.h" #include "net/spdy/spdy_http_utils.h" #include "net/spdy/spdy_protocol.h" @@ -187,7 +188,7 @@ class SpdyWebSocketStreamSpdy3Test : public testing::Test { } protected: - SpdyWebSocketStreamSpdy3Test() {} + SpdyWebSocketStreamSpdy3Test() : session_deps_(kProtoSPDY3) {} virtual ~SpdyWebSocketStreamSpdy3Test() {} virtual void SetUp() { diff --git a/net/websockets/websocket_job_spdy2_unittest.cc b/net/websockets/websocket_job_spdy2_unittest.cc index 5c46f57..24ca098 100644 --- a/net/websockets/websocket_job_spdy2_unittest.cc +++ b/net/websockets/websocket_job_spdy2_unittest.cc @@ -23,6 +23,7 @@ #include "net/http/http_transaction_factory.h" #include "net/http/transport_security_state.h" #include "net/proxy/proxy_service.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket_stream/socket_stream.h" #include "net/spdy/spdy_session.h" @@ -263,10 +264,10 @@ class MockHttpTransactionFactory : public net::HttpTransactionFactory { data_ = data; net::MockConnect connect_data(net::SYNCHRONOUS, net::OK); data_->set_connect_data(connect_data); - session_deps_.reset(new SpdySessionDependencies); + session_deps_.reset(new net::SpdySessionDependencies(net::kProtoSPDY2)); session_deps_->socket_factory->AddSocketDataProvider(data_); http_session_ = - SpdySessionDependencies::SpdyCreateSession(session_deps_.get()); + net::SpdySessionDependencies::SpdyCreateSession(session_deps_.get()); host_port_pair_.set_host("example.com"); host_port_pair_.set_port(80); host_port_proxy_pair_.first = host_port_pair_; @@ -315,13 +316,14 @@ class MockHttpTransactionFactory : public net::HttpTransactionFactory { private: net::OrderedSocketData* data_; - scoped_ptr<SpdySessionDependencies> session_deps_; + scoped_ptr<net::SpdySessionDependencies> session_deps_; scoped_refptr<net::HttpNetworkSession> http_session_; scoped_refptr<net::TransportSocketParams> transport_params_; scoped_refptr<net::SpdySession> session_; net::HostPortPair host_port_pair_; net::HostPortProxyPair host_port_proxy_pair_; }; + } // namespace namespace net { @@ -1091,5 +1093,4 @@ TEST_F(WebSocketJobSpdy2Test, ThrottlingSpdySpdyEnabled) { // TODO(toyoshim): Add tests to verify throttling, SPDY stream limitation. // TODO(toyoshim,yutak): Add tests to verify closing handshake. - } // namespace net diff --git a/net/websockets/websocket_job_spdy3_unittest.cc b/net/websockets/websocket_job_spdy3_unittest.cc index 1cf7573..ec64c3f 100644 --- a/net/websockets/websocket_job_spdy3_unittest.cc +++ b/net/websockets/websocket_job_spdy3_unittest.cc @@ -23,6 +23,7 @@ #include "net/http/http_transaction_factory.h" #include "net/http/transport_security_state.h" #include "net/proxy/proxy_service.h" +#include "net/socket/next_proto.h" #include "net/socket/socket_test_util.h" #include "net/socket_stream/socket_stream.h" #include "net/spdy/spdy_session.h" @@ -267,10 +268,10 @@ class MockHttpTransactionFactory : public net::HttpTransactionFactory { data_ = data; net::MockConnect connect_data(net::SYNCHRONOUS, net::OK); data_->set_connect_data(connect_data); - session_deps_.reset(new SpdySessionDependencies); + session_deps_.reset(new net::SpdySessionDependencies(net::kProtoSPDY3)); session_deps_->socket_factory->AddSocketDataProvider(data_); http_session_ = - SpdySessionDependencies::SpdyCreateSession(session_deps_.get()); + net::SpdySessionDependencies::SpdyCreateSession(session_deps_.get()); host_port_pair_.set_host("example.com"); host_port_pair_.set_port(80); host_port_proxy_pair_.first = host_port_pair_; @@ -315,13 +316,14 @@ class MockHttpTransactionFactory : public net::HttpTransactionFactory { } private: net::OrderedSocketData* data_; - scoped_ptr<SpdySessionDependencies> session_deps_; + scoped_ptr<net::SpdySessionDependencies> session_deps_; scoped_refptr<net::HttpNetworkSession> http_session_; scoped_refptr<net::TransportSocketParams> transport_params_; scoped_refptr<net::SpdySession> session_; net::HostPortPair host_port_pair_; net::HostPortProxyPair host_port_proxy_pair_; }; + } // namespace namespace net { @@ -1091,5 +1093,4 @@ TEST_F(WebSocketJobSpdy3Test, ThrottlingSpdySpdyEnabled) { // TODO(toyoshim): Add tests to verify throttling, SPDY stream limitation. // TODO(toyoshim,yutak): Add tests to verify closing handshake. - } // namespace net |