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 <stdint.h> | 7 #include <stdint.h> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 ~MockWebSocketHandshakeStream() override {} | 83 ~MockWebSocketHandshakeStream() override {} |
84 | 84 |
85 StreamType type() const { | 85 StreamType type() const { |
86 return type_; | 86 return type_; |
87 } | 87 } |
88 | 88 |
89 // HttpStream methods | 89 // HttpStream methods |
90 int InitializeStream(const HttpRequestInfo* request_info, | 90 int InitializeStream(const HttpRequestInfo* request_info, |
91 RequestPriority priority, | 91 RequestPriority priority, |
92 const BoundNetLog& net_log, | 92 const NetLogWithSource& net_log, |
93 const CompletionCallback& callback) override { | 93 const CompletionCallback& callback) override { |
94 return ERR_IO_PENDING; | 94 return ERR_IO_PENDING; |
95 } | 95 } |
96 int SendRequest(const HttpRequestHeaders& request_headers, | 96 int SendRequest(const HttpRequestHeaders& request_headers, |
97 HttpResponseInfo* response, | 97 HttpResponseInfo* response, |
98 const CompletionCallback& callback) override { | 98 const CompletionCallback& callback) override { |
99 return ERR_IO_PENDING; | 99 return ERR_IO_PENDING; |
100 } | 100 } |
101 int ReadResponseHeaders(const CompletionCallback& callback) override { | 101 int ReadResponseHeaders(const CompletionCallback& callback) override { |
102 return ERR_IO_PENDING; | 102 return ERR_IO_PENDING; |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 int last_num_streams() const { | 377 int last_num_streams() const { |
378 return last_num_streams_; | 378 return last_num_streams_; |
379 } | 379 } |
380 | 380 |
381 int RequestSocket(const std::string& group_name, | 381 int RequestSocket(const std::string& group_name, |
382 const void* socket_params, | 382 const void* socket_params, |
383 RequestPriority priority, | 383 RequestPriority priority, |
384 ClientSocketPool::RespectLimits respect_limits, | 384 ClientSocketPool::RespectLimits respect_limits, |
385 ClientSocketHandle* handle, | 385 ClientSocketHandle* handle, |
386 const CompletionCallback& callback, | 386 const CompletionCallback& callback, |
387 const BoundNetLog& net_log) override { | 387 const NetLogWithSource& net_log) override { |
388 ADD_FAILURE(); | 388 ADD_FAILURE(); |
389 return ERR_UNEXPECTED; | 389 return ERR_UNEXPECTED; |
390 } | 390 } |
391 | 391 |
392 void RequestSockets(const std::string& group_name, | 392 void RequestSockets(const std::string& group_name, |
393 const void* socket_params, | 393 const void* socket_params, |
394 int num_sockets, | 394 int num_sockets, |
395 const BoundNetLog& net_log) override { | 395 const NetLogWithSource& net_log) override { |
396 last_num_streams_ = num_sockets; | 396 last_num_streams_ = num_sockets; |
397 } | 397 } |
398 | 398 |
399 void CancelRequest(const std::string& group_name, | 399 void CancelRequest(const std::string& group_name, |
400 ClientSocketHandle* handle) override { | 400 ClientSocketHandle* handle) override { |
401 ADD_FAILURE(); | 401 ADD_FAILURE(); |
402 } | 402 } |
403 void ReleaseSocket(const std::string& group_name, | 403 void ReleaseSocket(const std::string& group_name, |
404 std::unique_ptr<StreamSocket> socket, | 404 std::unique_ptr<StreamSocket> socket, |
405 int id) override { | 405 int id) override { |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
667 // list. | 667 // list. |
668 HttpRequestInfo request_info; | 668 HttpRequestInfo request_info; |
669 request_info.method = "GET"; | 669 request_info.method = "GET"; |
670 request_info.url = GURL("http://www.google.com"); | 670 request_info.url = GURL("http://www.google.com"); |
671 | 671 |
672 SSLConfig ssl_config; | 672 SSLConfig ssl_config; |
673 StreamRequestWaiter waiter; | 673 StreamRequestWaiter waiter; |
674 std::unique_ptr<HttpStreamRequest> request( | 674 std::unique_ptr<HttpStreamRequest> request( |
675 session->http_stream_factory()->RequestStream( | 675 session->http_stream_factory()->RequestStream( |
676 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 676 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
677 BoundNetLog())); | 677 NetLogWithSource())); |
678 waiter.WaitForStream(); | 678 waiter.WaitForStream(); |
679 | 679 |
680 // The proxy that failed should now be known to the proxy_service as bad. | 680 // The proxy that failed should now be known to the proxy_service as bad. |
681 const ProxyRetryInfoMap& retry_info = | 681 const ProxyRetryInfoMap& retry_info = |
682 session->proxy_service()->proxy_retry_info(); | 682 session->proxy_service()->proxy_retry_info(); |
683 EXPECT_EQ(1u, retry_info.size()); | 683 EXPECT_EQ(1u, retry_info.size()); |
684 ProxyRetryInfoMap::const_iterator iter = retry_info.find("bad:99"); | 684 ProxyRetryInfoMap::const_iterator iter = retry_info.find("bad:99"); |
685 EXPECT_TRUE(iter != retry_info.end()); | 685 EXPECT_TRUE(iter != retry_info.end()); |
686 } | 686 } |
687 | 687 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
752 // list. | 752 // list. |
753 HttpRequestInfo request_info; | 753 HttpRequestInfo request_info; |
754 request_info.method = "GET"; | 754 request_info.method = "GET"; |
755 request_info.url = GURL("http://www.google.com"); | 755 request_info.url = GURL("http://www.google.com"); |
756 | 756 |
757 SSLConfig ssl_config; | 757 SSLConfig ssl_config; |
758 StreamRequestWaiter waiter; | 758 StreamRequestWaiter waiter; |
759 std::unique_ptr<HttpStreamRequest> request( | 759 std::unique_ptr<HttpStreamRequest> request( |
760 session->http_stream_factory()->RequestStream( | 760 session->http_stream_factory()->RequestStream( |
761 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 761 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
762 BoundNetLog())); | 762 NetLogWithSource())); |
763 waiter.WaitForStream(); | 763 waiter.WaitForStream(); |
764 | 764 |
765 // The proxy that failed should now be known to the proxy_service as bad. | 765 // The proxy that failed should now be known to the proxy_service as bad. |
766 const ProxyRetryInfoMap& retry_info = | 766 const ProxyRetryInfoMap& retry_info = |
767 session->proxy_service()->proxy_retry_info(); | 767 session->proxy_service()->proxy_retry_info(); |
768 EXPECT_EQ(1u, retry_info.size()) << quic_proxy_test_mock_errors[i]; | 768 EXPECT_EQ(1u, retry_info.size()) << quic_proxy_test_mock_errors[i]; |
769 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 769 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
770 | 770 |
771 ProxyRetryInfoMap::const_iterator iter = retry_info.find("quic://bad:99"); | 771 ProxyRetryInfoMap::const_iterator iter = retry_info.find("quic://bad:99"); |
772 EXPECT_TRUE(iter != retry_info.end()) << quic_proxy_test_mock_errors[i]; | 772 EXPECT_TRUE(iter != retry_info.end()) << quic_proxy_test_mock_errors[i]; |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
955 | 955 |
956 // Start two requests. The first request should consume data from | 956 // Start two requests. The first request should consume data from |
957 // |socket_data_proxy_main_job|, | 957 // |socket_data_proxy_main_job|, |
958 // |socket_data_proxy_alternate_job| and | 958 // |socket_data_proxy_alternate_job| and |
959 // |socket_data_direct_first_request|. The second request should consume | 959 // |socket_data_direct_first_request|. The second request should consume |
960 // data from |socket_data_direct_second_request|. | 960 // data from |socket_data_direct_second_request|. |
961 for (size_t i = 0; i < 2; ++i) { | 961 for (size_t i = 0; i < 2; ++i) { |
962 std::unique_ptr<HttpStreamRequest> request( | 962 std::unique_ptr<HttpStreamRequest> request( |
963 session->http_stream_factory()->RequestStream( | 963 session->http_stream_factory()->RequestStream( |
964 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 964 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
965 BoundNetLog())); | 965 NetLogWithSource())); |
966 waiter.WaitForStream(); | 966 waiter.WaitForStream(); |
967 | 967 |
968 // The proxy that failed should now be known to the proxy_service as | 968 // The proxy that failed should now be known to the proxy_service as |
969 // bad. | 969 // bad. |
970 const ProxyRetryInfoMap retry_info = | 970 const ProxyRetryInfoMap retry_info = |
971 session->proxy_service()->proxy_retry_info(); | 971 session->proxy_service()->proxy_retry_info(); |
972 EXPECT_EQ(2u, retry_info.size()) << mock_error; | 972 EXPECT_EQ(2u, retry_info.size()) << mock_error; |
973 | 973 |
974 // Verify that request was fetched without proxy. | 974 // Verify that request was fetched without proxy. |
975 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 975 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 | 1058 |
1059 EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); | 1059 EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); |
1060 | 1060 |
1061 // Start two requests. The first request should consume data from | 1061 // Start two requests. The first request should consume data from |
1062 // |socket_data_proxy_main_job| and |socket_data_https_first|. | 1062 // |socket_data_proxy_main_job| and |socket_data_https_first|. |
1063 // The second request should consume data from |socket_data_https_second|. | 1063 // The second request should consume data from |socket_data_https_second|. |
1064 for (size_t i = 0; i < 2; ++i) { | 1064 for (size_t i = 0; i < 2; ++i) { |
1065 std::unique_ptr<HttpStreamRequest> request( | 1065 std::unique_ptr<HttpStreamRequest> request( |
1066 session->http_stream_factory()->RequestStream( | 1066 session->http_stream_factory()->RequestStream( |
1067 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1067 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1068 BoundNetLog())); | 1068 NetLogWithSource())); |
1069 waiter.WaitForStream(); | 1069 waiter.WaitForStream(); |
1070 | 1070 |
1071 // The proxy that failed should now be known to the proxy_service as | 1071 // The proxy that failed should now be known to the proxy_service as |
1072 // bad. | 1072 // bad. |
1073 const ProxyRetryInfoMap retry_info = | 1073 const ProxyRetryInfoMap retry_info = |
1074 session->proxy_service()->proxy_retry_info(); | 1074 session->proxy_service()->proxy_retry_info(); |
1075 // Proxy should not be marked as bad. | 1075 // Proxy should not be marked as bad. |
1076 EXPECT_EQ(0u, retry_info.size()) << mock_error; | 1076 EXPECT_EQ(0u, retry_info.size()) << mock_error; |
1077 // Verify that request was fetched using proxy. | 1077 // Verify that request was fetched using proxy. |
1078 EXPECT_TRUE(waiter.used_proxy_info().is_https()); | 1078 EXPECT_TRUE(waiter.used_proxy_info().is_https()); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1224 request_info.method = "GET"; | 1224 request_info.method = "GET"; |
1225 request_info.url = GURL("https://www.google.com"); | 1225 request_info.url = GURL("https://www.google.com"); |
1226 request_info.load_flags = 0; | 1226 request_info.load_flags = 0; |
1227 request_info.privacy_mode = PRIVACY_MODE_DISABLED; | 1227 request_info.privacy_mode = PRIVACY_MODE_DISABLED; |
1228 | 1228 |
1229 SSLConfig ssl_config; | 1229 SSLConfig ssl_config; |
1230 StreamRequestWaiter waiter; | 1230 StreamRequestWaiter waiter; |
1231 std::unique_ptr<HttpStreamRequest> request( | 1231 std::unique_ptr<HttpStreamRequest> request( |
1232 session->http_stream_factory()->RequestStream( | 1232 session->http_stream_factory()->RequestStream( |
1233 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1233 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1234 BoundNetLog())); | 1234 NetLogWithSource())); |
1235 waiter.WaitForStream(); | 1235 waiter.WaitForStream(); |
1236 | 1236 |
1237 // The stream shouldn't come from spdy as we are using different privacy mode | 1237 // The stream shouldn't come from spdy as we are using different privacy mode |
1238 EXPECT_FALSE(request->using_spdy()); | 1238 EXPECT_FALSE(request->using_spdy()); |
1239 | 1239 |
1240 SSLConfig used_ssl_config = waiter.used_ssl_config(); | 1240 SSLConfig used_ssl_config = waiter.used_ssl_config(); |
1241 EXPECT_EQ(used_ssl_config.channel_id_enabled, ssl_config.channel_id_enabled); | 1241 EXPECT_EQ(used_ssl_config.channel_id_enabled, ssl_config.channel_id_enabled); |
1242 } | 1242 } |
1243 | 1243 |
1244 namespace { | 1244 namespace { |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1300 request_info.url = GURL("https://www.google.com"); | 1300 request_info.url = GURL("https://www.google.com"); |
1301 request_info.load_flags = 0; | 1301 request_info.load_flags = 0; |
1302 request_info.privacy_mode = PRIVACY_MODE_DISABLED; | 1302 request_info.privacy_mode = PRIVACY_MODE_DISABLED; |
1303 | 1303 |
1304 SSLConfig ssl_config; | 1304 SSLConfig ssl_config; |
1305 StreamRequestWaiter waiter; | 1305 StreamRequestWaiter waiter; |
1306 | 1306 |
1307 std::unique_ptr<HttpStreamRequest> request1( | 1307 std::unique_ptr<HttpStreamRequest> request1( |
1308 session->http_stream_factory()->RequestStream( | 1308 session->http_stream_factory()->RequestStream( |
1309 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1309 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1310 BoundNetLog())); | 1310 NetLogWithSource())); |
1311 waiter.WaitForStream(); | 1311 waiter.WaitForStream(); |
1312 | 1312 |
1313 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); | 1313 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); |
1314 | 1314 |
1315 std::unique_ptr<HttpStreamRequest> request2( | 1315 std::unique_ptr<HttpStreamRequest> request2( |
1316 session->http_stream_factory()->RequestStream( | 1316 session->http_stream_factory()->RequestStream( |
1317 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1317 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1318 BoundNetLog())); | 1318 NetLogWithSource())); |
1319 waiter.WaitForStream(); | 1319 waiter.WaitForStream(); |
1320 | 1320 |
1321 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); | 1321 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); |
1322 | 1322 |
1323 request_info.privacy_mode = PRIVACY_MODE_ENABLED; | 1323 request_info.privacy_mode = PRIVACY_MODE_ENABLED; |
1324 std::unique_ptr<HttpStreamRequest> request3( | 1324 std::unique_ptr<HttpStreamRequest> request3( |
1325 session->http_stream_factory()->RequestStream( | 1325 session->http_stream_factory()->RequestStream( |
1326 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1326 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1327 BoundNetLog())); | 1327 NetLogWithSource())); |
1328 waiter.WaitForStream(); | 1328 waiter.WaitForStream(); |
1329 | 1329 |
1330 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 2); | 1330 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 2); |
1331 } | 1331 } |
1332 | 1332 |
1333 TEST_F(HttpStreamFactoryTest, GetLoadState) { | 1333 TEST_F(HttpStreamFactoryTest, GetLoadState) { |
1334 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); | 1334 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); |
1335 | 1335 |
1336 // Force asynchronous host resolutions, so that the LoadState will be | 1336 // Force asynchronous host resolutions, so that the LoadState will be |
1337 // resolving the host. | 1337 // resolving the host. |
1338 session_deps.host_resolver->set_synchronous_mode(false); | 1338 session_deps.host_resolver->set_synchronous_mode(false); |
1339 | 1339 |
1340 StaticSocketDataProvider socket_data; | 1340 StaticSocketDataProvider socket_data; |
1341 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1341 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
1342 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1342 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
1343 | 1343 |
1344 std::unique_ptr<HttpNetworkSession> session( | 1344 std::unique_ptr<HttpNetworkSession> session( |
1345 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1345 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
1346 | 1346 |
1347 HttpRequestInfo request_info; | 1347 HttpRequestInfo request_info; |
1348 request_info.method = "GET"; | 1348 request_info.method = "GET"; |
1349 request_info.url = GURL("http://www.google.com"); | 1349 request_info.url = GURL("http://www.google.com"); |
1350 | 1350 |
1351 SSLConfig ssl_config; | 1351 SSLConfig ssl_config; |
1352 StreamRequestWaiter waiter; | 1352 StreamRequestWaiter waiter; |
1353 std::unique_ptr<HttpStreamRequest> request( | 1353 std::unique_ptr<HttpStreamRequest> request( |
1354 session->http_stream_factory()->RequestStream( | 1354 session->http_stream_factory()->RequestStream( |
1355 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1355 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1356 BoundNetLog())); | 1356 NetLogWithSource())); |
1357 | 1357 |
1358 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); | 1358 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); |
1359 | 1359 |
1360 waiter.WaitForStream(); | 1360 waiter.WaitForStream(); |
1361 } | 1361 } |
1362 | 1362 |
1363 TEST_F(HttpStreamFactoryTest, RequestHttpStream) { | 1363 TEST_F(HttpStreamFactoryTest, RequestHttpStream) { |
1364 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); | 1364 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); |
1365 | 1365 |
1366 StaticSocketDataProvider socket_data; | 1366 StaticSocketDataProvider socket_data; |
1367 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1367 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
1368 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1368 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
1369 | 1369 |
1370 std::unique_ptr<HttpNetworkSession> session( | 1370 std::unique_ptr<HttpNetworkSession> session( |
1371 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1371 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
1372 | 1372 |
1373 // Now request a stream. It should succeed using the second proxy in the | 1373 // Now request a stream. It should succeed using the second proxy in the |
1374 // list. | 1374 // list. |
1375 HttpRequestInfo request_info; | 1375 HttpRequestInfo request_info; |
1376 request_info.method = "GET"; | 1376 request_info.method = "GET"; |
1377 request_info.url = GURL("http://www.google.com"); | 1377 request_info.url = GURL("http://www.google.com"); |
1378 request_info.load_flags = 0; | 1378 request_info.load_flags = 0; |
1379 | 1379 |
1380 SSLConfig ssl_config; | 1380 SSLConfig ssl_config; |
1381 StreamRequestWaiter waiter; | 1381 StreamRequestWaiter waiter; |
1382 std::unique_ptr<HttpStreamRequest> request( | 1382 std::unique_ptr<HttpStreamRequest> request( |
1383 session->http_stream_factory()->RequestStream( | 1383 session->http_stream_factory()->RequestStream( |
1384 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1384 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1385 BoundNetLog())); | 1385 NetLogWithSource())); |
1386 waiter.WaitForStream(); | 1386 waiter.WaitForStream(); |
1387 EXPECT_TRUE(waiter.stream_done()); | 1387 EXPECT_TRUE(waiter.stream_done()); |
1388 ASSERT_TRUE(nullptr != waiter.stream()); | 1388 ASSERT_TRUE(nullptr != waiter.stream()); |
1389 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1389 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
1390 | 1390 |
1391 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1391 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
1392 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1392 EXPECT_EQ(1, GetSocketPoolGroupCount( |
1393 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1393 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1394 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 1394 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
1395 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1395 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 23 matching lines...) Expand all Loading... |
1419 HttpRequestInfo request_info; | 1419 HttpRequestInfo request_info; |
1420 request_info.method = "GET"; | 1420 request_info.method = "GET"; |
1421 request_info.url = GURL("https://www.google.com"); | 1421 request_info.url = GURL("https://www.google.com"); |
1422 request_info.load_flags = 0; | 1422 request_info.load_flags = 0; |
1423 | 1423 |
1424 SSLConfig ssl_config; | 1424 SSLConfig ssl_config; |
1425 StreamRequestWaiter waiter; | 1425 StreamRequestWaiter waiter; |
1426 std::unique_ptr<HttpStreamRequest> request( | 1426 std::unique_ptr<HttpStreamRequest> request( |
1427 session->http_stream_factory()->RequestStream( | 1427 session->http_stream_factory()->RequestStream( |
1428 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1428 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1429 BoundNetLog())); | 1429 NetLogWithSource())); |
1430 waiter.WaitForStream(); | 1430 waiter.WaitForStream(); |
1431 EXPECT_TRUE(waiter.stream_done()); | 1431 EXPECT_TRUE(waiter.stream_done()); |
1432 ASSERT_TRUE(nullptr != waiter.stream()); | 1432 ASSERT_TRUE(nullptr != waiter.stream()); |
1433 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1433 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
1434 | 1434 |
1435 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1435 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
1436 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1436 EXPECT_EQ(1, GetSocketPoolGroupCount( |
1437 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1437 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1438 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1438 EXPECT_EQ(1, GetSocketPoolGroupCount( |
1439 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1439 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 21 matching lines...) Expand all Loading... |
1461 HttpRequestInfo request_info; | 1461 HttpRequestInfo request_info; |
1462 request_info.method = "GET"; | 1462 request_info.method = "GET"; |
1463 request_info.url = GURL("http://www.google.com"); | 1463 request_info.url = GURL("http://www.google.com"); |
1464 request_info.load_flags = 0; | 1464 request_info.load_flags = 0; |
1465 | 1465 |
1466 SSLConfig ssl_config; | 1466 SSLConfig ssl_config; |
1467 StreamRequestWaiter waiter; | 1467 StreamRequestWaiter waiter; |
1468 std::unique_ptr<HttpStreamRequest> request( | 1468 std::unique_ptr<HttpStreamRequest> request( |
1469 session->http_stream_factory()->RequestStream( | 1469 session->http_stream_factory()->RequestStream( |
1470 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1470 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1471 BoundNetLog())); | 1471 NetLogWithSource())); |
1472 waiter.WaitForStream(); | 1472 waiter.WaitForStream(); |
1473 EXPECT_TRUE(waiter.stream_done()); | 1473 EXPECT_TRUE(waiter.stream_done()); |
1474 ASSERT_TRUE(nullptr != waiter.stream()); | 1474 ASSERT_TRUE(nullptr != waiter.stream()); |
1475 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1475 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
1476 | 1476 |
1477 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1477 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
1478 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1478 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1479 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1479 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1480 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1480 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1481 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1481 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 26 matching lines...) Expand all Loading... |
1508 HttpRequestInfo request_info; | 1508 HttpRequestInfo request_info; |
1509 request_info.method = "GET"; | 1509 request_info.method = "GET"; |
1510 request_info.url = GURL("ws://www.google.com"); | 1510 request_info.url = GURL("ws://www.google.com"); |
1511 request_info.load_flags = 0; | 1511 request_info.load_flags = 0; |
1512 | 1512 |
1513 SSLConfig ssl_config; | 1513 SSLConfig ssl_config; |
1514 StreamRequestWaiter waiter; | 1514 StreamRequestWaiter waiter; |
1515 WebSocketStreamCreateHelper create_helper; | 1515 WebSocketStreamCreateHelper create_helper; |
1516 std::unique_ptr<HttpStreamRequest> request( | 1516 std::unique_ptr<HttpStreamRequest> request( |
1517 session->http_stream_factory_for_websocket() | 1517 session->http_stream_factory_for_websocket() |
1518 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 1518 ->RequestWebSocketHandshakeStream( |
1519 ssl_config, ssl_config, &waiter, | 1519 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1520 &create_helper, BoundNetLog())); | 1520 &create_helper, NetLogWithSource())); |
1521 waiter.WaitForStream(); | 1521 waiter.WaitForStream(); |
1522 EXPECT_TRUE(waiter.stream_done()); | 1522 EXPECT_TRUE(waiter.stream_done()); |
1523 EXPECT_TRUE(nullptr == waiter.stream()); | 1523 EXPECT_TRUE(nullptr == waiter.stream()); |
1524 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1524 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
1525 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1525 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
1526 waiter.websocket_stream()->type()); | 1526 waiter.websocket_stream()->type()); |
1527 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1527 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1528 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1528 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1529 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1529 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1530 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1530 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 20 matching lines...) Expand all Loading... |
1551 HttpRequestInfo request_info; | 1551 HttpRequestInfo request_info; |
1552 request_info.method = "GET"; | 1552 request_info.method = "GET"; |
1553 request_info.url = GURL("wss://www.google.com"); | 1553 request_info.url = GURL("wss://www.google.com"); |
1554 request_info.load_flags = 0; | 1554 request_info.load_flags = 0; |
1555 | 1555 |
1556 SSLConfig ssl_config; | 1556 SSLConfig ssl_config; |
1557 StreamRequestWaiter waiter; | 1557 StreamRequestWaiter waiter; |
1558 WebSocketStreamCreateHelper create_helper; | 1558 WebSocketStreamCreateHelper create_helper; |
1559 std::unique_ptr<HttpStreamRequest> request( | 1559 std::unique_ptr<HttpStreamRequest> request( |
1560 session->http_stream_factory_for_websocket() | 1560 session->http_stream_factory_for_websocket() |
1561 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 1561 ->RequestWebSocketHandshakeStream( |
1562 ssl_config, ssl_config, &waiter, | 1562 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1563 &create_helper, BoundNetLog())); | 1563 &create_helper, NetLogWithSource())); |
1564 waiter.WaitForStream(); | 1564 waiter.WaitForStream(); |
1565 EXPECT_TRUE(waiter.stream_done()); | 1565 EXPECT_TRUE(waiter.stream_done()); |
1566 EXPECT_TRUE(nullptr == waiter.stream()); | 1566 EXPECT_TRUE(nullptr == waiter.stream()); |
1567 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1567 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
1568 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1568 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
1569 waiter.websocket_stream()->type()); | 1569 waiter.websocket_stream()->type()); |
1570 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1570 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1571 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1571 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1572 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1572 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1573 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1573 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 18 matching lines...) Expand all Loading... |
1592 HttpRequestInfo request_info; | 1592 HttpRequestInfo request_info; |
1593 request_info.method = "GET"; | 1593 request_info.method = "GET"; |
1594 request_info.url = GURL("ws://www.google.com"); | 1594 request_info.url = GURL("ws://www.google.com"); |
1595 request_info.load_flags = 0; | 1595 request_info.load_flags = 0; |
1596 | 1596 |
1597 SSLConfig ssl_config; | 1597 SSLConfig ssl_config; |
1598 StreamRequestWaiter waiter; | 1598 StreamRequestWaiter waiter; |
1599 WebSocketStreamCreateHelper create_helper; | 1599 WebSocketStreamCreateHelper create_helper; |
1600 std::unique_ptr<HttpStreamRequest> request( | 1600 std::unique_ptr<HttpStreamRequest> request( |
1601 session->http_stream_factory_for_websocket() | 1601 session->http_stream_factory_for_websocket() |
1602 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 1602 ->RequestWebSocketHandshakeStream( |
1603 ssl_config, ssl_config, &waiter, | 1603 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1604 &create_helper, BoundNetLog())); | 1604 &create_helper, NetLogWithSource())); |
1605 waiter.WaitForStream(); | 1605 waiter.WaitForStream(); |
1606 EXPECT_TRUE(waiter.stream_done()); | 1606 EXPECT_TRUE(waiter.stream_done()); |
1607 EXPECT_TRUE(nullptr == waiter.stream()); | 1607 EXPECT_TRUE(nullptr == waiter.stream()); |
1608 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1608 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
1609 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1609 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
1610 waiter.websocket_stream()->type()); | 1610 waiter.websocket_stream()->type()); |
1611 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1611 EXPECT_EQ(0, GetSocketPoolGroupCount( |
1612 session->GetTransportSocketPool( | 1612 session->GetTransportSocketPool( |
1613 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 1613 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
1614 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1614 EXPECT_EQ(0, GetSocketPoolGroupCount( |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1648 HttpRequestInfo request_info; | 1648 HttpRequestInfo request_info; |
1649 request_info.method = "GET"; | 1649 request_info.method = "GET"; |
1650 request_info.url = GURL("https://www.google.com"); | 1650 request_info.url = GURL("https://www.google.com"); |
1651 request_info.load_flags = 0; | 1651 request_info.load_flags = 0; |
1652 | 1652 |
1653 SSLConfig ssl_config; | 1653 SSLConfig ssl_config; |
1654 StreamRequestWaiter waiter; | 1654 StreamRequestWaiter waiter; |
1655 std::unique_ptr<HttpStreamRequest> request( | 1655 std::unique_ptr<HttpStreamRequest> request( |
1656 session->http_stream_factory()->RequestStream( | 1656 session->http_stream_factory()->RequestStream( |
1657 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1657 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1658 BoundNetLog())); | 1658 NetLogWithSource())); |
1659 waiter.WaitForStream(); | 1659 waiter.WaitForStream(); |
1660 EXPECT_TRUE(waiter.stream_done()); | 1660 EXPECT_TRUE(waiter.stream_done()); |
1661 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1661 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
1662 ASSERT_TRUE(nullptr != waiter.stream()); | 1662 ASSERT_TRUE(nullptr != waiter.stream()); |
1663 | 1663 |
1664 EXPECT_EQ(1, GetSpdySessionCount(session.get())); | 1664 EXPECT_EQ(1, GetSpdySessionCount(session.get())); |
1665 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1665 EXPECT_EQ(1, GetSocketPoolGroupCount( |
1666 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1666 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1667 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1667 EXPECT_EQ(1, GetSocketPoolGroupCount( |
1668 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1668 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 25 matching lines...) Expand all Loading... |
1694 HttpRequestInfo request_info; | 1694 HttpRequestInfo request_info; |
1695 request_info.method = "GET"; | 1695 request_info.method = "GET"; |
1696 request_info.url = GURL("https://www.google.com"); | 1696 request_info.url = GURL("https://www.google.com"); |
1697 request_info.load_flags = 0; | 1697 request_info.load_flags = 0; |
1698 | 1698 |
1699 SSLConfig ssl_config; | 1699 SSLConfig ssl_config; |
1700 StreamRequestWaiter waiter; | 1700 StreamRequestWaiter waiter; |
1701 std::unique_ptr<HttpStreamRequest> request( | 1701 std::unique_ptr<HttpStreamRequest> request( |
1702 session->http_stream_factory()->RequestBidirectionalStreamImpl( | 1702 session->http_stream_factory()->RequestBidirectionalStreamImpl( |
1703 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1703 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1704 BoundNetLog())); | 1704 NetLogWithSource())); |
1705 waiter.WaitForStream(); | 1705 waiter.WaitForStream(); |
1706 EXPECT_TRUE(waiter.stream_done()); | 1706 EXPECT_TRUE(waiter.stream_done()); |
1707 EXPECT_FALSE(waiter.websocket_stream()); | 1707 EXPECT_FALSE(waiter.websocket_stream()); |
1708 ASSERT_FALSE(waiter.stream()); | 1708 ASSERT_FALSE(waiter.stream()); |
1709 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 1709 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
1710 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 1710 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
1711 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1711 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1712 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 1712 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
1713 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1713 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
1714 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 1714 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1862 SSLConfig ssl_config; | 1862 SSLConfig ssl_config; |
1863 HttpRequestInfo request_info; | 1863 HttpRequestInfo request_info; |
1864 request_info.method = "GET"; | 1864 request_info.method = "GET"; |
1865 request_info.url = default_url_; | 1865 request_info.url = default_url_; |
1866 request_info.load_flags = 0; | 1866 request_info.load_flags = 0; |
1867 | 1867 |
1868 StreamRequestWaiter waiter; | 1868 StreamRequestWaiter waiter; |
1869 std::unique_ptr<HttpStreamRequest> request( | 1869 std::unique_ptr<HttpStreamRequest> request( |
1870 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 1870 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
1871 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1871 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1872 BoundNetLog())); | 1872 NetLogWithSource())); |
1873 | 1873 |
1874 waiter.WaitForStream(); | 1874 waiter.WaitForStream(); |
1875 EXPECT_TRUE(waiter.stream_done()); | 1875 EXPECT_TRUE(waiter.stream_done()); |
1876 EXPECT_FALSE(waiter.websocket_stream()); | 1876 EXPECT_FALSE(waiter.websocket_stream()); |
1877 ASSERT_FALSE(waiter.stream()); | 1877 ASSERT_FALSE(waiter.stream()); |
1878 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 1878 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
1879 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); | 1879 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); |
1880 | 1880 |
1881 BidirectionalStreamRequestInfo bidi_request_info; | 1881 BidirectionalStreamRequestInfo bidi_request_info; |
1882 bidi_request_info.method = "GET"; | 1882 bidi_request_info.method = "GET"; |
1883 bidi_request_info.url = default_url_; | 1883 bidi_request_info.url = default_url_; |
1884 bidi_request_info.end_stream_on_headers = true; | 1884 bidi_request_info.end_stream_on_headers = true; |
1885 bidi_request_info.priority = LOWEST; | 1885 bidi_request_info.priority = LOWEST; |
1886 | 1886 |
1887 TestBidirectionalDelegate delegate; | 1887 TestBidirectionalDelegate delegate; |
1888 stream_impl->Start(&bidi_request_info, BoundNetLog(), | 1888 stream_impl->Start(&bidi_request_info, NetLogWithSource(), |
1889 /*send_request_headers_automatically=*/true, &delegate, | 1889 /*send_request_headers_automatically=*/true, &delegate, |
1890 nullptr); | 1890 nullptr); |
1891 delegate.WaitUntilDone(); | 1891 delegate.WaitUntilDone(); |
1892 | 1892 |
1893 scoped_refptr<IOBuffer> buffer = new net::IOBuffer(1); | 1893 scoped_refptr<IOBuffer> buffer = new net::IOBuffer(1); |
1894 EXPECT_THAT(stream_impl->ReadData(buffer.get(), 1), IsOk()); | 1894 EXPECT_THAT(stream_impl->ReadData(buffer.get(), 1), IsOk()); |
1895 EXPECT_EQ(kProtoQUIC1SPDY3, stream_impl->GetProtocol()); | 1895 EXPECT_EQ(kProtoQUIC1SPDY3, stream_impl->GetProtocol()); |
1896 EXPECT_EQ("200", delegate.response_headers().find(":status")->second); | 1896 EXPECT_EQ("200", delegate.response_headers().find(":status")->second); |
1897 EXPECT_EQ(0, GetSocketPoolGroupCount(session()->GetTransportSocketPool( | 1897 EXPECT_EQ(0, GetSocketPoolGroupCount(session()->GetTransportSocketPool( |
1898 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1898 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 28 matching lines...) Expand all Loading... |
1927 SSLConfig ssl_config; | 1927 SSLConfig ssl_config; |
1928 HttpRequestInfo request_info; | 1928 HttpRequestInfo request_info; |
1929 request_info.method = "GET"; | 1929 request_info.method = "GET"; |
1930 request_info.url = default_url_; | 1930 request_info.url = default_url_; |
1931 request_info.load_flags = 0; | 1931 request_info.load_flags = 0; |
1932 | 1932 |
1933 StreamRequestWaiter waiter; | 1933 StreamRequestWaiter waiter; |
1934 std::unique_ptr<HttpStreamRequest> request( | 1934 std::unique_ptr<HttpStreamRequest> request( |
1935 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 1935 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
1936 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1936 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1937 BoundNetLog())); | 1937 NetLogWithSource())); |
1938 | 1938 |
1939 waiter.WaitForStream(); | 1939 waiter.WaitForStream(); |
1940 EXPECT_TRUE(waiter.stream_done()); | 1940 EXPECT_TRUE(waiter.stream_done()); |
1941 EXPECT_FALSE(waiter.websocket_stream()); | 1941 EXPECT_FALSE(waiter.websocket_stream()); |
1942 ASSERT_FALSE(waiter.stream()); | 1942 ASSERT_FALSE(waiter.stream()); |
1943 ASSERT_FALSE(waiter.bidirectional_stream_impl()); | 1943 ASSERT_FALSE(waiter.bidirectional_stream_impl()); |
1944 // Since the alternative service job is not started, we will get the error | 1944 // Since the alternative service job is not started, we will get the error |
1945 // from the http job. | 1945 // from the http job. |
1946 ASSERT_THAT(waiter.error_status(), IsError(ERR_CONNECTION_REFUSED)); | 1946 ASSERT_THAT(waiter.error_status(), IsError(ERR_CONNECTION_REFUSED)); |
1947 } | 1947 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1985 SSLConfig ssl_config; | 1985 SSLConfig ssl_config; |
1986 HttpRequestInfo request_info; | 1986 HttpRequestInfo request_info; |
1987 request_info.method = "GET"; | 1987 request_info.method = "GET"; |
1988 request_info.url = default_url_; | 1988 request_info.url = default_url_; |
1989 request_info.load_flags = 0; | 1989 request_info.load_flags = 0; |
1990 | 1990 |
1991 StreamRequestWaiter waiter; | 1991 StreamRequestWaiter waiter; |
1992 std::unique_ptr<HttpStreamRequest> request( | 1992 std::unique_ptr<HttpStreamRequest> request( |
1993 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 1993 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
1994 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1994 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
1995 BoundNetLog())); | 1995 NetLogWithSource())); |
1996 | 1996 |
1997 waiter.WaitForStream(); | 1997 waiter.WaitForStream(); |
1998 EXPECT_TRUE(waiter.stream_done()); | 1998 EXPECT_TRUE(waiter.stream_done()); |
1999 EXPECT_FALSE(waiter.websocket_stream()); | 1999 EXPECT_FALSE(waiter.websocket_stream()); |
2000 ASSERT_FALSE(waiter.stream()); | 2000 ASSERT_FALSE(waiter.stream()); |
2001 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 2001 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
2002 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); | 2002 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); |
2003 | 2003 |
2004 BidirectionalStreamRequestInfo bidi_request_info; | 2004 BidirectionalStreamRequestInfo bidi_request_info; |
2005 bidi_request_info.method = "GET"; | 2005 bidi_request_info.method = "GET"; |
2006 bidi_request_info.url = default_url_; | 2006 bidi_request_info.url = default_url_; |
2007 bidi_request_info.end_stream_on_headers = true; | 2007 bidi_request_info.end_stream_on_headers = true; |
2008 bidi_request_info.priority = LOWEST; | 2008 bidi_request_info.priority = LOWEST; |
2009 | 2009 |
2010 TestBidirectionalDelegate delegate; | 2010 TestBidirectionalDelegate delegate; |
2011 stream_impl->Start(&bidi_request_info, BoundNetLog(), | 2011 stream_impl->Start(&bidi_request_info, NetLogWithSource(), |
2012 /*send_request_headers_automatically=*/true, &delegate, | 2012 /*send_request_headers_automatically=*/true, &delegate, |
2013 nullptr); | 2013 nullptr); |
2014 delegate.WaitUntilDone(); | 2014 delegate.WaitUntilDone(); |
2015 | 2015 |
2016 // Make sure the BidirectionalStream negotiated goes through QUIC. | 2016 // Make sure the BidirectionalStream negotiated goes through QUIC. |
2017 scoped_refptr<IOBuffer> buffer = new net::IOBuffer(1); | 2017 scoped_refptr<IOBuffer> buffer = new net::IOBuffer(1); |
2018 EXPECT_THAT(stream_impl->ReadData(buffer.get(), 1), IsOk()); | 2018 EXPECT_THAT(stream_impl->ReadData(buffer.get(), 1), IsOk()); |
2019 EXPECT_EQ(kProtoQUIC1SPDY3, stream_impl->GetProtocol()); | 2019 EXPECT_EQ(kProtoQUIC1SPDY3, stream_impl->GetProtocol()); |
2020 EXPECT_EQ("200", delegate.response_headers().find(":status")->second); | 2020 EXPECT_EQ("200", delegate.response_headers().find(":status")->second); |
2021 // There is no Http2 socket pool. | 2021 // There is no Http2 socket pool. |
(...skipping 30 matching lines...) Expand all Loading... |
2052 HttpRequestInfo request_info; | 2052 HttpRequestInfo request_info; |
2053 request_info.method = "GET"; | 2053 request_info.method = "GET"; |
2054 request_info.url = GURL("https://www.google.com"); | 2054 request_info.url = GURL("https://www.google.com"); |
2055 request_info.load_flags = 0; | 2055 request_info.load_flags = 0; |
2056 | 2056 |
2057 SSLConfig ssl_config; | 2057 SSLConfig ssl_config; |
2058 StreamRequestWaiter waiter; | 2058 StreamRequestWaiter waiter; |
2059 std::unique_ptr<HttpStreamRequest> request( | 2059 std::unique_ptr<HttpStreamRequest> request( |
2060 session->http_stream_factory()->RequestBidirectionalStreamImpl( | 2060 session->http_stream_factory()->RequestBidirectionalStreamImpl( |
2061 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2061 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
2062 BoundNetLog())); | 2062 NetLogWithSource())); |
2063 waiter.WaitForStream(); | 2063 waiter.WaitForStream(); |
2064 EXPECT_TRUE(waiter.stream_done()); | 2064 EXPECT_TRUE(waiter.stream_done()); |
2065 ASSERT_THAT(waiter.error_status(), IsError(ERR_FAILED)); | 2065 ASSERT_THAT(waiter.error_status(), IsError(ERR_FAILED)); |
2066 EXPECT_FALSE(waiter.websocket_stream()); | 2066 EXPECT_FALSE(waiter.websocket_stream()); |
2067 ASSERT_FALSE(waiter.stream()); | 2067 ASSERT_FALSE(waiter.stream()); |
2068 ASSERT_FALSE(waiter.bidirectional_stream_impl()); | 2068 ASSERT_FALSE(waiter.bidirectional_stream_impl()); |
2069 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2069 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
2070 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2070 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
2071 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 2071 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
2072 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2072 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
(...skipping 25 matching lines...) Expand all Loading... |
2098 HttpRequestInfo request_info; | 2098 HttpRequestInfo request_info; |
2099 request_info.method = "GET"; | 2099 request_info.method = "GET"; |
2100 request_info.url = GURL("wss://www.google.com"); | 2100 request_info.url = GURL("wss://www.google.com"); |
2101 request_info.load_flags = 0; | 2101 request_info.load_flags = 0; |
2102 | 2102 |
2103 SSLConfig ssl_config; | 2103 SSLConfig ssl_config; |
2104 StreamRequestWaiter waiter1; | 2104 StreamRequestWaiter waiter1; |
2105 WebSocketStreamCreateHelper create_helper; | 2105 WebSocketStreamCreateHelper create_helper; |
2106 std::unique_ptr<HttpStreamRequest> request1( | 2106 std::unique_ptr<HttpStreamRequest> request1( |
2107 session->http_stream_factory_for_websocket() | 2107 session->http_stream_factory_for_websocket() |
2108 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 2108 ->RequestWebSocketHandshakeStream( |
2109 ssl_config, ssl_config, &waiter1, | 2109 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, |
2110 &create_helper, BoundNetLog())); | 2110 &create_helper, NetLogWithSource())); |
2111 waiter1.WaitForStream(); | 2111 waiter1.WaitForStream(); |
2112 EXPECT_TRUE(waiter1.stream_done()); | 2112 EXPECT_TRUE(waiter1.stream_done()); |
2113 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); | 2113 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); |
2114 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 2114 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
2115 waiter1.websocket_stream()->type()); | 2115 waiter1.websocket_stream()->type()); |
2116 EXPECT_TRUE(nullptr == waiter1.stream()); | 2116 EXPECT_TRUE(nullptr == waiter1.stream()); |
2117 | 2117 |
2118 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2118 EXPECT_EQ(0, GetSocketPoolGroupCount( |
2119 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2119 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
2120 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2120 EXPECT_EQ(0, GetSocketPoolGroupCount( |
(...skipping 24 matching lines...) Expand all Loading... |
2145 HttpRequestInfo request_info; | 2145 HttpRequestInfo request_info; |
2146 request_info.method = "GET"; | 2146 request_info.method = "GET"; |
2147 request_info.url = GURL("wss://www.google.com"); | 2147 request_info.url = GURL("wss://www.google.com"); |
2148 request_info.load_flags = 0; | 2148 request_info.load_flags = 0; |
2149 | 2149 |
2150 SSLConfig ssl_config; | 2150 SSLConfig ssl_config; |
2151 StreamRequestWaiter waiter1; | 2151 StreamRequestWaiter waiter1; |
2152 WebSocketStreamCreateHelper create_helper; | 2152 WebSocketStreamCreateHelper create_helper; |
2153 std::unique_ptr<HttpStreamRequest> request1( | 2153 std::unique_ptr<HttpStreamRequest> request1( |
2154 session->http_stream_factory_for_websocket() | 2154 session->http_stream_factory_for_websocket() |
2155 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 2155 ->RequestWebSocketHandshakeStream( |
2156 ssl_config, ssl_config, &waiter1, | 2156 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, |
2157 &create_helper, BoundNetLog())); | 2157 &create_helper, NetLogWithSource())); |
2158 waiter1.WaitForStream(); | 2158 waiter1.WaitForStream(); |
2159 EXPECT_TRUE(waiter1.stream_done()); | 2159 EXPECT_TRUE(waiter1.stream_done()); |
2160 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); | 2160 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); |
2161 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2161 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
2162 waiter1.websocket_stream()->type()); | 2162 waiter1.websocket_stream()->type()); |
2163 EXPECT_TRUE(nullptr == waiter1.stream()); | 2163 EXPECT_TRUE(nullptr == waiter1.stream()); |
2164 | 2164 |
2165 StreamRequestWaiter waiter2; | 2165 StreamRequestWaiter waiter2; |
2166 std::unique_ptr<HttpStreamRequest> request2( | 2166 std::unique_ptr<HttpStreamRequest> request2( |
2167 session->http_stream_factory_for_websocket() | 2167 session->http_stream_factory_for_websocket() |
2168 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 2168 ->RequestWebSocketHandshakeStream( |
2169 ssl_config, ssl_config, &waiter2, | 2169 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter2, |
2170 &create_helper, BoundNetLog())); | 2170 &create_helper, NetLogWithSource())); |
2171 waiter2.WaitForStream(); | 2171 waiter2.WaitForStream(); |
2172 EXPECT_TRUE(waiter2.stream_done()); | 2172 EXPECT_TRUE(waiter2.stream_done()); |
2173 ASSERT_TRUE(nullptr != waiter2.websocket_stream()); | 2173 ASSERT_TRUE(nullptr != waiter2.websocket_stream()); |
2174 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2174 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
2175 waiter2.websocket_stream()->type()); | 2175 waiter2.websocket_stream()->type()); |
2176 EXPECT_TRUE(nullptr == waiter2.stream()); | 2176 EXPECT_TRUE(nullptr == waiter2.stream()); |
2177 EXPECT_NE(waiter2.websocket_stream(), waiter1.websocket_stream()); | 2177 EXPECT_NE(waiter2.websocket_stream(), waiter1.websocket_stream()); |
2178 EXPECT_EQ(static_cast<WebSocketSpdyHandshakeStream*>( | 2178 EXPECT_EQ(static_cast<WebSocketSpdyHandshakeStream*>( |
2179 waiter2.websocket_stream())->spdy_session(), | 2179 waiter2.websocket_stream())->spdy_session(), |
2180 static_cast<WebSocketSpdyHandshakeStream*>( | 2180 static_cast<WebSocketSpdyHandshakeStream*>( |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2224 session->http_server_properties()->SetAlternativeService( | 2224 session->http_server_properties()->SetAlternativeService( |
2225 url::SchemeHostPort(request_info.url.scheme(), host_port_pair.host(), | 2225 url::SchemeHostPort(request_info.url.scheme(), host_port_pair.host(), |
2226 host_port_pair.port()), | 2226 host_port_pair.port()), |
2227 AlternativeService(NPN_HTTP_2, "www.google.com", 9999), expiration); | 2227 AlternativeService(NPN_HTTP_2, "www.google.com", 9999), expiration); |
2228 | 2228 |
2229 SSLConfig ssl_config; | 2229 SSLConfig ssl_config; |
2230 StreamRequestWaiter waiter; | 2230 StreamRequestWaiter waiter; |
2231 WebSocketStreamCreateHelper create_helper; | 2231 WebSocketStreamCreateHelper create_helper; |
2232 std::unique_ptr<HttpStreamRequest> request( | 2232 std::unique_ptr<HttpStreamRequest> request( |
2233 session->http_stream_factory_for_websocket() | 2233 session->http_stream_factory_for_websocket() |
2234 ->RequestWebSocketHandshakeStream(request_info, DEFAULT_PRIORITY, | 2234 ->RequestWebSocketHandshakeStream( |
2235 ssl_config, ssl_config, &waiter, | 2235 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
2236 &create_helper, BoundNetLog())); | 2236 &create_helper, NetLogWithSource())); |
2237 waiter.WaitForStream(); | 2237 waiter.WaitForStream(); |
2238 EXPECT_TRUE(waiter.stream_done()); | 2238 EXPECT_TRUE(waiter.stream_done()); |
2239 EXPECT_TRUE(nullptr == waiter.stream()); | 2239 EXPECT_TRUE(nullptr == waiter.stream()); |
2240 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 2240 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
2241 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2241 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
2242 waiter.websocket_stream()->type()); | 2242 waiter.websocket_stream()->type()); |
2243 | 2243 |
2244 // Make sure that there was an alternative connection | 2244 // Make sure that there was an alternative connection |
2245 // which consumes extra connections. | 2245 // which consumes extra connections. |
2246 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2246 EXPECT_EQ(0, GetSocketPoolGroupCount( |
2247 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2247 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
2248 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2248 EXPECT_EQ(0, GetSocketPoolGroupCount( |
2249 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2249 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
2250 EXPECT_EQ(2, GetSocketPoolGroupCount( | 2250 EXPECT_EQ(2, GetSocketPoolGroupCount( |
2251 session->GetTransportSocketPool( | 2251 session->GetTransportSocketPool( |
2252 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2252 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2253 EXPECT_EQ(1, GetSocketPoolGroupCount( | 2253 EXPECT_EQ(1, GetSocketPoolGroupCount( |
2254 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2254 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2255 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2255 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
2256 } | 2256 } |
2257 | 2257 |
2258 } // namespace | 2258 } // namespace |
2259 | 2259 |
2260 } // namespace net | 2260 } // namespace net |
OLD | NEW |