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 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 495 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
496 session_deps.transport_security_state.get(), | 496 session_deps.transport_security_state.get(), |
497 session_deps.cert_transparency_verifier.get(), | 497 session_deps.cert_transparency_verifier.get(), |
498 session_deps.ct_policy_enforcer.get()); | 498 session_deps.ct_policy_enforcer.get()); |
499 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 499 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
500 new CapturePreconnectsSSLSocketPool( | 500 new CapturePreconnectsSSLSocketPool( |
501 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 501 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
502 session_deps.transport_security_state.get(), | 502 session_deps.transport_security_state.get(), |
503 session_deps.cert_transparency_verifier.get(), | 503 session_deps.cert_transparency_verifier.get(), |
504 session_deps.ct_policy_enforcer.get()); | 504 session_deps.ct_policy_enforcer.get()); |
505 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 505 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
506 new MockClientSocketPoolManager); | |
507 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 506 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
508 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 507 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
509 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 508 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
510 PreconnectHelper(kTests[i], session.get()); | 509 PreconnectHelper(kTests[i], session.get()); |
511 if (kTests[i].ssl) | 510 if (kTests[i].ssl) |
512 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 511 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
513 else | 512 else |
514 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); | 513 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); |
515 } | 514 } |
516 } | 515 } |
(...skipping 11 matching lines...) Expand all Loading... |
528 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 527 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
529 session_deps.transport_security_state.get(), | 528 session_deps.transport_security_state.get(), |
530 session_deps.cert_transparency_verifier.get(), | 529 session_deps.cert_transparency_verifier.get(), |
531 session_deps.ct_policy_enforcer.get()); | 530 session_deps.ct_policy_enforcer.get()); |
532 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 531 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
533 new CapturePreconnectsSSLSocketPool( | 532 new CapturePreconnectsSSLSocketPool( |
534 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 533 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
535 session_deps.transport_security_state.get(), | 534 session_deps.transport_security_state.get(), |
536 session_deps.cert_transparency_verifier.get(), | 535 session_deps.cert_transparency_verifier.get(), |
537 session_deps.ct_policy_enforcer.get()); | 536 session_deps.ct_policy_enforcer.get()); |
538 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 537 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
539 new MockClientSocketPoolManager); | |
540 mock_pool_manager->SetSocketPoolForHTTPProxy( | 538 mock_pool_manager->SetSocketPoolForHTTPProxy( |
541 proxy_host, base::WrapUnique(http_proxy_pool)); | 539 proxy_host, base::WrapUnique(http_proxy_pool)); |
542 mock_pool_manager->SetSocketPoolForSSLWithProxy( | 540 mock_pool_manager->SetSocketPoolForSSLWithProxy( |
543 proxy_host, base::WrapUnique(ssl_conn_pool)); | 541 proxy_host, base::WrapUnique(ssl_conn_pool)); |
544 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 542 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
545 PreconnectHelper(kTests[i], session.get()); | 543 PreconnectHelper(kTests[i], session.get()); |
546 if (kTests[i].ssl) | 544 if (kTests[i].ssl) |
547 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 545 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
548 else | 546 else |
549 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); | 547 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); |
(...skipping 13 matching lines...) Expand all Loading... |
563 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 561 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
564 session_deps.transport_security_state.get(), | 562 session_deps.transport_security_state.get(), |
565 session_deps.cert_transparency_verifier.get(), | 563 session_deps.cert_transparency_verifier.get(), |
566 session_deps.ct_policy_enforcer.get()); | 564 session_deps.ct_policy_enforcer.get()); |
567 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 565 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
568 new CapturePreconnectsSSLSocketPool( | 566 new CapturePreconnectsSSLSocketPool( |
569 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 567 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
570 session_deps.transport_security_state.get(), | 568 session_deps.transport_security_state.get(), |
571 session_deps.cert_transparency_verifier.get(), | 569 session_deps.cert_transparency_verifier.get(), |
572 session_deps.ct_policy_enforcer.get()); | 570 session_deps.ct_policy_enforcer.get()); |
573 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 571 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
574 new MockClientSocketPoolManager); | |
575 mock_pool_manager->SetSocketPoolForSOCKSProxy( | 572 mock_pool_manager->SetSocketPoolForSOCKSProxy( |
576 proxy_host, base::WrapUnique(socks_proxy_pool)); | 573 proxy_host, base::WrapUnique(socks_proxy_pool)); |
577 mock_pool_manager->SetSocketPoolForSSLWithProxy( | 574 mock_pool_manager->SetSocketPoolForSSLWithProxy( |
578 proxy_host, base::WrapUnique(ssl_conn_pool)); | 575 proxy_host, base::WrapUnique(ssl_conn_pool)); |
579 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 576 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
580 PreconnectHelper(kTests[i], session.get()); | 577 PreconnectHelper(kTests[i], session.get()); |
581 if (kTests[i].ssl) | 578 if (kTests[i].ssl) |
582 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); | 579 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); |
583 else | 580 else |
584 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); | 581 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); |
(...skipping 18 matching lines...) Expand all Loading... |
603 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 600 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
604 session_deps.transport_security_state.get(), | 601 session_deps.transport_security_state.get(), |
605 session_deps.cert_transparency_verifier.get(), | 602 session_deps.cert_transparency_verifier.get(), |
606 session_deps.ct_policy_enforcer.get()); | 603 session_deps.ct_policy_enforcer.get()); |
607 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 604 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
608 new CapturePreconnectsSSLSocketPool( | 605 new CapturePreconnectsSSLSocketPool( |
609 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 606 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
610 session_deps.transport_security_state.get(), | 607 session_deps.transport_security_state.get(), |
611 session_deps.cert_transparency_verifier.get(), | 608 session_deps.cert_transparency_verifier.get(), |
612 session_deps.ct_policy_enforcer.get()); | 609 session_deps.ct_policy_enforcer.get()); |
613 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 610 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
614 new MockClientSocketPoolManager); | |
615 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 611 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
616 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); | 612 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); |
617 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 613 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
618 PreconnectHelper(kTests[i], session.get()); | 614 PreconnectHelper(kTests[i], session.get()); |
619 // We shouldn't be preconnecting if we have an existing session, which is | 615 // We shouldn't be preconnecting if we have an existing session, which is |
620 // the case for https://www.google.com. | 616 // the case for https://www.google.com. |
621 if (kTests[i].ssl) | 617 if (kTests[i].ssl) |
622 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); | 618 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); |
623 else | 619 else |
624 EXPECT_EQ(kTests[i].num_streams, | 620 EXPECT_EQ(kTests[i].num_streams, |
625 transport_conn_pool->last_num_streams()); | 621 transport_conn_pool->last_num_streams()); |
626 } | 622 } |
627 } | 623 } |
628 | 624 |
629 // Verify that preconnects to unsafe ports are cancelled before they reach | 625 // Verify that preconnects to unsafe ports are cancelled before they reach |
630 // the SocketPool. | 626 // the SocketPool. |
631 TEST_F(HttpStreamFactoryTest, PreconnectUnsafePort) { | 627 TEST_F(HttpStreamFactoryTest, PreconnectUnsafePort) { |
632 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); | 628 ASSERT_FALSE(IsPortAllowedForScheme(7, "http")); |
633 | 629 |
634 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); | 630 SpdySessionDependencies session_deps(ProxyService::CreateDirect()); |
635 std::unique_ptr<HttpNetworkSession> session( | 631 std::unique_ptr<HttpNetworkSession> session( |
636 SpdySessionDependencies::SpdyCreateSession(&session_deps)); | 632 SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
637 HttpNetworkSessionPeer peer(session.get()); | 633 HttpNetworkSessionPeer peer(session.get()); |
638 CapturePreconnectsTransportSocketPool* transport_conn_pool = | 634 CapturePreconnectsTransportSocketPool* transport_conn_pool = |
639 new CapturePreconnectsTransportSocketPool( | 635 new CapturePreconnectsTransportSocketPool( |
640 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 636 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
641 session_deps.transport_security_state.get(), | 637 session_deps.transport_security_state.get(), |
642 session_deps.cert_transparency_verifier.get(), | 638 session_deps.cert_transparency_verifier.get(), |
643 session_deps.ct_policy_enforcer.get()); | 639 session_deps.ct_policy_enforcer.get()); |
644 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 640 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
645 new MockClientSocketPoolManager); | |
646 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); | 641 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); |
647 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 642 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
648 | 643 |
649 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); | 644 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get()); |
650 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); | 645 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); |
651 } | 646 } |
652 | 647 |
653 TEST_F(HttpStreamFactoryTest, JobNotifiesProxy) { | 648 TEST_F(HttpStreamFactoryTest, JobNotifiesProxy) { |
654 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; | 649 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; |
655 SpdySessionDependencies session_deps( | 650 SpdySessionDependencies session_deps( |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 TransportSecurityState transport_security_state; | 727 TransportSecurityState transport_security_state; |
733 params.transport_security_state = &transport_security_state; | 728 params.transport_security_state = &transport_security_state; |
734 MultiLogCTVerifier ct_verifier; | 729 MultiLogCTVerifier ct_verifier; |
735 params.cert_transparency_verifier = &ct_verifier; | 730 params.cert_transparency_verifier = &ct_verifier; |
736 CTPolicyEnforcer ct_policy_enforcer; | 731 CTPolicyEnforcer ct_policy_enforcer; |
737 params.ct_policy_enforcer = &ct_policy_enforcer; | 732 params.ct_policy_enforcer = &ct_policy_enforcer; |
738 params.proxy_service = proxy_service.get(); | 733 params.proxy_service = proxy_service.get(); |
739 params.ssl_config_service = ssl_config_service.get(); | 734 params.ssl_config_service = ssl_config_service.get(); |
740 params.http_server_properties = &http_server_properties; | 735 params.http_server_properties = &http_server_properties; |
741 | 736 |
742 std::unique_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 737 auto session = base::MakeUnique<HttpNetworkSession>(params); |
743 session->quic_stream_factory()->set_require_confirmation(false); | 738 session->quic_stream_factory()->set_require_confirmation(false); |
744 | 739 |
745 StaticSocketDataProvider socket_data1; | 740 StaticSocketDataProvider socket_data1; |
746 socket_data1.set_connect_data( | 741 socket_data1.set_connect_data( |
747 MockConnect(ASYNC, quic_proxy_test_mock_errors[i])); | 742 MockConnect(ASYNC, quic_proxy_test_mock_errors[i])); |
748 socket_factory.AddSocketDataProvider(&socket_data1); | 743 socket_factory.AddSocketDataProvider(&socket_data1); |
749 | 744 |
750 // Second connection attempt succeeds. | 745 // Second connection attempt succeeds. |
751 StaticSocketDataProvider socket_data2; | 746 StaticSocketDataProvider socket_data2; |
752 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); | 747 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 | 817 |
823 void AddWrite(std::unique_ptr<QuicEncryptedPacket> packet) { | 818 void AddWrite(std::unique_ptr<QuicEncryptedPacket> packet) { |
824 writes_.push_back(MockWrite(SYNCHRONOUS, packet->data(), packet->length(), | 819 writes_.push_back(MockWrite(SYNCHRONOUS, packet->data(), packet->length(), |
825 packet_number_++)); | 820 packet_number_++)); |
826 packets_.push_back(std::move(packet)); | 821 packets_.push_back(std::move(packet)); |
827 } | 822 } |
828 | 823 |
829 void AddSocketDataToFactory(MockClientSocketFactory* factory) { | 824 void AddSocketDataToFactory(MockClientSocketFactory* factory) { |
830 MockRead* reads = reads_.empty() ? nullptr : &reads_[0]; | 825 MockRead* reads = reads_.empty() ? nullptr : &reads_[0]; |
831 MockWrite* writes = writes_.empty() ? nullptr : &writes_[0]; | 826 MockWrite* writes = writes_.empty() ? nullptr : &writes_[0]; |
832 socket_data_.reset( | 827 socket_data_ = base::MakeUnique<SequencedSocketData>( |
833 new SequencedSocketData(reads, reads_.size(), writes, writes_.size())); | 828 reads, reads_.size(), writes, writes_.size()); |
834 factory->AddSocketDataProvider(socket_data_.get()); | 829 factory->AddSocketDataProvider(socket_data_.get()); |
835 } | 830 } |
836 | 831 |
837 private: | 832 private: |
838 std::vector<std::unique_ptr<QuicEncryptedPacket>> packets_; | 833 std::vector<std::unique_ptr<QuicEncryptedPacket>> packets_; |
839 std::vector<MockWrite> writes_; | 834 std::vector<MockWrite> writes_; |
840 std::vector<MockRead> reads_; | 835 std::vector<MockRead> reads_; |
841 size_t packet_number_; | 836 size_t packet_number_; |
842 std::unique_ptr<SequencedSocketData> socket_data_; | 837 std::unique_ptr<SequencedSocketData> socket_data_; |
843 }; | 838 }; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service( | 894 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service( |
900 new SSLConfigServiceDefaults); | 895 new SSLConfigServiceDefaults); |
901 MockHostResolver host_resolver; | 896 MockHostResolver host_resolver; |
902 TransportSecurityState transport_security_state; | 897 TransportSecurityState transport_security_state; |
903 SetupForQuicAlternativeProxyTest( | 898 SetupForQuicAlternativeProxyTest( |
904 ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate, | 899 ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate, |
905 &http_server_properties, &cert_verifier, &ct_policy_enforcer, | 900 &http_server_properties, &cert_verifier, &ct_policy_enforcer, |
906 &ct_verifier, ssl_config_service.get(), &host_resolver, | 901 &ct_verifier, ssl_config_service.get(), &host_resolver, |
907 &transport_security_state, set_alternative_proxy_server); | 902 &transport_security_state, set_alternative_proxy_server); |
908 | 903 |
909 std::unique_ptr<HttpNetworkSession> session( | 904 auto session = base::MakeUnique<HttpNetworkSession>(params); |
910 new HttpNetworkSession(params)); | |
911 | 905 |
912 // Before starting the test, verify that there are no proxies marked as | 906 // Before starting the test, verify that there are no proxies marked as |
913 // bad. | 907 // bad. |
914 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) | 908 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) |
915 << mock_error; | 909 << mock_error; |
916 | 910 |
917 StaticSocketDataProvider socket_data_proxy_main_job; | 911 StaticSocketDataProvider socket_data_proxy_main_job; |
918 socket_data_proxy_main_job.set_connect_data( | 912 socket_data_proxy_main_job.set_connect_data( |
919 MockConnect(ASYNC, mock_error)); | 913 MockConnect(ASYNC, mock_error)); |
920 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); | 914 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 MockHostResolver host_resolver; | 1014 MockHostResolver host_resolver; |
1021 TransportSecurityState transport_security_state; | 1015 TransportSecurityState transport_security_state; |
1022 | 1016 |
1023 SetupForQuicAlternativeProxyTest( | 1017 SetupForQuicAlternativeProxyTest( |
1024 ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate, | 1018 ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate, |
1025 &http_server_properties, &cert_verifier, &ct_policy_enforcer, | 1019 &http_server_properties, &cert_verifier, &ct_policy_enforcer, |
1026 &ct_verifier, ssl_config_service.get(), &host_resolver, | 1020 &ct_verifier, ssl_config_service.get(), &host_resolver, |
1027 &transport_security_state, true); | 1021 &transport_security_state, true); |
1028 | 1022 |
1029 HostPortPair host_port_pair("badproxy", 99); | 1023 HostPortPair host_port_pair("badproxy", 99); |
1030 std::unique_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 1024 auto session = base::MakeUnique<HttpNetworkSession>(params); |
1031 | 1025 |
1032 // Before starting the test, verify that there are no proxies marked as | 1026 // Before starting the test, verify that there are no proxies marked as |
1033 // bad. | 1027 // bad. |
1034 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) | 1028 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) |
1035 << mock_error; | 1029 << mock_error; |
1036 | 1030 |
1037 StaticSocketDataProvider socket_data_proxy_main_job; | 1031 StaticSocketDataProvider socket_data_proxy_main_job; |
1038 socket_data_proxy_main_job.set_connect_data(MockConnect(ASYNC, mock_error)); | 1032 socket_data_proxy_main_job.set_connect_data(MockConnect(ASYNC, mock_error)); |
1039 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); | 1033 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); |
1040 | 1034 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 | 1111 |
1118 SpdySessionDependencies session_deps( | 1112 SpdySessionDependencies session_deps( |
1119 ProxyService::CreateFixed("http_proxy")); | 1113 ProxyService::CreateFixed("http_proxy")); |
1120 | 1114 |
1121 // Setup params to disable preconnect, but QUIC doesn't 0RTT. | 1115 // Setup params to disable preconnect, but QUIC doesn't 0RTT. |
1122 HttpNetworkSession::Params params = | 1116 HttpNetworkSession::Params params = |
1123 SpdySessionDependencies::CreateSessionParams(&session_deps); | 1117 SpdySessionDependencies::CreateSessionParams(&session_deps); |
1124 params.enable_quic = true; | 1118 params.enable_quic = true; |
1125 params.http_server_properties = &http_server_properties; | 1119 params.http_server_properties = &http_server_properties; |
1126 | 1120 |
1127 std::unique_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 1121 auto session = base::MakeUnique<HttpNetworkSession>(params); |
1128 HttpNetworkSessionPeer peer(session.get()); | 1122 HttpNetworkSessionPeer peer(session.get()); |
1129 HostPortPair proxy_host("http_proxy", 80); | 1123 HostPortPair proxy_host("http_proxy", 80); |
1130 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 1124 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
1131 new CapturePreconnectsHttpProxySocketPool( | 1125 new CapturePreconnectsHttpProxySocketPool( |
1132 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 1126 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
1133 session_deps.transport_security_state.get(), | 1127 session_deps.transport_security_state.get(), |
1134 session_deps.cert_transparency_verifier.get(), | 1128 session_deps.cert_transparency_verifier.get(), |
1135 session_deps.ct_policy_enforcer.get()); | 1129 session_deps.ct_policy_enforcer.get()); |
1136 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 1130 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
1137 new CapturePreconnectsSSLSocketPool( | 1131 new CapturePreconnectsSSLSocketPool( |
1138 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 1132 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
1139 session_deps.transport_security_state.get(), | 1133 session_deps.transport_security_state.get(), |
1140 session_deps.cert_transparency_verifier.get(), | 1134 session_deps.cert_transparency_verifier.get(), |
1141 session_deps.ct_policy_enforcer.get()); | 1135 session_deps.ct_policy_enforcer.get()); |
1142 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 1136 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
1143 new MockClientSocketPoolManager); | |
1144 mock_pool_manager->SetSocketPoolForHTTPProxy( | 1137 mock_pool_manager->SetSocketPoolForHTTPProxy( |
1145 proxy_host, base::WrapUnique(http_proxy_pool)); | 1138 proxy_host, base::WrapUnique(http_proxy_pool)); |
1146 mock_pool_manager->SetSocketPoolForSSLWithProxy( | 1139 mock_pool_manager->SetSocketPoolForSSLWithProxy( |
1147 proxy_host, base::WrapUnique(ssl_conn_pool)); | 1140 proxy_host, base::WrapUnique(ssl_conn_pool)); |
1148 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 1141 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
1149 PreconnectHelperForURL(num_streams, url, session.get()); | 1142 PreconnectHelperForURL(num_streams, url, session.get()); |
1150 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); | 1143 EXPECT_EQ(num_streams, ssl_conn_pool->last_num_streams()); |
1151 } | 1144 } |
1152 } | 1145 } |
1153 | 1146 |
(...skipping 14 matching lines...) Expand all Loading... |
1168 http_server_properties.SetSupportsSpdy(spdy_server, true); | 1161 http_server_properties.SetSupportsSpdy(spdy_server, true); |
1169 } | 1162 } |
1170 | 1163 |
1171 SpdySessionDependencies session_deps; | 1164 SpdySessionDependencies session_deps; |
1172 HttpNetworkSession::Params params = | 1165 HttpNetworkSession::Params params = |
1173 SpdySessionDependencies::CreateSessionParams(&session_deps); | 1166 SpdySessionDependencies::CreateSessionParams(&session_deps); |
1174 params.enable_quic = true; | 1167 params.enable_quic = true; |
1175 params.proxy_service = proxy_service.get(); | 1168 params.proxy_service = proxy_service.get(); |
1176 params.http_server_properties = &http_server_properties; | 1169 params.http_server_properties = &http_server_properties; |
1177 | 1170 |
1178 std::unique_ptr<HttpNetworkSession> session( | 1171 auto session = base::MakeUnique<HttpNetworkSession>(params); |
1179 new HttpNetworkSession(params)); | |
1180 | 1172 |
1181 HttpNetworkSessionPeer peer(session.get()); | 1173 HttpNetworkSessionPeer peer(session.get()); |
1182 HostPortPair proxy_host("myproxy.org", 443); | 1174 HostPortPair proxy_host("myproxy.org", 443); |
1183 | 1175 |
1184 for (int preconnect_request = 0; preconnect_request < 2; | 1176 for (int preconnect_request = 0; preconnect_request < 2; |
1185 ++preconnect_request) { | 1177 ++preconnect_request) { |
1186 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 1178 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
1187 new CapturePreconnectsHttpProxySocketPool( | 1179 new CapturePreconnectsHttpProxySocketPool( |
1188 session_deps.host_resolver.get(), | 1180 session_deps.host_resolver.get(), |
1189 session_deps.cert_verifier.get(), | 1181 session_deps.cert_verifier.get(), |
1190 session_deps.transport_security_state.get(), | 1182 session_deps.transport_security_state.get(), |
1191 session_deps.cert_transparency_verifier.get(), | 1183 session_deps.cert_transparency_verifier.get(), |
1192 session_deps.ct_policy_enforcer.get()); | 1184 session_deps.ct_policy_enforcer.get()); |
1193 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 1185 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
1194 new CapturePreconnectsSSLSocketPool( | 1186 new CapturePreconnectsSSLSocketPool( |
1195 session_deps.host_resolver.get(), | 1187 session_deps.host_resolver.get(), |
1196 session_deps.cert_verifier.get(), | 1188 session_deps.cert_verifier.get(), |
1197 session_deps.transport_security_state.get(), | 1189 session_deps.transport_security_state.get(), |
1198 session_deps.cert_transparency_verifier.get(), | 1190 session_deps.cert_transparency_verifier.get(), |
1199 session_deps.ct_policy_enforcer.get()); | 1191 session_deps.ct_policy_enforcer.get()); |
1200 | 1192 |
1201 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 1193 auto mock_pool_manager = |
1202 new MockClientSocketPoolManager); | 1194 base::MakeUnique<MockClientSocketPoolManager>(); |
1203 mock_pool_manager->SetSocketPoolForHTTPProxy( | 1195 mock_pool_manager->SetSocketPoolForHTTPProxy( |
1204 proxy_host, base::WrapUnique(http_proxy_pool)); | 1196 proxy_host, base::WrapUnique(http_proxy_pool)); |
1205 mock_pool_manager->SetSocketPoolForSSLWithProxy( | 1197 mock_pool_manager->SetSocketPoolForSSLWithProxy( |
1206 proxy_host, base::WrapUnique(ssl_conn_pool)); | 1198 proxy_host, base::WrapUnique(ssl_conn_pool)); |
1207 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 1199 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
1208 | 1200 |
1209 HttpRequestInfo request; | 1201 HttpRequestInfo request; |
1210 request.method = "GET"; | 1202 request.method = "GET"; |
1211 request.url = url; | 1203 request.url = url; |
1212 request.load_flags = 0; | 1204 request.load_flags = 0; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1257 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); | 1249 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); |
1258 http_server_properties.SetSupportsSpdy(spdy_server, true); | 1250 http_server_properties.SetSupportsSpdy(spdy_server, true); |
1259 | 1251 |
1260 SpdySessionDependencies session_deps; | 1252 SpdySessionDependencies session_deps; |
1261 HttpNetworkSession::Params params = | 1253 HttpNetworkSession::Params params = |
1262 SpdySessionDependencies::CreateSessionParams(&session_deps); | 1254 SpdySessionDependencies::CreateSessionParams(&session_deps); |
1263 params.enable_quic = true; | 1255 params.enable_quic = true; |
1264 params.proxy_service = proxy_service.get(); | 1256 params.proxy_service = proxy_service.get(); |
1265 params.http_server_properties = &http_server_properties; | 1257 params.http_server_properties = &http_server_properties; |
1266 | 1258 |
1267 std::unique_ptr<HttpNetworkSession> session(new HttpNetworkSession(params)); | 1259 auto session = base::MakeUnique<HttpNetworkSession>(params); |
1268 | 1260 |
1269 HttpNetworkSessionPeer peer(session.get()); | 1261 HttpNetworkSessionPeer peer(session.get()); |
1270 HostPortPair proxy_host("myproxy.org", 443); | 1262 HostPortPair proxy_host("myproxy.org", 443); |
1271 | 1263 |
1272 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = | 1264 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = |
1273 new CapturePreconnectsHttpProxySocketPool( | 1265 new CapturePreconnectsHttpProxySocketPool( |
1274 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 1266 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
1275 session_deps.transport_security_state.get(), | 1267 session_deps.transport_security_state.get(), |
1276 session_deps.cert_transparency_verifier.get(), | 1268 session_deps.cert_transparency_verifier.get(), |
1277 session_deps.ct_policy_enforcer.get()); | 1269 session_deps.ct_policy_enforcer.get()); |
1278 CapturePreconnectsSSLSocketPool* ssl_conn_pool = | 1270 CapturePreconnectsSSLSocketPool* ssl_conn_pool = |
1279 new CapturePreconnectsSSLSocketPool( | 1271 new CapturePreconnectsSSLSocketPool( |
1280 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), | 1272 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), |
1281 session_deps.transport_security_state.get(), | 1273 session_deps.transport_security_state.get(), |
1282 session_deps.cert_transparency_verifier.get(), | 1274 session_deps.cert_transparency_verifier.get(), |
1283 session_deps.ct_policy_enforcer.get()); | 1275 session_deps.ct_policy_enforcer.get()); |
1284 | 1276 |
1285 std::unique_ptr<MockClientSocketPoolManager> mock_pool_manager( | 1277 auto mock_pool_manager = base::MakeUnique<MockClientSocketPoolManager>(); |
1286 new MockClientSocketPoolManager); | |
1287 mock_pool_manager->SetSocketPoolForHTTPProxy( | 1278 mock_pool_manager->SetSocketPoolForHTTPProxy( |
1288 proxy_host, base::WrapUnique(http_proxy_pool)); | 1279 proxy_host, base::WrapUnique(http_proxy_pool)); |
1289 mock_pool_manager->SetSocketPoolForSSLWithProxy( | 1280 mock_pool_manager->SetSocketPoolForSSLWithProxy( |
1290 proxy_host, base::WrapUnique(ssl_conn_pool)); | 1281 proxy_host, base::WrapUnique(ssl_conn_pool)); |
1291 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); | 1282 peer.SetClientSocketPoolManager(std::move(mock_pool_manager)); |
1292 | 1283 |
1293 HttpRequestInfo request_privacy_mode_disabled; | 1284 HttpRequestInfo request_privacy_mode_disabled; |
1294 request_privacy_mode_disabled.method = "GET"; | 1285 request_privacy_mode_disabled.method = "GET"; |
1295 request_privacy_mode_disabled.url = url; | 1286 request_privacy_mode_disabled.url = url; |
1296 request_privacy_mode_disabled.load_flags = 0; | 1287 request_privacy_mode_disabled.load_flags = 0; |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1673 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); | 1664 EXPECT_FALSE(waiter.used_proxy_info().is_direct()); |
1674 } | 1665 } |
1675 | 1666 |
1676 // Verifies that once a stream has been created to a proxy server (that supports | 1667 // Verifies that once a stream has been created to a proxy server (that supports |
1677 // request priorities) the next preconnect job can again open new sockets. | 1668 // request priorities) the next preconnect job can again open new sockets. |
1678 TEST_F(HttpStreamFactoryTest, RequestHttpStreamOverProxyWithPreconnects) { | 1669 TEST_F(HttpStreamFactoryTest, RequestHttpStreamOverProxyWithPreconnects) { |
1679 SpdySessionDependencies session_deps( | 1670 SpdySessionDependencies session_deps( |
1680 ProxyService::CreateFixed("https://myproxy.org:443")); | 1671 ProxyService::CreateFixed("https://myproxy.org:443")); |
1681 | 1672 |
1682 // Set up the proxy server as a server that supports request priorities. | 1673 // Set up the proxy server as a server that supports request priorities. |
1683 std::unique_ptr<HttpServerPropertiesImpl> http_server_properties( | 1674 auto http_server_properties = base::MakeUnique<HttpServerPropertiesImpl>(); |
1684 new HttpServerPropertiesImpl()); | |
1685 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); | 1675 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); |
1686 http_server_properties->SetSupportsSpdy(spdy_server, true); | 1676 http_server_properties->SetSupportsSpdy(spdy_server, true); |
1687 session_deps.http_server_properties = std::move(http_server_properties); | 1677 session_deps.http_server_properties = std::move(http_server_properties); |
1688 | 1678 |
1689 StaticSocketDataProvider socket_data; | 1679 StaticSocketDataProvider socket_data; |
1690 socket_data.set_connect_data(MockConnect(ASYNC, OK)); | 1680 socket_data.set_connect_data(MockConnect(ASYNC, OK)); |
1691 session_deps.socket_factory->AddSocketDataProvider(&socket_data); | 1681 session_deps.socket_factory->AddSocketDataProvider(&socket_data); |
1692 | 1682 |
1693 SSLSocketDataProvider ssl_data(ASYNC, OK); | 1683 SSLSocketDataProvider ssl_data(ASYNC, OK); |
1694 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data); | 1684 session_deps.socket_factory->AddSSLSocketDataProvider(&ssl_data); |
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2178 params_.cert_verifier = &cert_verifier_; | 2168 params_.cert_verifier = &cert_verifier_; |
2179 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; | 2169 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; |
2180 params_.quic_supported_versions = test::SupportedVersions(GetParam()); | 2170 params_.quic_supported_versions = test::SupportedVersions(GetParam()); |
2181 params_.transport_security_state = &transport_security_state_; | 2171 params_.transport_security_state = &transport_security_state_; |
2182 params_.cert_transparency_verifier = &ct_verifier_; | 2172 params_.cert_transparency_verifier = &ct_verifier_; |
2183 params_.ct_policy_enforcer = &ct_policy_enforcer_; | 2173 params_.ct_policy_enforcer = &ct_policy_enforcer_; |
2184 params_.host_resolver = &host_resolver_; | 2174 params_.host_resolver = &host_resolver_; |
2185 params_.proxy_service = proxy_service_.get(); | 2175 params_.proxy_service = proxy_service_.get(); |
2186 params_.ssl_config_service = ssl_config_service_.get(); | 2176 params_.ssl_config_service = ssl_config_service_.get(); |
2187 params_.client_socket_factory = &socket_factory_; | 2177 params_.client_socket_factory = &socket_factory_; |
2188 session_.reset(new HttpNetworkSession(params_)); | 2178 session_ = base::MakeUnique<HttpNetworkSession>(params_); |
2189 session_->quic_stream_factory()->set_require_confirmation(false); | 2179 session_->quic_stream_factory()->set_require_confirmation(false); |
2190 } | 2180 } |
2191 | 2181 |
2192 void AddQuicAlternativeService() { | 2182 void AddQuicAlternativeService() { |
2193 const AlternativeService alternative_service(kProtoQUIC, "www.example.org", | 2183 const AlternativeService alternative_service(kProtoQUIC, "www.example.org", |
2194 443); | 2184 443); |
2195 AlternativeServiceInfoVector alternative_service_info_vector; | 2185 AlternativeServiceInfoVector alternative_service_info_vector; |
2196 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 2186 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
2197 alternative_service_info_vector.push_back( | 2187 alternative_service_info_vector.push_back( |
2198 AlternativeServiceInfo(alternative_service, expiration)); | 2188 AlternativeServiceInfo(alternative_service, expiration)); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2257 &spdy_headers_frame_length, &header_stream_offset)); | 2247 &spdy_headers_frame_length, &header_stream_offset)); |
2258 size_t spdy_response_headers_frame_length; | 2248 size_t spdy_response_headers_frame_length; |
2259 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2249 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2260 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, | 2250 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, |
2261 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2251 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2262 &spdy_response_headers_frame_length)); | 2252 &spdy_response_headers_frame_length)); |
2263 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2253 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2264 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2254 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2265 | 2255 |
2266 // Add hanging data for http job. | 2256 // Add hanging data for http job. |
2267 std::unique_ptr<StaticSocketDataProvider> hanging_data; | 2257 auto hanging_data = base::MakeUnique<StaticSocketDataProvider>(); |
2268 hanging_data.reset(new StaticSocketDataProvider()); | |
2269 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 2258 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
2270 hanging_data->set_connect_data(hanging_connect); | 2259 hanging_data->set_connect_data(hanging_connect); |
2271 socket_factory().AddSocketDataProvider(hanging_data.get()); | 2260 socket_factory().AddSocketDataProvider(hanging_data.get()); |
2272 SSLSocketDataProvider ssl_data(ASYNC, OK); | 2261 SSLSocketDataProvider ssl_data(ASYNC, OK); |
2273 socket_factory().AddSSLSocketDataProvider(&ssl_data); | 2262 socket_factory().AddSSLSocketDataProvider(&ssl_data); |
2274 | 2263 |
2275 // Set up QUIC as alternative_service. | 2264 // Set up QUIC as alternative_service. |
2276 AddQuicAlternativeService(); | 2265 AddQuicAlternativeService(); |
2277 Initialize(); | 2266 Initialize(); |
2278 | 2267 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2322 EXPECT_EQ(0, GetSocketPoolGroupCount(session()->GetSSLSocketPool( | 2311 EXPECT_EQ(0, GetSocketPoolGroupCount(session()->GetSSLSocketPool( |
2323 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2312 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2324 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); | 2313 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); |
2325 } | 2314 } |
2326 | 2315 |
2327 // Tests that when QUIC is not enabled for bidirectional streaming, HTTP/2 is | 2316 // Tests that when QUIC is not enabled for bidirectional streaming, HTTP/2 is |
2328 // used instead. | 2317 // used instead. |
2329 TEST_P(HttpStreamFactoryBidirectionalQuicTest, | 2318 TEST_P(HttpStreamFactoryBidirectionalQuicTest, |
2330 RequestBidirectionalStreamImplQuicNotEnabled) { | 2319 RequestBidirectionalStreamImplQuicNotEnabled) { |
2331 // Make the http job fail. | 2320 // Make the http job fail. |
2332 std::unique_ptr<StaticSocketDataProvider> http_job_data; | 2321 auto http_job_data = base::MakeUnique<StaticSocketDataProvider>(); |
2333 http_job_data.reset(new StaticSocketDataProvider()); | |
2334 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); | 2322 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); |
2335 http_job_data->set_connect_data(failed_connect); | 2323 http_job_data->set_connect_data(failed_connect); |
2336 socket_factory().AddSocketDataProvider(http_job_data.get()); | 2324 socket_factory().AddSocketDataProvider(http_job_data.get()); |
2337 SSLSocketDataProvider ssl_data(ASYNC, OK); | 2325 SSLSocketDataProvider ssl_data(ASYNC, OK); |
2338 socket_factory().AddSSLSocketDataProvider(&ssl_data); | 2326 socket_factory().AddSSLSocketDataProvider(&ssl_data); |
2339 | 2327 |
2340 // Set up QUIC as alternative_service. | 2328 // Set up QUIC as alternative_service. |
2341 AddQuicAlternativeService(); | 2329 AddQuicAlternativeService(); |
2342 DisableQuicBidirectionalStream(); | 2330 DisableQuicBidirectionalStream(); |
2343 Initialize(); | 2331 Initialize(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2385 &spdy_headers_frame_length, &header_stream_offset)); | 2373 &spdy_headers_frame_length, &header_stream_offset)); |
2386 size_t spdy_response_headers_frame_length; | 2374 size_t spdy_response_headers_frame_length; |
2387 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( | 2375 mock_quic_data.AddRead(server_packet_maker().MakeResponseHeadersPacket( |
2388 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, | 2376 1, GetNthClientInitiatedStreamId(0), /*should_include_version=*/false, |
2389 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), | 2377 /*fin=*/true, server_packet_maker().GetResponseHeaders("200"), |
2390 &spdy_response_headers_frame_length)); | 2378 &spdy_response_headers_frame_length)); |
2391 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. | 2379 mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
2392 mock_quic_data.AddSocketDataToFactory(&socket_factory()); | 2380 mock_quic_data.AddSocketDataToFactory(&socket_factory()); |
2393 | 2381 |
2394 // Make the http job fail. | 2382 // Make the http job fail. |
2395 std::unique_ptr<StaticSocketDataProvider> http_job_data; | 2383 auto http_job_data = base::MakeUnique<StaticSocketDataProvider>(); |
2396 http_job_data.reset(new StaticSocketDataProvider()); | |
2397 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); | 2384 MockConnect failed_connect(ASYNC, ERR_CONNECTION_REFUSED); |
2398 http_job_data->set_connect_data(failed_connect); | 2385 http_job_data->set_connect_data(failed_connect); |
2399 socket_factory().AddSocketDataProvider(http_job_data.get()); | 2386 socket_factory().AddSocketDataProvider(http_job_data.get()); |
2400 SSLSocketDataProvider ssl_data(ASYNC, OK); | 2387 SSLSocketDataProvider ssl_data(ASYNC, OK); |
2401 socket_factory().AddSSLSocketDataProvider(&ssl_data); | 2388 socket_factory().AddSSLSocketDataProvider(&ssl_data); |
2402 | 2389 |
2403 // Set up QUIC as alternative_service. | 2390 // Set up QUIC as alternative_service. |
2404 AddQuicAlternativeService(); | 2391 AddQuicAlternativeService(); |
2405 Initialize(); | 2392 Initialize(); |
2406 | 2393 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2497 HttpNetworkSession::NORMAL_SOCKET_POOL))); | 2484 HttpNetworkSession::NORMAL_SOCKET_POOL))); |
2498 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( | 2485 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( |
2499 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2486 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2500 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( | 2487 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( |
2501 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); | 2488 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); |
2502 } | 2489 } |
2503 | 2490 |
2504 } // namespace | 2491 } // namespace |
2505 | 2492 |
2506 } // namespace net | 2493 } // namespace net |
OLD | NEW |