OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/http/http_stream_factory_impl.h" | 5 #include "net/http/http_stream_factory_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1104 HttpNetworkSession::WEBSOCKET_SOCKET_POOL, | 1104 HttpNetworkSession::WEBSOCKET_SOCKET_POOL, |
1105 HostPortPair("myproxy", 8888)))); | 1105 HostPortPair("myproxy", 8888)))); |
1106 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); | 1106 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); |
1107 } | 1107 } |
1108 | 1108 |
1109 TEST_P(HttpStreamFactoryTest, RequestSpdyHttpStream) { | 1109 TEST_P(HttpStreamFactoryTest, RequestSpdyHttpStream) { |
1110 SpdySessionDependencies session_deps(GetParam(), | 1110 SpdySessionDependencies session_deps(GetParam(), |
1111 ProxyService::CreateDirect()); | 1111 ProxyService::CreateDirect()); |
1112 | 1112 |
1113 MockRead mock_read(ASYNC, OK); | 1113 MockRead mock_read(ASYNC, OK); |
1114 DeterministicSocketData socket_data(&mock_read, 1, nullptr, 0); | 1114 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); |
1115 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1115 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
1116 session_deps.deterministic_socket_factory->AddSocketDataProvider( | 1116 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
1117 &socket_data); | |
1118 | 1117 |
1119 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1118 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
1120 ssl_socket_data.SetNextProto(GetParam()); | 1119 ssl_socket_data.SetNextProto(GetParam()); |
1121 session_deps.deterministic_socket_factory->AddSSLSocketDataProvider( | 1120 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
1122 &ssl_socket_data); | |
1123 | 1121 |
1124 HostPortPair host_port_pair("www.google.com", 443); | 1122 HostPortPair host_port_pair("www.google.com", 443); |
1125 scoped_refptr<HttpNetworkSession> | 1123 scoped_refptr<HttpNetworkSession> session( |
1126 session(SpdySessionDependencies::SpdyCreateSessionDeterministic( | 1124 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
1127 &session_deps)); | |
1128 | 1125 |
1129 // Now request a stream. | 1126 // Now request a stream. |
1130 HttpRequestInfo request_info; | 1127 HttpRequestInfo request_info; |
1131 request_info.method = "GET"; | 1128 request_info.method = "GET"; |
1132 request_info.url = GURL("https://www.google.com"); | 1129 request_info.url = GURL("https://www.google.com"); |
1133 request_info.load_flags = 0; | 1130 request_info.load_flags = 0; |
1134 | 1131 |
1135 SSLConfig ssl_config; | 1132 SSLConfig ssl_config; |
1136 StreamRequestWaiter waiter; | 1133 StreamRequestWaiter waiter; |
1137 scoped_ptr<HttpStreamRequest> request( | 1134 scoped_ptr<HttpStreamRequest> request( |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1289 EXPECT_TRUE(waiter1.used_proxy_info().is_direct()); | 1286 EXPECT_TRUE(waiter1.used_proxy_info().is_direct()); |
1290 } | 1287 } |
1291 | 1288 |
1292 // TODO(ricea): Re-enable once WebSocket over SPDY is implemented. | 1289 // TODO(ricea): Re-enable once WebSocket over SPDY is implemented. |
1293 TEST_P(HttpStreamFactoryTest, DISABLED_OrphanedWebSocketStream) { | 1290 TEST_P(HttpStreamFactoryTest, DISABLED_OrphanedWebSocketStream) { |
1294 SpdySessionDependencies session_deps(GetParam(), | 1291 SpdySessionDependencies session_deps(GetParam(), |
1295 ProxyService::CreateDirect()); | 1292 ProxyService::CreateDirect()); |
1296 session_deps.use_alternate_protocols = true; | 1293 session_deps.use_alternate_protocols = true; |
1297 | 1294 |
1298 MockRead mock_read(ASYNC, OK); | 1295 MockRead mock_read(ASYNC, OK); |
1299 DeterministicSocketData socket_data(&mock_read, 1, nullptr, 0); | 1296 SequencedSocketData socket_data(&mock_read, 1, nullptr, 0); |
1300 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1297 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
1301 session_deps.deterministic_socket_factory->AddSocketDataProvider( | 1298 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
1302 &socket_data); | |
1303 | 1299 |
1304 MockRead mock_read2(ASYNC, OK); | 1300 MockRead mock_read2(ASYNC, OK); |
1305 DeterministicSocketData socket_data2(&mock_read2, 1, nullptr, 0); | 1301 SequencedSocketData socket_data2(&mock_read2, 1, nullptr, 0); |
1306 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); | 1302 socket_data2.set_connect_data(MockConnect(ASYNC, ERR_IO_PENDING)); |
1307 session_deps.deterministic_socket_factory->AddSocketDataProvider( | 1303 session_deps.socket_factory->AddSocketDataProvider(&socket_data2); |
1308 &socket_data2); | |
1309 | 1304 |
1310 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); | 1305 SSLSocketDataProvider ssl_socket_data(ASYNC, OK); |
1311 ssl_socket_data.SetNextProto(GetParam()); | 1306 ssl_socket_data.SetNextProto(GetParam()); |
1312 session_deps.deterministic_socket_factory->AddSSLSocketDataProvider( | 1307 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_socket_data); |
1313 &ssl_socket_data); | |
1314 | 1308 |
1315 scoped_refptr<HttpNetworkSession> | 1309 scoped_refptr<HttpNetworkSession> session( |
1316 session(SpdySessionDependencies::SpdyCreateSessionDeterministic( | 1310 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
1317 &session_deps)); | |
1318 | 1311 |
1319 // Now request a stream. | 1312 // Now request a stream. |
1320 HttpRequestInfo request_info; | 1313 HttpRequestInfo request_info; |
1321 request_info.method = "GET"; | 1314 request_info.method = "GET"; |
1322 request_info.url = GURL("ws://www.google.com:8888"); | 1315 request_info.url = GURL("ws://www.google.com:8888"); |
1323 request_info.load_flags = 0; | 1316 request_info.load_flags = 0; |
1324 | 1317 |
1325 session->http_server_properties()->SetAlternativeService( | 1318 session->http_server_properties()->SetAlternativeService( |
1326 HostPortPair("www.google.com", 8888), | 1319 HostPortPair("www.google.com", 8888), |
1327 AlternativeService(NPN_SPDY_4, "www.google.com", 9999), 1.0); | 1320 AlternativeService(NPN_SPDY_4, "www.google.com", 9999), 1.0); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1359 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 1352 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
1360 | 1353 |
1361 // Make sure there is no orphaned job. it is already canceled. | 1354 // Make sure there is no orphaned job. it is already canceled. |
1362 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( | 1355 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( |
1363 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); | 1356 session->http_stream_factory_for_websocket())->num_orphaned_jobs()); |
1364 } | 1357 } |
1365 | 1358 |
1366 } // namespace | 1359 } // namespace |
1367 | 1360 |
1368 } // namespace net | 1361 } // namespace net |
OLD | NEW |