| 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 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 // list. | 685 // list. |
| 686 HttpRequestInfo request_info; | 686 HttpRequestInfo request_info; |
| 687 request_info.method = "GET"; | 687 request_info.method = "GET"; |
| 688 request_info.url = GURL("http://www.google.com"); | 688 request_info.url = GURL("http://www.google.com"); |
| 689 | 689 |
| 690 SSLConfig ssl_config; | 690 SSLConfig ssl_config; |
| 691 StreamRequestWaiter waiter; | 691 StreamRequestWaiter waiter; |
| 692 std::unique_ptr<HttpStreamRequest> request( | 692 std::unique_ptr<HttpStreamRequest> request( |
| 693 session->http_stream_factory()->RequestStream( | 693 session->http_stream_factory()->RequestStream( |
| 694 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 694 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 695 NetLogWithSource())); | 695 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 696 waiter.WaitForStream(); | 696 waiter.WaitForStream(); |
| 697 | 697 |
| 698 // The proxy that failed should now be known to the proxy_service as bad. | 698 // The proxy that failed should now be known to the proxy_service as bad. |
| 699 const ProxyRetryInfoMap& retry_info = | 699 const ProxyRetryInfoMap& retry_info = |
| 700 session->proxy_service()->proxy_retry_info(); | 700 session->proxy_service()->proxy_retry_info(); |
| 701 EXPECT_EQ(1u, retry_info.size()); | 701 EXPECT_EQ(1u, retry_info.size()); |
| 702 ProxyRetryInfoMap::const_iterator iter = retry_info.find("bad:99"); | 702 ProxyRetryInfoMap::const_iterator iter = retry_info.find("bad:99"); |
| 703 EXPECT_TRUE(iter != retry_info.end()); | 703 EXPECT_TRUE(iter != retry_info.end()); |
| 704 } | 704 } |
| 705 | 705 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 769 // list. | 769 // list. |
| 770 HttpRequestInfo request_info; | 770 HttpRequestInfo request_info; |
| 771 request_info.method = "GET"; | 771 request_info.method = "GET"; |
| 772 request_info.url = GURL("http://www.google.com"); | 772 request_info.url = GURL("http://www.google.com"); |
| 773 | 773 |
| 774 SSLConfig ssl_config; | 774 SSLConfig ssl_config; |
| 775 StreamRequestWaiter waiter; | 775 StreamRequestWaiter waiter; |
| 776 std::unique_ptr<HttpStreamRequest> request( | 776 std::unique_ptr<HttpStreamRequest> request( |
| 777 session->http_stream_factory()->RequestStream( | 777 session->http_stream_factory()->RequestStream( |
| 778 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 778 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 779 NetLogWithSource())); | 779 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 780 waiter.WaitForStream(); | 780 waiter.WaitForStream(); |
| 781 | 781 |
| 782 // The proxy that failed should now be known to the proxy_service as bad. | 782 // The proxy that failed should now be known to the proxy_service as bad. |
| 783 const ProxyRetryInfoMap& retry_info = | 783 const ProxyRetryInfoMap& retry_info = |
| 784 session->proxy_service()->proxy_retry_info(); | 784 session->proxy_service()->proxy_retry_info(); |
| 785 EXPECT_EQ(1u, retry_info.size()) << quic_proxy_test_mock_errors[i]; | 785 EXPECT_EQ(1u, retry_info.size()) << quic_proxy_test_mock_errors[i]; |
| 786 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 786 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 787 | 787 |
| 788 ProxyRetryInfoMap::const_iterator iter = retry_info.find("quic://bad:99"); | 788 ProxyRetryInfoMap::const_iterator iter = retry_info.find("quic://bad:99"); |
| 789 EXPECT_TRUE(iter != retry_info.end()) << quic_proxy_test_mock_errors[i]; | 789 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... |
| 972 | 972 |
| 973 // Start two requests. The first request should consume data from | 973 // Start two requests. The first request should consume data from |
| 974 // |socket_data_proxy_main_job|, | 974 // |socket_data_proxy_main_job|, |
| 975 // |socket_data_proxy_alternate_job| and | 975 // |socket_data_proxy_alternate_job| and |
| 976 // |socket_data_direct_first_request|. The second request should consume | 976 // |socket_data_direct_first_request|. The second request should consume |
| 977 // data from |socket_data_direct_second_request|. | 977 // data from |socket_data_direct_second_request|. |
| 978 for (size_t i = 0; i < 2; ++i) { | 978 for (size_t i = 0; i < 2; ++i) { |
| 979 std::unique_ptr<HttpStreamRequest> request( | 979 std::unique_ptr<HttpStreamRequest> request( |
| 980 session->http_stream_factory()->RequestStream( | 980 session->http_stream_factory()->RequestStream( |
| 981 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 981 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 982 NetLogWithSource())); | 982 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 983 waiter.WaitForStream(); | 983 waiter.WaitForStream(); |
| 984 | 984 |
| 985 // The proxy that failed should now be known to the proxy_service as | 985 // The proxy that failed should now be known to the proxy_service as |
| 986 // bad. | 986 // bad. |
| 987 const ProxyRetryInfoMap retry_info = | 987 const ProxyRetryInfoMap retry_info = |
| 988 session->proxy_service()->proxy_retry_info(); | 988 session->proxy_service()->proxy_retry_info(); |
| 989 EXPECT_EQ(2u, retry_info.size()) << mock_error; | 989 EXPECT_EQ(2u, retry_info.size()) << mock_error; |
| 990 | 990 |
| 991 // Verify that request was fetched without proxy. | 991 // Verify that request was fetched without proxy. |
| 992 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 992 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 | 1075 |
| 1076 EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); | 1076 EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); |
| 1077 | 1077 |
| 1078 // Start two requests. The first request should consume data from | 1078 // Start two requests. The first request should consume data from |
| 1079 // |socket_data_proxy_main_job| and |socket_data_https_first|. | 1079 // |socket_data_proxy_main_job| and |socket_data_https_first|. |
| 1080 // The second request should consume data from |socket_data_https_second|. | 1080 // The second request should consume data from |socket_data_https_second|. |
| 1081 for (size_t i = 0; i < 2; ++i) { | 1081 for (size_t i = 0; i < 2; ++i) { |
| 1082 std::unique_ptr<HttpStreamRequest> request( | 1082 std::unique_ptr<HttpStreamRequest> request( |
| 1083 session->http_stream_factory()->RequestStream( | 1083 session->http_stream_factory()->RequestStream( |
| 1084 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1084 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1085 NetLogWithSource())); | 1085 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1086 waiter.WaitForStream(); | 1086 waiter.WaitForStream(); |
| 1087 | 1087 |
| 1088 // The proxy that failed should now be known to the proxy_service as | 1088 // The proxy that failed should now be known to the proxy_service as |
| 1089 // bad. | 1089 // bad. |
| 1090 const ProxyRetryInfoMap retry_info = | 1090 const ProxyRetryInfoMap retry_info = |
| 1091 session->proxy_service()->proxy_retry_info(); | 1091 session->proxy_service()->proxy_retry_info(); |
| 1092 // Proxy should not be marked as bad. | 1092 // Proxy should not be marked as bad. |
| 1093 EXPECT_EQ(0u, retry_info.size()) << mock_error; | 1093 EXPECT_EQ(0u, retry_info.size()) << mock_error; |
| 1094 // Verify that request was fetched using proxy. | 1094 // Verify that request was fetched using proxy. |
| 1095 EXPECT_TRUE(waiter.used_proxy_info().is_https()); | 1095 EXPECT_TRUE(waiter.used_proxy_info().is_https()); |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 request_info.privacy_mode = PRIVACY_MODE_DISABLED; | 1422 request_info.privacy_mode = PRIVACY_MODE_DISABLED; |
| 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 NetLogWithSource())); | 1429 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1430 waiter.WaitForStream(); | 1430 waiter.WaitForStream(); |
| 1431 | 1431 |
| 1432 // The stream shouldn't come from spdy as we are using different privacy mode | 1432 // The stream shouldn't come from spdy as we are using different privacy mode |
| 1433 EXPECT_FALSE(request->using_spdy()); | 1433 EXPECT_FALSE(request->using_spdy()); |
| 1434 | 1434 |
| 1435 SSLConfig used_ssl_config = waiter.used_ssl_config(); | 1435 SSLConfig used_ssl_config = waiter.used_ssl_config(); |
| 1436 EXPECT_EQ(used_ssl_config.channel_id_enabled, ssl_config.channel_id_enabled); | 1436 EXPECT_EQ(used_ssl_config.channel_id_enabled, ssl_config.channel_id_enabled); |
| 1437 } | 1437 } |
| 1438 | 1438 |
| 1439 namespace { | 1439 namespace { |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1495 request_info.url = GURL("https://www.google.com"); | 1495 request_info.url = GURL("https://www.google.com"); |
| 1496 request_info.load_flags = 0; | 1496 request_info.load_flags = 0; |
| 1497 request_info.privacy_mode = PRIVACY_MODE_DISABLED; | 1497 request_info.privacy_mode = PRIVACY_MODE_DISABLED; |
| 1498 | 1498 |
| 1499 SSLConfig ssl_config; | 1499 SSLConfig ssl_config; |
| 1500 StreamRequestWaiter waiter; | 1500 StreamRequestWaiter waiter; |
| 1501 | 1501 |
| 1502 std::unique_ptr<HttpStreamRequest> request1( | 1502 std::unique_ptr<HttpStreamRequest> request1( |
| 1503 session->http_stream_factory()->RequestStream( | 1503 session->http_stream_factory()->RequestStream( |
| 1504 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1504 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1505 NetLogWithSource())); | 1505 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1506 waiter.WaitForStream(); | 1506 waiter.WaitForStream(); |
| 1507 | 1507 |
| 1508 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); | 1508 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); |
| 1509 | 1509 |
| 1510 std::unique_ptr<HttpStreamRequest> request2( | 1510 std::unique_ptr<HttpStreamRequest> request2( |
| 1511 session->http_stream_factory()->RequestStream( | 1511 session->http_stream_factory()->RequestStream( |
| 1512 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1512 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1513 NetLogWithSource())); | 1513 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1514 waiter.WaitForStream(); | 1514 waiter.WaitForStream(); |
| 1515 | 1515 |
| 1516 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); | 1516 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 1); |
| 1517 | 1517 |
| 1518 request_info.privacy_mode = PRIVACY_MODE_ENABLED; | 1518 request_info.privacy_mode = PRIVACY_MODE_ENABLED; |
| 1519 std::unique_ptr<HttpStreamRequest> request3( | 1519 std::unique_ptr<HttpStreamRequest> request3( |
| 1520 session->http_stream_factory()->RequestStream( | 1520 session->http_stream_factory()->RequestStream( |
| 1521 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1521 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1522 NetLogWithSource())); | 1522 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1523 waiter.WaitForStream(); | 1523 waiter.WaitForStream(); |
| 1524 | 1524 |
| 1525 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 2); | 1525 EXPECT_EQ(GetSocketPoolGroupCount(ssl_pool), 2); |
| 1526 } | 1526 } |
| 1527 | 1527 |
| 1528 TEST_F(HttpStreamFactoryTest, GetLoadState) { | 1528 TEST_F(HttpStreamFactoryTest, GetLoadState) { |
| 1529 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); | 1529 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); |
| 1530 | 1530 |
| 1531 // Force asynchronous host resolutions, so that the LoadState will be | 1531 // Force asynchronous host resolutions, so that the LoadState will be |
| 1532 // resolving the host. | 1532 // resolving the host. |
| 1533 session_deps.host_resolver->set_synchronous_mode(false); | 1533 session_deps.host_resolver->set_synchronous_mode(false); |
| 1534 | 1534 |
| 1535 StaticSocketDataProvider socket_data; | 1535 StaticSocketDataProvider socket_data; |
| 1536 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1536 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1537 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1537 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1538 | 1538 |
| 1539 std::unique_ptr<HttpNetworkSession> session( | 1539 std::unique_ptr<HttpNetworkSession> session( |
| 1540 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1540 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1541 | 1541 |
| 1542 HttpRequestInfo request_info; | 1542 HttpRequestInfo request_info; |
| 1543 request_info.method = "GET"; | 1543 request_info.method = "GET"; |
| 1544 request_info.url = GURL("http://www.google.com"); | 1544 request_info.url = GURL("http://www.google.com"); |
| 1545 | 1545 |
| 1546 SSLConfig ssl_config; | 1546 SSLConfig ssl_config; |
| 1547 StreamRequestWaiter waiter; | 1547 StreamRequestWaiter waiter; |
| 1548 std::unique_ptr<HttpStreamRequest> request( | 1548 std::unique_ptr<HttpStreamRequest> request( |
| 1549 session->http_stream_factory()->RequestStream( | 1549 session->http_stream_factory()->RequestStream( |
| 1550 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1550 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1551 NetLogWithSource())); | 1551 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1552 | 1552 |
| 1553 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); | 1553 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); |
| 1554 | 1554 |
| 1555 waiter.WaitForStream(); | 1555 waiter.WaitForStream(); |
| 1556 } | 1556 } |
| 1557 | 1557 |
| 1558 TEST_F(HttpStreamFactoryTest, RequestHttpStream) { | 1558 TEST_F(HttpStreamFactoryTest, RequestHttpStream) { |
| 1559 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); | 1559 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); |
| 1560 | 1560 |
| 1561 StaticSocketDataProvider socket_data; | 1561 StaticSocketDataProvider socket_data; |
| 1562 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1562 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
| 1563 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1563 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
| 1564 | 1564 |
| 1565 std::unique_ptr<HttpNetworkSession> session( | 1565 std::unique_ptr<HttpNetworkSession> session( |
| 1566 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 1566 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| 1567 | 1567 |
| 1568 // Now request a stream. It should succeed using the second proxy in the | 1568 // Now request a stream. It should succeed using the second proxy in the |
| 1569 // list. | 1569 // list. |
| 1570 HttpRequestInfo request_info; | 1570 HttpRequestInfo request_info; |
| 1571 request_info.method = "GET"; | 1571 request_info.method = "GET"; |
| 1572 request_info.url = GURL("http://www.google.com"); | 1572 request_info.url = GURL("http://www.google.com"); |
| 1573 request_info.load_flags = 0; | 1573 request_info.load_flags = 0; |
| 1574 | 1574 |
| 1575 SSLConfig ssl_config; | 1575 SSLConfig ssl_config; |
| 1576 StreamRequestWaiter waiter; | 1576 StreamRequestWaiter waiter; |
| 1577 std::unique_ptr<HttpStreamRequest> request( | 1577 std::unique_ptr<HttpStreamRequest> request( |
| 1578 session->http_stream_factory()->RequestStream( | 1578 session->http_stream_factory()->RequestStream( |
| 1579 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1579 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1580 NetLogWithSource())); | 1580 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1581 waiter.WaitForStream(); | 1581 waiter.WaitForStream(); |
| 1582 EXPECT_TRUE(waiter.stream_done()); | 1582 EXPECT_TRUE(waiter.stream_done()); |
| 1583 ASSERT_TRUE(nullptr != waiter.stream()); | 1583 ASSERT_TRUE(nullptr != waiter.stream()); |
| 1584 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1584 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 1585 | 1585 |
| 1586 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1586 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
| 1587 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1587 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1588 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1588 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1589 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 1589 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
| 1590 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1590 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1619 request_info.method = "GET"; | 1619 request_info.method = "GET"; |
| 1620 request_info.url = GURL("https://www.google.com"); | 1620 request_info.url = GURL("https://www.google.com"); |
| 1621 request_info.load_flags = 0; | 1621 request_info.load_flags = 0; |
| 1622 | 1622 |
| 1623 SSLConfig ssl_config; | 1623 SSLConfig ssl_config; |
| 1624 StreamRequestWaiter waiter; | 1624 StreamRequestWaiter waiter; |
| 1625 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1625 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
| 1626 std::unique_ptr<HttpStreamRequest> request( | 1626 std::unique_ptr<HttpStreamRequest> request( |
| 1627 session->http_stream_factory()->RequestStream( | 1627 session->http_stream_factory()->RequestStream( |
| 1628 request_info, LOWEST, ssl_config, ssl_config, &waiter, | 1628 request_info, LOWEST, ssl_config, ssl_config, &waiter, |
| 1629 NetLogWithSource())); | 1629 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1630 EXPECT_FALSE(waiter.stream_done()); | 1630 EXPECT_FALSE(waiter.stream_done()); |
| 1631 | 1631 |
| 1632 // Confirm a stream has been created by asserting that a new session | 1632 // Confirm a stream has been created by asserting that a new session |
| 1633 // has been created. (The stream is only created at the SPDY level on | 1633 // has been created. (The stream is only created at the SPDY level on |
| 1634 // first write, which happens after the request has returned a stream). | 1634 // first write, which happens after the request has returned a stream). |
| 1635 ASSERT_EQ(1, GetSpdySessionCount(session.get())); | 1635 ASSERT_EQ(1, GetSpdySessionCount(session.get())); |
| 1636 | 1636 |
| 1637 // Test to confirm that a SetPriority received after the stream is created | 1637 // Test to confirm that a SetPriority received after the stream is created |
| 1638 // but before the request returns it does not crash. | 1638 // but before the request returns it does not crash. |
| 1639 request->SetPriority(HIGHEST); | 1639 request->SetPriority(HIGHEST); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1662 HttpRequestInfo request_info; | 1662 HttpRequestInfo request_info; |
| 1663 request_info.method = "GET"; | 1663 request_info.method = "GET"; |
| 1664 request_info.url = GURL("https://www.google.com"); | 1664 request_info.url = GURL("https://www.google.com"); |
| 1665 request_info.load_flags = 0; | 1665 request_info.load_flags = 0; |
| 1666 | 1666 |
| 1667 SSLConfig ssl_config; | 1667 SSLConfig ssl_config; |
| 1668 StreamRequestWaiter waiter; | 1668 StreamRequestWaiter waiter; |
| 1669 std::unique_ptr<HttpStreamRequest> request( | 1669 std::unique_ptr<HttpStreamRequest> request( |
| 1670 session->http_stream_factory()->RequestStream( | 1670 session->http_stream_factory()->RequestStream( |
| 1671 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1671 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1672 NetLogWithSource())); | 1672 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1673 waiter.WaitForStream(); | 1673 waiter.WaitForStream(); |
| 1674 EXPECT_TRUE(waiter.stream_done()); | 1674 EXPECT_TRUE(waiter.stream_done()); |
| 1675 ASSERT_TRUE(nullptr != waiter.stream()); | 1675 ASSERT_TRUE(nullptr != waiter.stream()); |
| 1676 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1676 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 1677 | 1677 |
| 1678 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1678 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
| 1679 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1679 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1680 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1680 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1681 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1681 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1682 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1682 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1704 HttpRequestInfo request_info; | 1704 HttpRequestInfo request_info; |
| 1705 request_info.method = "GET"; | 1705 request_info.method = "GET"; |
| 1706 request_info.url = GURL("http://www.google.com"); | 1706 request_info.url = GURL("http://www.google.com"); |
| 1707 request_info.load_flags = 0; | 1707 request_info.load_flags = 0; |
| 1708 | 1708 |
| 1709 SSLConfig ssl_config; | 1709 SSLConfig ssl_config; |
| 1710 StreamRequestWaiter waiter; | 1710 StreamRequestWaiter waiter; |
| 1711 std::unique_ptr<HttpStreamRequest> request( | 1711 std::unique_ptr<HttpStreamRequest> request( |
| 1712 session->http_stream_factory()->RequestStream( | 1712 session->http_stream_factory()->RequestStream( |
| 1713 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1713 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1714 NetLogWithSource())); | 1714 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1715 waiter.WaitForStream(); | 1715 waiter.WaitForStream(); |
| 1716 EXPECT_TRUE(waiter.stream_done()); | 1716 EXPECT_TRUE(waiter.stream_done()); |
| 1717 ASSERT_TRUE(nullptr != waiter.stream()); | 1717 ASSERT_TRUE(nullptr != waiter.stream()); |
| 1718 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1718 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 1719 | 1719 |
| 1720 EXPECT_EQ(0, GetSpdySessionCount(session.get())); | 1720 EXPECT_EQ(0, GetSpdySessionCount(session.get())); |
| 1721 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1721 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1722 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1722 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1723 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1723 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1724 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1724 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1786 histogram_tester.ExpectUniqueSample("Net.PreconnectSkippedToProxyServers", 1, | 1786 histogram_tester.ExpectUniqueSample("Net.PreconnectSkippedToProxyServers", 1, |
| 1787 num_preconnects - 1); | 1787 num_preconnects - 1); |
| 1788 | 1788 |
| 1789 // Start a request. This should cause subsequent preconnect to proxy server to | 1789 // Start a request. This should cause subsequent preconnect to proxy server to |
| 1790 // succeed. | 1790 // succeed. |
| 1791 SSLConfig ssl_config; | 1791 SSLConfig ssl_config; |
| 1792 StreamRequestWaiter waiter; | 1792 StreamRequestWaiter waiter; |
| 1793 std::unique_ptr<HttpStreamRequest> request( | 1793 std::unique_ptr<HttpStreamRequest> request( |
| 1794 session->http_stream_factory()->RequestStream( | 1794 session->http_stream_factory()->RequestStream( |
| 1795 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1795 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1796 NetLogWithSource())); | 1796 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1797 waiter.WaitForStream(); | 1797 waiter.WaitForStream(); |
| 1798 EXPECT_TRUE(waiter.stream_done()); | 1798 EXPECT_TRUE(waiter.stream_done()); |
| 1799 ASSERT_TRUE(nullptr != waiter.stream()); | 1799 ASSERT_TRUE(nullptr != waiter.stream()); |
| 1800 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1800 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 1801 | 1801 |
| 1802 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSocketPoolForHTTPProxy( | 1802 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSocketPoolForHTTPProxy( |
| 1803 HttpNetworkSession::NORMAL_SOCKET_POOL, | 1803 HttpNetworkSession::NORMAL_SOCKET_POOL, |
| 1804 HostPortPair("myproxy.org", 443)))); | 1804 HostPortPair("myproxy.org", 443)))); |
| 1805 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); | 1805 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); |
| 1806 | 1806 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1835 request_info.url = GURL("ws://www.google.com"); | 1835 request_info.url = GURL("ws://www.google.com"); |
| 1836 request_info.load_flags = 0; | 1836 request_info.load_flags = 0; |
| 1837 | 1837 |
| 1838 SSLConfig ssl_config; | 1838 SSLConfig ssl_config; |
| 1839 StreamRequestWaiter waiter; | 1839 StreamRequestWaiter waiter; |
| 1840 WebSocketStreamCreateHelper create_helper; | 1840 WebSocketStreamCreateHelper create_helper; |
| 1841 std::unique_ptr<HttpStreamRequest> request( | 1841 std::unique_ptr<HttpStreamRequest> request( |
| 1842 session->http_stream_factory_for_websocket() | 1842 session->http_stream_factory_for_websocket() |
| 1843 ->RequestWebSocketHandshakeStream( | 1843 ->RequestWebSocketHandshakeStream( |
| 1844 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1844 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1845 &create_helper, NetLogWithSource())); | 1845 &create_helper, |
| 1846 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1846 waiter.WaitForStream(); | 1847 waiter.WaitForStream(); |
| 1847 EXPECT_TRUE(waiter.stream_done()); | 1848 EXPECT_TRUE(waiter.stream_done()); |
| 1848 EXPECT_TRUE(nullptr == waiter.stream()); | 1849 EXPECT_TRUE(nullptr == waiter.stream()); |
| 1849 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1850 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
| 1850 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1851 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
| 1851 waiter.websocket_stream()->type()); | 1852 waiter.websocket_stream()->type()); |
| 1852 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1853 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1853 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1854 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1854 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1855 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1855 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1856 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1878 request_info.url = GURL("wss://www.google.com"); | 1879 request_info.url = GURL("wss://www.google.com"); |
| 1879 request_info.load_flags = 0; | 1880 request_info.load_flags = 0; |
| 1880 | 1881 |
| 1881 SSLConfig ssl_config; | 1882 SSLConfig ssl_config; |
| 1882 StreamRequestWaiter waiter; | 1883 StreamRequestWaiter waiter; |
| 1883 WebSocketStreamCreateHelper create_helper; | 1884 WebSocketStreamCreateHelper create_helper; |
| 1884 std::unique_ptr<HttpStreamRequest> request( | 1885 std::unique_ptr<HttpStreamRequest> request( |
| 1885 session->http_stream_factory_for_websocket() | 1886 session->http_stream_factory_for_websocket() |
| 1886 ->RequestWebSocketHandshakeStream( | 1887 ->RequestWebSocketHandshakeStream( |
| 1887 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1888 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1888 &create_helper, NetLogWithSource())); | 1889 &create_helper, |
| 1890 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1889 waiter.WaitForStream(); | 1891 waiter.WaitForStream(); |
| 1890 EXPECT_TRUE(waiter.stream_done()); | 1892 EXPECT_TRUE(waiter.stream_done()); |
| 1891 EXPECT_TRUE(nullptr == waiter.stream()); | 1893 EXPECT_TRUE(nullptr == waiter.stream()); |
| 1892 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1894 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
| 1893 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1895 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
| 1894 waiter.websocket_stream()->type()); | 1896 waiter.websocket_stream()->type()); |
| 1895 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1897 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1896 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1898 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1897 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1899 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1898 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1900 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1919 request_info.url = GURL("ws://www.google.com"); | 1921 request_info.url = GURL("ws://www.google.com"); |
| 1920 request_info.load_flags = 0; | 1922 request_info.load_flags = 0; |
| 1921 | 1923 |
| 1922 SSLConfig ssl_config; | 1924 SSLConfig ssl_config; |
| 1923 StreamRequestWaiter waiter; | 1925 StreamRequestWaiter waiter; |
| 1924 WebSocketStreamCreateHelper create_helper; | 1926 WebSocketStreamCreateHelper create_helper; |
| 1925 std::unique_ptr<HttpStreamRequest> request( | 1927 std::unique_ptr<HttpStreamRequest> request( |
| 1926 session->http_stream_factory_for_websocket() | 1928 session->http_stream_factory_for_websocket() |
| 1927 ->RequestWebSocketHandshakeStream( | 1929 ->RequestWebSocketHandshakeStream( |
| 1928 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1930 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1929 &create_helper, NetLogWithSource())); | 1931 &create_helper, |
| 1932 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1930 waiter.WaitForStream(); | 1933 waiter.WaitForStream(); |
| 1931 EXPECT_TRUE(waiter.stream_done()); | 1934 EXPECT_TRUE(waiter.stream_done()); |
| 1932 EXPECT_TRUE(nullptr == waiter.stream()); | 1935 EXPECT_TRUE(nullptr == waiter.stream()); |
| 1933 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 1936 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
| 1934 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 1937 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
| 1935 waiter.websocket_stream()->type()); | 1938 waiter.websocket_stream()->type()); |
| 1936 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1939 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 1937 session->GetTransportSocketPool( | 1940 session->GetTransportSocketPool( |
| 1938 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 1941 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
| 1939 EXPECT_EQ(0, GetSocketPoolGroupCount( | 1942 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1973 HttpRequestInfo request_info; | 1976 HttpRequestInfo request_info; |
| 1974 request_info.method = "GET"; | 1977 request_info.method = "GET"; |
| 1975 request_info.url = GURL("https://www.google.com"); | 1978 request_info.url = GURL("https://www.google.com"); |
| 1976 request_info.load_flags = 0; | 1979 request_info.load_flags = 0; |
| 1977 | 1980 |
| 1978 SSLConfig ssl_config; | 1981 SSLConfig ssl_config; |
| 1979 StreamRequestWaiter waiter; | 1982 StreamRequestWaiter waiter; |
| 1980 std::unique_ptr<HttpStreamRequest> request( | 1983 std::unique_ptr<HttpStreamRequest> request( |
| 1981 session->http_stream_factory()->RequestStream( | 1984 session->http_stream_factory()->RequestStream( |
| 1982 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 1985 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 1983 NetLogWithSource())); | 1986 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 1984 waiter.WaitForStream(); | 1987 waiter.WaitForStream(); |
| 1985 EXPECT_TRUE(waiter.stream_done()); | 1988 EXPECT_TRUE(waiter.stream_done()); |
| 1986 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 1989 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 1987 ASSERT_TRUE(nullptr != waiter.stream()); | 1990 ASSERT_TRUE(nullptr != waiter.stream()); |
| 1988 | 1991 |
| 1989 EXPECT_EQ(1, GetSpdySessionCount(session.get())); | 1992 EXPECT_EQ(1, GetSpdySessionCount(session.get())); |
| 1990 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1993 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1991 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1994 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 1992 EXPECT_EQ(1, GetSocketPoolGroupCount( | 1995 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 1993 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 1996 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2027 HttpRequestInfo request_info; | 2030 HttpRequestInfo request_info; |
| 2028 request_info.method = "GET"; | 2031 request_info.method = "GET"; |
| 2029 request_info.url = GURL("http://www.google.com"); | 2032 request_info.url = GURL("http://www.google.com"); |
| 2030 request_info.load_flags = 0; | 2033 request_info.load_flags = 0; |
| 2031 | 2034 |
| 2032 SSLConfig ssl_config; | 2035 SSLConfig ssl_config; |
| 2033 StreamRequestWaiter waiter; | 2036 StreamRequestWaiter waiter; |
| 2034 std::unique_ptr<HttpStreamRequest> request( | 2037 std::unique_ptr<HttpStreamRequest> request( |
| 2035 session->http_stream_factory()->RequestStream( | 2038 session->http_stream_factory()->RequestStream( |
| 2036 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2039 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2037 NetLogWithSource())); | 2040 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2038 waiter.WaitForStream(); | 2041 waiter.WaitForStream(); |
| 2039 EXPECT_TRUE(waiter.stream_done()); | 2042 EXPECT_TRUE(waiter.stream_done()); |
| 2040 EXPECT_TRUE(nullptr == waiter.websocket_stream()); | 2043 EXPECT_TRUE(nullptr == waiter.websocket_stream()); |
| 2041 ASSERT_TRUE(nullptr != waiter.stream()); | 2044 ASSERT_TRUE(nullptr != waiter.stream()); |
| 2042 | 2045 |
| 2043 EXPECT_EQ(1, GetSpdySessionCount(session.get())); | 2046 EXPECT_EQ(1, GetSpdySessionCount(session.get())); |
| 2044 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2047 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
| 2045 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2048 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2046 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 2049 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
| 2047 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2050 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2073 HttpRequestInfo request_info; | 2076 HttpRequestInfo request_info; |
| 2074 request_info.method = "GET"; | 2077 request_info.method = "GET"; |
| 2075 request_info.url = GURL("https://www.google.com"); | 2078 request_info.url = GURL("https://www.google.com"); |
| 2076 request_info.load_flags = 0; | 2079 request_info.load_flags = 0; |
| 2077 | 2080 |
| 2078 SSLConfig ssl_config; | 2081 SSLConfig ssl_config; |
| 2079 StreamRequestWaiter waiter; | 2082 StreamRequestWaiter waiter; |
| 2080 std::unique_ptr<HttpStreamRequest> request( | 2083 std::unique_ptr<HttpStreamRequest> request( |
| 2081 session->http_stream_factory()->RequestBidirectionalStreamImpl( | 2084 session->http_stream_factory()->RequestBidirectionalStreamImpl( |
| 2082 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2085 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2083 NetLogWithSource())); | 2086 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2084 waiter.WaitForStream(); | 2087 waiter.WaitForStream(); |
| 2085 EXPECT_TRUE(waiter.stream_done()); | 2088 EXPECT_TRUE(waiter.stream_done()); |
| 2086 EXPECT_FALSE(waiter.websocket_stream()); | 2089 EXPECT_FALSE(waiter.websocket_stream()); |
| 2087 ASSERT_FALSE(waiter.stream()); | 2090 ASSERT_FALSE(waiter.stream()); |
| 2088 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 2091 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
| 2089 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2092 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
| 2090 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2093 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2091 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 2094 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
| 2092 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2095 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2093 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2096 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2246 SSLConfig ssl_config; | 2249 SSLConfig ssl_config; |
| 2247 HttpRequestInfo request_info; | 2250 HttpRequestInfo request_info; |
| 2248 request_info.method = "GET"; | 2251 request_info.method = "GET"; |
| 2249 request_info.url = default_url_; | 2252 request_info.url = default_url_; |
| 2250 request_info.load_flags = 0; | 2253 request_info.load_flags = 0; |
| 2251 | 2254 |
| 2252 StreamRequestWaiter waiter; | 2255 StreamRequestWaiter waiter; |
| 2253 std::unique_ptr<HttpStreamRequest> request( | 2256 std::unique_ptr<HttpStreamRequest> request( |
| 2254 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 2257 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
| 2255 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2258 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2256 NetLogWithSource())); | 2259 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2257 | 2260 |
| 2258 waiter.WaitForStream(); | 2261 waiter.WaitForStream(); |
| 2259 EXPECT_TRUE(waiter.stream_done()); | 2262 EXPECT_TRUE(waiter.stream_done()); |
| 2260 EXPECT_FALSE(waiter.websocket_stream()); | 2263 EXPECT_FALSE(waiter.websocket_stream()); |
| 2261 ASSERT_FALSE(waiter.stream()); | 2264 ASSERT_FALSE(waiter.stream()); |
| 2262 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 2265 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
| 2263 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); | 2266 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); |
| 2264 | 2267 |
| 2265 BidirectionalStreamRequestInfo bidi_request_info; | 2268 BidirectionalStreamRequestInfo bidi_request_info; |
| 2266 bidi_request_info.method = "GET"; | 2269 bidi_request_info.method = "GET"; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2311 SSLConfig ssl_config; | 2314 SSLConfig ssl_config; |
| 2312 HttpRequestInfo request_info; | 2315 HttpRequestInfo request_info; |
| 2313 request_info.method = "GET"; | 2316 request_info.method = "GET"; |
| 2314 request_info.url = default_url_; | 2317 request_info.url = default_url_; |
| 2315 request_info.load_flags = 0; | 2318 request_info.load_flags = 0; |
| 2316 | 2319 |
| 2317 StreamRequestWaiter waiter; | 2320 StreamRequestWaiter waiter; |
| 2318 std::unique_ptr<HttpStreamRequest> request( | 2321 std::unique_ptr<HttpStreamRequest> request( |
| 2319 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 2322 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
| 2320 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2323 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2321 NetLogWithSource())); | 2324 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2322 | 2325 |
| 2323 waiter.WaitForStream(); | 2326 waiter.WaitForStream(); |
| 2324 EXPECT_TRUE(waiter.stream_done()); | 2327 EXPECT_TRUE(waiter.stream_done()); |
| 2325 EXPECT_FALSE(waiter.websocket_stream()); | 2328 EXPECT_FALSE(waiter.websocket_stream()); |
| 2326 ASSERT_FALSE(waiter.stream()); | 2329 ASSERT_FALSE(waiter.stream()); |
| 2327 ASSERT_FALSE(waiter.bidirectional_stream_impl()); | 2330 ASSERT_FALSE(waiter.bidirectional_stream_impl()); |
| 2328 // Since the alternative service job is not started, we will get the error | 2331 // Since the alternative service job is not started, we will get the error |
| 2329 // from the http job. | 2332 // from the http job. |
| 2330 ASSERT_THAT(waiter.error_status(), IsError(ERR_CONNECTION_REFUSED)); | 2333 ASSERT_THAT(waiter.error_status(), IsError(ERR_CONNECTION_REFUSED)); |
| 2331 } | 2334 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2373 SSLConfig ssl_config; | 2376 SSLConfig ssl_config; |
| 2374 HttpRequestInfo request_info; | 2377 HttpRequestInfo request_info; |
| 2375 request_info.method = "GET"; | 2378 request_info.method = "GET"; |
| 2376 request_info.url = default_url_; | 2379 request_info.url = default_url_; |
| 2377 request_info.load_flags = 0; | 2380 request_info.load_flags = 0; |
| 2378 | 2381 |
| 2379 StreamRequestWaiter waiter; | 2382 StreamRequestWaiter waiter; |
| 2380 std::unique_ptr<HttpStreamRequest> request( | 2383 std::unique_ptr<HttpStreamRequest> request( |
| 2381 session()->http_stream_factory()->RequestBidirectionalStreamImpl( | 2384 session()->http_stream_factory()->RequestBidirectionalStreamImpl( |
| 2382 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2385 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2383 NetLogWithSource())); | 2386 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2384 | 2387 |
| 2385 waiter.WaitForStream(); | 2388 waiter.WaitForStream(); |
| 2386 EXPECT_TRUE(waiter.stream_done()); | 2389 EXPECT_TRUE(waiter.stream_done()); |
| 2387 EXPECT_FALSE(waiter.websocket_stream()); | 2390 EXPECT_FALSE(waiter.websocket_stream()); |
| 2388 ASSERT_FALSE(waiter.stream()); | 2391 ASSERT_FALSE(waiter.stream()); |
| 2389 ASSERT_TRUE(waiter.bidirectional_stream_impl()); | 2392 ASSERT_TRUE(waiter.bidirectional_stream_impl()); |
| 2390 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); | 2393 BidirectionalStreamImpl* stream_impl = waiter.bidirectional_stream_impl(); |
| 2391 | 2394 |
| 2392 BidirectionalStreamRequestInfo bidi_request_info; | 2395 BidirectionalStreamRequestInfo bidi_request_info; |
| 2393 bidi_request_info.method = "GET"; | 2396 bidi_request_info.method = "GET"; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2440 HttpRequestInfo request_info; | 2443 HttpRequestInfo request_info; |
| 2441 request_info.method = "GET"; | 2444 request_info.method = "GET"; |
| 2442 request_info.url = GURL("https://www.google.com"); | 2445 request_info.url = GURL("https://www.google.com"); |
| 2443 request_info.load_flags = 0; | 2446 request_info.load_flags = 0; |
| 2444 | 2447 |
| 2445 SSLConfig ssl_config; | 2448 SSLConfig ssl_config; |
| 2446 StreamRequestWaiter waiter; | 2449 StreamRequestWaiter waiter; |
| 2447 std::unique_ptr<HttpStreamRequest> request( | 2450 std::unique_ptr<HttpStreamRequest> request( |
| 2448 session->http_stream_factory()->RequestBidirectionalStreamImpl( | 2451 session->http_stream_factory()->RequestBidirectionalStreamImpl( |
| 2449 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2452 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2450 NetLogWithSource())); | 2453 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2451 waiter.WaitForStream(); | 2454 waiter.WaitForStream(); |
| 2452 EXPECT_TRUE(waiter.stream_done()); | 2455 EXPECT_TRUE(waiter.stream_done()); |
| 2453 ASSERT_THAT(waiter.error_status(), IsError(ERR_FAILED)); | 2456 ASSERT_THAT(waiter.error_status(), IsError(ERR_FAILED)); |
| 2454 EXPECT_FALSE(waiter.websocket_stream()); | 2457 EXPECT_FALSE(waiter.websocket_stream()); |
| 2455 ASSERT_FALSE(waiter.stream()); | 2458 ASSERT_FALSE(waiter.stream()); |
| 2456 ASSERT_FALSE(waiter.bidirectional_stream_impl()); | 2459 ASSERT_FALSE(waiter.bidirectional_stream_impl()); |
| 2457 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2460 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
| 2458 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2461 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2459 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 2462 EXPECT_EQ(1, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
| 2460 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2463 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 2488 request_info.url = GURL("wss://www.google.com"); | 2491 request_info.url = GURL("wss://www.google.com"); |
| 2489 request_info.load_flags = 0; | 2492 request_info.load_flags = 0; |
| 2490 | 2493 |
| 2491 SSLConfig ssl_config; | 2494 SSLConfig ssl_config; |
| 2492 StreamRequestWaiter waiter1; | 2495 StreamRequestWaiter waiter1; |
| 2493 WebSocketStreamCreateHelper create_helper; | 2496 WebSocketStreamCreateHelper create_helper; |
| 2494 std::unique_ptr<HttpStreamRequest> request1( | 2497 std::unique_ptr<HttpStreamRequest> request1( |
| 2495 session->http_stream_factory_for_websocket() | 2498 session->http_stream_factory_for_websocket() |
| 2496 ->RequestWebSocketHandshakeStream( | 2499 ->RequestWebSocketHandshakeStream( |
| 2497 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, | 2500 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, |
| 2498 &create_helper, NetLogWithSource())); | 2501 &create_helper, |
| 2502 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2499 waiter1.WaitForStream(); | 2503 waiter1.WaitForStream(); |
| 2500 EXPECT_TRUE(waiter1.stream_done()); | 2504 EXPECT_TRUE(waiter1.stream_done()); |
| 2501 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); | 2505 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); |
| 2502 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, | 2506 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeBasic, |
| 2503 waiter1.websocket_stream()->type()); | 2507 waiter1.websocket_stream()->type()); |
| 2504 EXPECT_TRUE(nullptr == waiter1.stream()); | 2508 EXPECT_TRUE(nullptr == waiter1.stream()); |
| 2505 | 2509 |
| 2506 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2510 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 2507 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2511 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2508 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2512 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2535 request_info.url = GURL("wss://www.google.com"); | 2539 request_info.url = GURL("wss://www.google.com"); |
| 2536 request_info.load_flags = 0; | 2540 request_info.load_flags = 0; |
| 2537 | 2541 |
| 2538 SSLConfig ssl_config; | 2542 SSLConfig ssl_config; |
| 2539 StreamRequestWaiter waiter1; | 2543 StreamRequestWaiter waiter1; |
| 2540 WebSocketStreamCreateHelper create_helper; | 2544 WebSocketStreamCreateHelper create_helper; |
| 2541 std::unique_ptr<HttpStreamRequest> request1( | 2545 std::unique_ptr<HttpStreamRequest> request1( |
| 2542 session->http_stream_factory_for_websocket() | 2546 session->http_stream_factory_for_websocket() |
| 2543 ->RequestWebSocketHandshakeStream( | 2547 ->RequestWebSocketHandshakeStream( |
| 2544 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, | 2548 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter1, |
| 2545 &create_helper, NetLogWithSource())); | 2549 &create_helper, |
| 2550 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2546 waiter1.WaitForStream(); | 2551 waiter1.WaitForStream(); |
| 2547 EXPECT_TRUE(waiter1.stream_done()); | 2552 EXPECT_TRUE(waiter1.stream_done()); |
| 2548 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); | 2553 ASSERT_TRUE(nullptr != waiter1.websocket_stream()); |
| 2549 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2554 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
| 2550 waiter1.websocket_stream()->type()); | 2555 waiter1.websocket_stream()->type()); |
| 2551 EXPECT_TRUE(nullptr == waiter1.stream()); | 2556 EXPECT_TRUE(nullptr == waiter1.stream()); |
| 2552 | 2557 |
| 2553 StreamRequestWaiter waiter2; | 2558 StreamRequestWaiter waiter2; |
| 2554 std::unique_ptr<HttpStreamRequest> request2( | 2559 std::unique_ptr<HttpStreamRequest> request2( |
| 2555 session->http_stream_factory_for_websocket() | 2560 session->http_stream_factory_for_websocket() |
| 2556 ->RequestWebSocketHandshakeStream( | 2561 ->RequestWebSocketHandshakeStream( |
| 2557 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter2, | 2562 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter2, |
| 2558 &create_helper, NetLogWithSource())); | 2563 &create_helper, |
| 2564 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2559 waiter2.WaitForStream(); | 2565 waiter2.WaitForStream(); |
| 2560 EXPECT_TRUE(waiter2.stream_done()); | 2566 EXPECT_TRUE(waiter2.stream_done()); |
| 2561 ASSERT_TRUE(nullptr != waiter2.websocket_stream()); | 2567 ASSERT_TRUE(nullptr != waiter2.websocket_stream()); |
| 2562 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2568 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
| 2563 waiter2.websocket_stream()->type()); | 2569 waiter2.websocket_stream()->type()); |
| 2564 EXPECT_TRUE(nullptr == waiter2.stream()); | 2570 EXPECT_TRUE(nullptr == waiter2.stream()); |
| 2565 EXPECT_NE(waiter2.websocket_stream(), waiter1.websocket_stream()); | 2571 EXPECT_NE(waiter2.websocket_stream(), waiter1.websocket_stream()); |
| 2566 EXPECT_EQ(static_cast<WebSocketSpdyHandshakeStream*>( | 2572 EXPECT_EQ(static_cast<WebSocketSpdyHandshakeStream*>( |
| 2567 waiter2.websocket_stream())->spdy_session(), | 2573 waiter2.websocket_stream())->spdy_session(), |
| 2568 static_cast<WebSocketSpdyHandshakeStream*>( | 2574 static_cast<WebSocketSpdyHandshakeStream*>( |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2614 host_port_pair.port()), | 2620 host_port_pair.port()), |
| 2615 AlternativeService(kProtoHTTP2, "www.google.com", 9999), expiration); | 2621 AlternativeService(kProtoHTTP2, "www.google.com", 9999), expiration); |
| 2616 | 2622 |
| 2617 SSLConfig ssl_config; | 2623 SSLConfig ssl_config; |
| 2618 StreamRequestWaiter waiter; | 2624 StreamRequestWaiter waiter; |
| 2619 WebSocketStreamCreateHelper create_helper; | 2625 WebSocketStreamCreateHelper create_helper; |
| 2620 std::unique_ptr<HttpStreamRequest> request( | 2626 std::unique_ptr<HttpStreamRequest> request( |
| 2621 session->http_stream_factory_for_websocket() | 2627 session->http_stream_factory_for_websocket() |
| 2622 ->RequestWebSocketHandshakeStream( | 2628 ->RequestWebSocketHandshakeStream( |
| 2623 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, | 2629 request_info, DEFAULT_PRIORITY, ssl_config, ssl_config, &waiter, |
| 2624 &create_helper, NetLogWithSource())); | 2630 &create_helper, |
| 2631 /* enable_ip_based_pooling = */ true, NetLogWithSource())); |
| 2625 waiter.WaitForStream(); | 2632 waiter.WaitForStream(); |
| 2626 EXPECT_TRUE(waiter.stream_done()); | 2633 EXPECT_TRUE(waiter.stream_done()); |
| 2627 EXPECT_TRUE(nullptr == waiter.stream()); | 2634 EXPECT_TRUE(nullptr == waiter.stream()); |
| 2628 ASSERT_TRUE(nullptr != waiter.websocket_stream()); | 2635 ASSERT_TRUE(nullptr != waiter.websocket_stream()); |
| 2629 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, | 2636 EXPECT_EQ(MockWebSocketHandshakeStream::kStreamTypeSpdy, |
| 2630 waiter.websocket_stream()->type()); | 2637 waiter.websocket_stream()->type()); |
| 2631 | 2638 |
| 2632 // Make sure that there was an alternative connection | 2639 // Make sure that there was an alternative connection |
| 2633 // which consumes extra connections. | 2640 // which consumes extra connections. |
| 2634 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2641 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 2635 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2642 session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2636 EXPECT_EQ(0, GetSocketPoolGroupCount( | 2643 EXPECT_EQ(0, GetSocketPoolGroupCount( |
| 2637 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2644 session->GetSSLSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL))); |
| 2638 EXPECT_EQ(2, GetSocketPoolGroupCount( | 2645 EXPECT_EQ(2, GetSocketPoolGroupCount( |
| 2639 session->GetTransportSocketPool( | 2646 session->GetTransportSocketPool( |
| 2640 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2647 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
| 2641 EXPECT_EQ(1, GetSocketPoolGroupCount( | 2648 EXPECT_EQ(1, GetSocketPoolGroupCount( |
| 2642 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2649 session->GetSSLSocketPool(HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
| 2643 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2650 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
| 2644 } | 2651 } |
| 2645 | 2652 |
| 2646 } // namespace | 2653 } // namespace |
| 2647 | 2654 |
| 2648 } // namespace net | 2655 } // namespace net |
| OLD | NEW |