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