| 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/quic/chromium/quic_stream_factory.h" | 5 #include "net/quic/chromium/quic_stream_factory.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <ostream> | 8 #include <ostream> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 } | 271 } |
| 272 | 272 |
| 273 int GetSourcePortForNewSessionInner(const HostPortPair& destination, | 273 int GetSourcePortForNewSessionInner(const HostPortPair& destination, |
| 274 bool goaway_received) { | 274 bool goaway_received) { |
| 275 // Should only be called if there is no active session for this destination. | 275 // Should only be called if there is no active session for this destination. |
| 276 EXPECT_FALSE(HasActiveSession(destination)); | 276 EXPECT_FALSE(HasActiveSession(destination)); |
| 277 size_t socket_count = socket_factory_.udp_client_socket_ports().size(); | 277 size_t socket_count = socket_factory_.udp_client_socket_ports().size(); |
| 278 | 278 |
| 279 MockQuicData socket_data; | 279 MockQuicData socket_data; |
| 280 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 280 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 281 socket_data.AddWrite( | 281 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 282 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 283 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 284 socket_data.AddSocketDataToFactory(&socket_factory_); | 282 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 285 | 283 |
| 286 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 284 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 287 GURL url("https://" + destination.host() + "/"); | 285 GURL url("https://" + destination.host() + "/"); |
| 288 EXPECT_EQ(ERR_IO_PENDING, | 286 EXPECT_EQ(ERR_IO_PENDING, |
| 289 request.Request(destination, privacy_mode_, | 287 request.Request(destination, privacy_mode_, |
| 290 /*cert_verify_flags=*/0, url, "GET", net_log_, | 288 /*cert_verify_flags=*/0, url, "GET", net_log_, |
| 291 callback_.callback())); | 289 callback_.callback())); |
| 292 | 290 |
| 293 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 291 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 QuicStreamId stream_id, | 383 QuicStreamId stream_id, |
| 386 bool should_include_version, | 384 bool should_include_version, |
| 387 bool fin) { | 385 bool fin) { |
| 388 SpdyHeaderBlock headers = server_maker_.GetResponseHeaders("200 OK"); | 386 SpdyHeaderBlock headers = server_maker_.GetResponseHeaders("200 OK"); |
| 389 size_t spdy_headers_frame_len; | 387 size_t spdy_headers_frame_len; |
| 390 return server_maker_.MakeResponseHeadersPacket( | 388 return server_maker_.MakeResponseHeadersPacket( |
| 391 packet_number, stream_id, should_include_version, fin, | 389 packet_number, stream_id, should_include_version, fin, |
| 392 std::move(headers), &spdy_headers_frame_len); | 390 std::move(headers), &spdy_headers_frame_len); |
| 393 } | 391 } |
| 394 | 392 |
| 395 std::unique_ptr<QuicReceivedPacket> ConstructSettingsPacket( | 393 std::unique_ptr<QuicReceivedPacket> ConstructInitialSettingsPacket() { |
| 394 return client_maker_.MakeInitialSettingsPacket(1, nullptr); |
| 395 } |
| 396 |
| 397 std::unique_ptr<QuicReceivedPacket> ConstructInitialSettingsPacket( |
| 396 QuicPacketNumber packet_number, | 398 QuicPacketNumber packet_number, |
| 397 SpdySettingsIds id, | |
| 398 size_t value, | |
| 399 QuicStreamOffset* offset) { | 399 QuicStreamOffset* offset) { |
| 400 return client_maker_.MakeSettingsPacket(packet_number, id, value, | 400 return client_maker_.MakeInitialSettingsPacket(packet_number, offset); |
| 401 kIncludeVersion, offset); | |
| 402 } | 401 } |
| 403 | 402 |
| 404 // Helper method for server migration tests. | 403 // Helper method for server migration tests. |
| 405 void VerifyServerMigration(QuicConfig& config, IPEndPoint expected_address) { | 404 void VerifyServerMigration(QuicConfig& config, IPEndPoint expected_address) { |
| 406 allow_server_migration_ = true; | 405 allow_server_migration_ = true; |
| 407 Initialize(); | 406 Initialize(); |
| 408 | 407 |
| 409 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 408 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 410 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 409 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 411 crypto_client_stream_factory_.SetConfig(config); | 410 crypto_client_stream_factory_.SetConfig(config); |
| 412 | 411 |
| 413 // Set up first socket data provider. | 412 // Set up first socket data provider. |
| 414 MockQuicData socket_data1; | 413 MockQuicData socket_data1; |
| 415 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 414 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 416 socket_data1.AddSocketDataToFactory(&socket_factory_); | 415 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 417 | 416 |
| 418 // Set up second socket data provider that is used after | 417 // Set up second socket data provider that is used after |
| 419 // migration. | 418 // migration. |
| 420 MockQuicData socket_data2; | 419 MockQuicData socket_data2; |
| 421 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 420 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 422 socket_data2.AddWrite( | 421 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 423 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 424 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 425 socket_data2.AddWrite( | 422 socket_data2.AddWrite( |
| 426 client_maker_.MakePingPacket(2, /*include_version=*/true)); | 423 client_maker_.MakePingPacket(2, /*include_version=*/true)); |
| 427 socket_data2.AddWrite(client_maker_.MakeRstPacket( | 424 socket_data2.AddWrite(client_maker_.MakeRstPacket( |
| 428 3, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 425 3, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 429 socket_data2.AddSocketDataToFactory(&socket_factory_); | 426 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 430 | 427 |
| 431 // Create request and QuicHttpStream. | 428 // Create request and QuicHttpStream. |
| 432 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 429 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 433 EXPECT_EQ(ERR_IO_PENDING, | 430 EXPECT_EQ(ERR_IO_PENDING, |
| 434 request.Request(host_port_pair_, privacy_mode_, | 431 request.Request(host_port_pair_, privacy_mode_, |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 QuicStreamFactoryTest, | 749 QuicStreamFactoryTest, |
| 753 ::testing::ValuesIn(GetTestParams())); | 750 ::testing::ValuesIn(GetTestParams())); |
| 754 | 751 |
| 755 TEST_P(QuicStreamFactoryTest, Create) { | 752 TEST_P(QuicStreamFactoryTest, Create) { |
| 756 Initialize(); | 753 Initialize(); |
| 757 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 754 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 758 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 755 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 759 | 756 |
| 760 MockQuicData socket_data; | 757 MockQuicData socket_data; |
| 761 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 758 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 762 socket_data.AddWrite( | 759 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 763 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 764 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 765 socket_data.AddSocketDataToFactory(&socket_factory_); | 760 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 766 | 761 |
| 767 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 762 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 768 EXPECT_EQ(ERR_IO_PENDING, | 763 EXPECT_EQ(ERR_IO_PENDING, |
| 769 request.Request(host_port_pair_, privacy_mode_, | 764 request.Request(host_port_pair_, privacy_mode_, |
| 770 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 765 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 771 callback_.callback())); | 766 callback_.callback())); |
| 772 | 767 |
| 773 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 768 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 774 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 769 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 848 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 843 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 849 } | 844 } |
| 850 | 845 |
| 851 TEST_P(QuicStreamFactoryTest, DefaultInitialRtt) { | 846 TEST_P(QuicStreamFactoryTest, DefaultInitialRtt) { |
| 852 Initialize(); | 847 Initialize(); |
| 853 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 848 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 854 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 849 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 855 | 850 |
| 856 MockQuicData socket_data; | 851 MockQuicData socket_data; |
| 857 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 852 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 858 socket_data.AddWrite( | 853 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 859 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 860 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 861 socket_data.AddSocketDataToFactory(&socket_factory_); | 854 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 862 | 855 |
| 863 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 856 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 864 EXPECT_EQ(ERR_IO_PENDING, | 857 EXPECT_EQ(ERR_IO_PENDING, |
| 865 request.Request(host_port_pair_, privacy_mode_, | 858 request.Request(host_port_pair_, privacy_mode_, |
| 866 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 859 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 867 callback_.callback())); | 860 callback_.callback())); |
| 868 | 861 |
| 869 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 862 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 870 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 863 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 881 http_server_properties_.SetServerNetworkStats(url::SchemeHostPort(url_), | 874 http_server_properties_.SetServerNetworkStats(url::SchemeHostPort(url_), |
| 882 stats); | 875 stats); |
| 883 estimate_initial_rtt_ = true; | 876 estimate_initial_rtt_ = true; |
| 884 | 877 |
| 885 Initialize(); | 878 Initialize(); |
| 886 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 879 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 887 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 880 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 888 | 881 |
| 889 MockQuicData socket_data; | 882 MockQuicData socket_data; |
| 890 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 883 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 891 socket_data.AddWrite( | 884 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 892 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 893 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 894 socket_data.AddSocketDataToFactory(&socket_factory_); | 885 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 895 | 886 |
| 896 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 887 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 897 EXPECT_EQ(ERR_IO_PENDING, | 888 EXPECT_EQ(ERR_IO_PENDING, |
| 898 request.Request(host_port_pair_, privacy_mode_, | 889 request.Request(host_port_pair_, privacy_mode_, |
| 899 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 890 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 900 callback_.callback())); | 891 callback_.callback())); |
| 901 | 892 |
| 902 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 893 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 903 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 894 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 914 notifier.mock_network_change_notifier()->SetConnectionType( | 905 notifier.mock_network_change_notifier()->SetConnectionType( |
| 915 NetworkChangeNotifier::CONNECTION_2G); | 906 NetworkChangeNotifier::CONNECTION_2G); |
| 916 estimate_initial_rtt_ = true; | 907 estimate_initial_rtt_ = true; |
| 917 | 908 |
| 918 Initialize(); | 909 Initialize(); |
| 919 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 910 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 920 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 911 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 921 | 912 |
| 922 MockQuicData socket_data; | 913 MockQuicData socket_data; |
| 923 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 914 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 924 socket_data.AddWrite( | 915 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 925 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 926 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 927 socket_data.AddSocketDataToFactory(&socket_factory_); | 916 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 928 | 917 |
| 929 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 918 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 930 EXPECT_EQ(ERR_IO_PENDING, | 919 EXPECT_EQ(ERR_IO_PENDING, |
| 931 request.Request(host_port_pair_, privacy_mode_, | 920 request.Request(host_port_pair_, privacy_mode_, |
| 932 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 921 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 933 callback_.callback())); | 922 callback_.callback())); |
| 934 | 923 |
| 935 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 924 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 936 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 925 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 947 notifier.mock_network_change_notifier()->SetConnectionType( | 936 notifier.mock_network_change_notifier()->SetConnectionType( |
| 948 NetworkChangeNotifier::CONNECTION_3G); | 937 NetworkChangeNotifier::CONNECTION_3G); |
| 949 estimate_initial_rtt_ = true; | 938 estimate_initial_rtt_ = true; |
| 950 | 939 |
| 951 Initialize(); | 940 Initialize(); |
| 952 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 941 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 953 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 942 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 954 | 943 |
| 955 MockQuicData socket_data; | 944 MockQuicData socket_data; |
| 956 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 945 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 957 socket_data.AddWrite( | 946 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 958 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 959 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 960 socket_data.AddSocketDataToFactory(&socket_factory_); | 947 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 961 | 948 |
| 962 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 949 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 963 EXPECT_EQ(ERR_IO_PENDING, | 950 EXPECT_EQ(ERR_IO_PENDING, |
| 964 request.Request(host_port_pair_, privacy_mode_, | 951 request.Request(host_port_pair_, privacy_mode_, |
| 965 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 952 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 966 callback_.callback())); | 953 callback_.callback())); |
| 967 | 954 |
| 968 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 955 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 969 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 956 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| 970 EXPECT_TRUE(stream.get()); | 957 EXPECT_TRUE(stream.get()); |
| 971 | 958 |
| 972 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 959 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
| 973 EXPECT_EQ(400000u, session->connection()->GetStats().srtt_us); | 960 EXPECT_EQ(400000u, session->connection()->GetStats().srtt_us); |
| 974 ASSERT_TRUE(session->config()->HasInitialRoundTripTimeUsToSend()); | 961 ASSERT_TRUE(session->config()->HasInitialRoundTripTimeUsToSend()); |
| 975 EXPECT_EQ(400000u, session->config()->GetInitialRoundTripTimeUsToSend()); | 962 EXPECT_EQ(400000u, session->config()->GetInitialRoundTripTimeUsToSend()); |
| 976 } | 963 } |
| 977 | 964 |
| 978 TEST_P(QuicStreamFactoryTest, GoAway) { | 965 TEST_P(QuicStreamFactoryTest, GoAway) { |
| 979 Initialize(); | 966 Initialize(); |
| 980 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 967 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 981 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 968 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 982 | 969 |
| 983 MockQuicData socket_data; | 970 MockQuicData socket_data; |
| 984 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 971 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 985 socket_data.AddWrite( | 972 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 986 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 987 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 988 socket_data.AddSocketDataToFactory(&socket_factory_); | 973 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 989 | 974 |
| 990 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 975 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 991 EXPECT_EQ(ERR_IO_PENDING, | 976 EXPECT_EQ(ERR_IO_PENDING, |
| 992 request.Request(host_port_pair_, privacy_mode_, | 977 request.Request(host_port_pair_, privacy_mode_, |
| 993 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 978 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 994 callback_.callback())); | 979 callback_.callback())); |
| 995 | 980 |
| 996 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 981 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 997 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 982 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| 998 EXPECT_TRUE(stream.get()); | 983 EXPECT_TRUE(stream.get()); |
| 999 | 984 |
| 1000 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 985 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
| 1001 | 986 |
| 1002 session->OnGoAway(QuicGoAwayFrame()); | 987 session->OnGoAway(QuicGoAwayFrame()); |
| 1003 | 988 |
| 1004 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 989 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 1005 | 990 |
| 1006 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 991 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 1007 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 992 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 1008 } | 993 } |
| 1009 | 994 |
| 1010 TEST_P(QuicStreamFactoryTest, GoAwayForConnectionMigrationWithPortOnly) { | 995 TEST_P(QuicStreamFactoryTest, GoAwayForConnectionMigrationWithPortOnly) { |
| 1011 Initialize(); | 996 Initialize(); |
| 1012 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 997 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1013 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 998 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1014 | 999 |
| 1015 MockQuicData socket_data; | 1000 MockQuicData socket_data; |
| 1016 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1001 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1017 socket_data.AddWrite( | 1002 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1018 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1019 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1020 socket_data.AddSocketDataToFactory(&socket_factory_); | 1003 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1021 | 1004 |
| 1022 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1005 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1023 EXPECT_EQ(ERR_IO_PENDING, | 1006 EXPECT_EQ(ERR_IO_PENDING, |
| 1024 request.Request(host_port_pair_, privacy_mode_, | 1007 request.Request(host_port_pair_, privacy_mode_, |
| 1025 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1008 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1026 callback_.callback())); | 1009 callback_.callback())); |
| 1027 | 1010 |
| 1028 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1011 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 1029 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1012 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1048 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1031 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 1049 } | 1032 } |
| 1050 | 1033 |
| 1051 TEST_P(QuicStreamFactoryTest, Pooling) { | 1034 TEST_P(QuicStreamFactoryTest, Pooling) { |
| 1052 Initialize(); | 1035 Initialize(); |
| 1053 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1036 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1054 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1037 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1055 | 1038 |
| 1056 MockQuicData socket_data; | 1039 MockQuicData socket_data; |
| 1057 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1040 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1058 socket_data.AddWrite( | 1041 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1059 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1060 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1061 socket_data.AddSocketDataToFactory(&socket_factory_); | 1042 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1062 | 1043 |
| 1063 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1044 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
| 1064 host_resolver_.set_synchronous_mode(true); | 1045 host_resolver_.set_synchronous_mode(true); |
| 1065 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 1046 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
| 1066 "192.168.0.1", ""); | 1047 "192.168.0.1", ""); |
| 1067 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1048 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 1068 | 1049 |
| 1069 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1050 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1070 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, | 1051 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1101 // Close server-migrated session. | 1082 // Close server-migrated session. |
| 1102 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); | 1083 QuicChromiumClientSession* session = GetActiveSession(host_port_pair_); |
| 1103 session->CloseSessionOnError(0u, QUIC_NO_ERROR); | 1084 session->CloseSessionOnError(0u, QUIC_NO_ERROR); |
| 1104 | 1085 |
| 1105 // Set up server IP, socket, proof, and config for new session. | 1086 // Set up server IP, socket, proof, and config for new session. |
| 1106 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1087 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
| 1107 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1088 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 1108 | 1089 |
| 1109 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 1090 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
| 1110 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 1091 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
| 1111 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 1092 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
| 1112 kDefaultMaxUncompressedHeaderSize, true, | |
| 1113 nullptr)); | |
| 1114 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 1093 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
| 1115 settings_packet->length(), 1)}; | 1094 settings_packet->length(), 1)}; |
| 1116 | 1095 |
| 1117 SequencedSocketData socket_data(reads, arraysize(reads), writes, | 1096 SequencedSocketData socket_data(reads, arraysize(reads), writes, |
| 1118 arraysize(writes)); | 1097 arraysize(writes)); |
| 1119 socket_factory_.AddSocketDataProvider(&socket_data); | 1098 socket_factory_.AddSocketDataProvider(&socket_data); |
| 1120 | 1099 |
| 1121 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1100 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1122 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1101 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1123 QuicConfig config2; | 1102 QuicConfig config2; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1140 } | 1119 } |
| 1141 | 1120 |
| 1142 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) { | 1121 TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) { |
| 1143 Initialize(); | 1122 Initialize(); |
| 1144 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1123 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1145 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1124 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1146 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1125 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1147 | 1126 |
| 1148 MockQuicData socket_data1; | 1127 MockQuicData socket_data1; |
| 1149 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1128 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1150 socket_data1.AddWrite( | 1129 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
| 1151 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1152 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1153 socket_data1.AddSocketDataToFactory(&socket_factory_); | 1130 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 1154 MockQuicData socket_data2; | 1131 MockQuicData socket_data2; |
| 1155 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1132 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1156 socket_data2.AddWrite( | 1133 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1157 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1158 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1159 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1134 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1160 | 1135 |
| 1161 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 1136 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
| 1162 host_resolver_.set_synchronous_mode(true); | 1137 host_resolver_.set_synchronous_mode(true); |
| 1163 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 1138 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
| 1164 "192.168.0.1", ""); | 1139 "192.168.0.1", ""); |
| 1165 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 1140 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| 1166 | 1141 |
| 1167 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1142 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1168 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, | 1143 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1197 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); | 1172 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); |
| 1198 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 1173 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); |
| 1199 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 1174 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
| 1200 } | 1175 } |
| 1201 | 1176 |
| 1202 TEST_P(QuicStreamFactoryTest, HttpsPooling) { | 1177 TEST_P(QuicStreamFactoryTest, HttpsPooling) { |
| 1203 Initialize(); | 1178 Initialize(); |
| 1204 | 1179 |
| 1205 MockQuicData socket_data; | 1180 MockQuicData socket_data; |
| 1206 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1181 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1207 socket_data.AddWrite( | 1182 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1208 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1209 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1210 socket_data.AddSocketDataToFactory(&socket_factory_); | 1183 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1211 | 1184 |
| 1212 HostPortPair server1(kDefaultServerHostName, 443); | 1185 HostPortPair server1(kDefaultServerHostName, 443); |
| 1213 HostPortPair server2(kServer2HostName, 443); | 1186 HostPortPair server2(kServer2HostName, 443); |
| 1214 | 1187 |
| 1215 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1188 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1216 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1189 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1217 | 1190 |
| 1218 host_resolver_.set_synchronous_mode(true); | 1191 host_resolver_.set_synchronous_mode(true); |
| 1219 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); | 1192 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1237 EXPECT_EQ(GetActiveSession(server1), GetActiveSession(server2)); | 1210 EXPECT_EQ(GetActiveSession(server1), GetActiveSession(server2)); |
| 1238 | 1211 |
| 1239 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1212 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 1240 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1213 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 1241 } | 1214 } |
| 1242 | 1215 |
| 1243 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) { | 1216 TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) { |
| 1244 Initialize(); | 1217 Initialize(); |
| 1245 MockQuicData socket_data; | 1218 MockQuicData socket_data; |
| 1246 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1219 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1247 socket_data.AddWrite( | 1220 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1248 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1249 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1250 socket_data.AddSocketDataToFactory(&socket_factory_); | 1221 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1251 | 1222 |
| 1252 HostPortPair server1(kDefaultServerHostName, 443); | 1223 HostPortPair server1(kDefaultServerHostName, 443); |
| 1253 HostPortPair server2(kServer2HostName, 443); | 1224 HostPortPair server2(kServer2HostName, 443); |
| 1254 uint8_t primary_pin = 1; | 1225 uint8_t primary_pin = 1; |
| 1255 uint8_t backup_pin = 2; | 1226 uint8_t backup_pin = 2; |
| 1256 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, | 1227 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, |
| 1257 backup_pin); | 1228 backup_pin); |
| 1258 | 1229 |
| 1259 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1230 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1284 | 1255 |
| 1285 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1256 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 1286 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1257 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 1287 } | 1258 } |
| 1288 | 1259 |
| 1289 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) { | 1260 TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) { |
| 1290 Initialize(); | 1261 Initialize(); |
| 1291 | 1262 |
| 1292 MockQuicData socket_data1; | 1263 MockQuicData socket_data1; |
| 1293 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1264 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1294 socket_data1.AddWrite( | 1265 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
| 1295 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1296 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1297 socket_data1.AddSocketDataToFactory(&socket_factory_); | 1266 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 1298 MockQuicData socket_data2; | 1267 MockQuicData socket_data2; |
| 1299 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1268 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1300 socket_data2.AddWrite( | 1269 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1301 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1302 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1303 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1270 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1304 | 1271 |
| 1305 HostPortPair server1(kDefaultServerHostName, 443); | 1272 HostPortPair server1(kDefaultServerHostName, 443); |
| 1306 HostPortPair server2(kServer2HostName, 443); | 1273 HostPortPair server2(kServer2HostName, 443); |
| 1307 uint8_t primary_pin = 1; | 1274 uint8_t primary_pin = 1; |
| 1308 uint8_t backup_pin = 2; | 1275 uint8_t backup_pin = 2; |
| 1309 uint8_t bad_pin = 3; | 1276 uint8_t bad_pin = 3; |
| 1310 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, | 1277 test::AddPin(&transport_security_state_, kServer2HostName, primary_pin, |
| 1311 backup_pin); | 1278 backup_pin); |
| 1312 | 1279 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 } | 1315 } |
| 1349 | 1316 |
| 1350 TEST_P(QuicStreamFactoryTest, Goaway) { | 1317 TEST_P(QuicStreamFactoryTest, Goaway) { |
| 1351 Initialize(); | 1318 Initialize(); |
| 1352 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1319 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1353 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1320 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1354 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1321 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1355 | 1322 |
| 1356 MockQuicData socket_data; | 1323 MockQuicData socket_data; |
| 1357 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1324 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1358 socket_data.AddWrite( | 1325 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1359 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1360 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1361 socket_data.AddSocketDataToFactory(&socket_factory_); | 1326 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1362 MockQuicData socket_data2; | 1327 MockQuicData socket_data2; |
| 1363 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1328 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1364 socket_data2.AddWrite( | 1329 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1365 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1366 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1367 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1330 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1368 | 1331 |
| 1369 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1332 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1370 EXPECT_EQ(ERR_IO_PENDING, | 1333 EXPECT_EQ(ERR_IO_PENDING, |
| 1371 request.Request(host_port_pair_, privacy_mode_, | 1334 request.Request(host_port_pair_, privacy_mode_, |
| 1372 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1335 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1373 callback_.callback())); | 1336 callback_.callback())); |
| 1374 | 1337 |
| 1375 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1338 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 1376 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1339 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1409 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 1372 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
| 1410 } | 1373 } |
| 1411 | 1374 |
| 1412 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { | 1375 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { |
| 1413 Initialize(); | 1376 Initialize(); |
| 1414 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1377 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1415 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1378 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1416 | 1379 |
| 1417 QuicStreamId stream_id = kClientDataStreamId1; | 1380 QuicStreamId stream_id = kClientDataStreamId1; |
| 1418 MockQuicData socket_data; | 1381 MockQuicData socket_data; |
| 1419 socket_data.AddWrite( | 1382 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1420 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1421 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1422 socket_data.AddWrite( | 1383 socket_data.AddWrite( |
| 1423 client_maker_.MakeRstPacket(2, true, stream_id, QUIC_STREAM_CANCELLED)); | 1384 client_maker_.MakeRstPacket(2, true, stream_id, QUIC_STREAM_CANCELLED)); |
| 1424 socket_data.AddRead( | 1385 socket_data.AddRead( |
| 1425 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED)); | 1386 server_maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED)); |
| 1426 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1387 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1427 socket_data.AddSocketDataToFactory(&socket_factory_); | 1388 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1428 | 1389 |
| 1429 HttpRequestInfo request_info; | 1390 HttpRequestInfo request_info; |
| 1430 std::vector<std::unique_ptr<QuicHttpStream>> streams; | 1391 std::vector<std::unique_ptr<QuicHttpStream>> streams; |
| 1431 // The MockCryptoClientStream sets max_open_streams to be | 1392 // The MockCryptoClientStream sets max_open_streams to be |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1510 EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_ADDRESS_IN_USE)); | 1471 EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_ADDRESS_IN_USE)); |
| 1511 | 1472 |
| 1512 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 1473 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 1513 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 1474 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 1514 } | 1475 } |
| 1515 | 1476 |
| 1516 TEST_P(QuicStreamFactoryTest, CancelCreate) { | 1477 TEST_P(QuicStreamFactoryTest, CancelCreate) { |
| 1517 Initialize(); | 1478 Initialize(); |
| 1518 MockQuicData socket_data; | 1479 MockQuicData socket_data; |
| 1519 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1480 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1520 socket_data.AddWrite( | 1481 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1521 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1522 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1523 socket_data.AddSocketDataToFactory(&socket_factory_); | 1482 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1524 { | 1483 { |
| 1525 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1484 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1526 EXPECT_EQ(ERR_IO_PENDING, | 1485 EXPECT_EQ(ERR_IO_PENDING, |
| 1527 request.Request(host_port_pair_, privacy_mode_, | 1486 request.Request(host_port_pair_, privacy_mode_, |
| 1528 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1487 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1529 callback_.callback())); | 1488 callback_.callback())); |
| 1530 } | 1489 } |
| 1531 | 1490 |
| 1532 base::RunLoop().RunUntilIdle(); | 1491 base::RunLoop().RunUntilIdle(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1545 } | 1504 } |
| 1546 | 1505 |
| 1547 TEST_P(QuicStreamFactoryTest, CloseAllSessions) { | 1506 TEST_P(QuicStreamFactoryTest, CloseAllSessions) { |
| 1548 Initialize(); | 1507 Initialize(); |
| 1549 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1508 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1550 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1509 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1551 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1510 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1552 | 1511 |
| 1553 MockQuicData socket_data; | 1512 MockQuicData socket_data; |
| 1554 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1513 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1555 socket_data.AddWrite( | 1514 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1556 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1557 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1558 socket_data.AddWrite(ConstructClientRstPacket(2)); | 1515 socket_data.AddWrite(ConstructClientRstPacket(2)); |
| 1559 socket_data.AddSocketDataToFactory(&socket_factory_); | 1516 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1560 | 1517 |
| 1561 MockQuicData socket_data2; | 1518 MockQuicData socket_data2; |
| 1562 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1519 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1563 socket_data2.AddWrite( | 1520 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1564 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1565 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1566 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1521 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1567 | 1522 |
| 1568 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1523 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1569 EXPECT_EQ(ERR_IO_PENDING, | 1524 EXPECT_EQ(ERR_IO_PENDING, |
| 1570 request.Request(host_port_pair_, privacy_mode_, | 1525 request.Request(host_port_pair_, privacy_mode_, |
| 1571 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1526 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1572 callback_.callback())); | 1527 callback_.callback())); |
| 1573 | 1528 |
| 1574 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1529 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 1575 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1530 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1628 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1583 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 1629 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1584 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); |
| 1630 | 1585 |
| 1631 // Verify new requests can be sent normally without hanging. | 1586 // Verify new requests can be sent normally without hanging. |
| 1632 crypto_client_stream_factory_.set_handshake_mode( | 1587 crypto_client_stream_factory_.set_handshake_mode( |
| 1633 MockCryptoClientStream::COLD_START); | 1588 MockCryptoClientStream::COLD_START); |
| 1634 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1589 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1635 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1590 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1636 MockQuicData socket_data2; | 1591 MockQuicData socket_data2; |
| 1637 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1592 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1638 socket_data2.AddWrite( | 1593 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1639 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1640 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1641 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1594 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1642 | 1595 |
| 1643 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1596 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 1644 EXPECT_EQ(ERR_IO_PENDING, | 1597 EXPECT_EQ(ERR_IO_PENDING, |
| 1645 request2.Request(host_port_pair_, privacy_mode_, | 1598 request2.Request(host_port_pair_, privacy_mode_, |
| 1646 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1599 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1647 callback_.callback())); | 1600 callback_.callback())); |
| 1648 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1601 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 1649 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1602 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); |
| 1650 // Run the message loop to complete host resolution. | 1603 // Run the message loop to complete host resolution. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1692 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1645 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 1693 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1646 EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); |
| 1694 | 1647 |
| 1695 // Verify new requests can be sent normally without hanging. | 1648 // Verify new requests can be sent normally without hanging. |
| 1696 crypto_client_stream_factory_.set_handshake_mode( | 1649 crypto_client_stream_factory_.set_handshake_mode( |
| 1697 MockCryptoClientStream::COLD_START); | 1650 MockCryptoClientStream::COLD_START); |
| 1698 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1651 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1699 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1652 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1700 MockQuicData socket_data2; | 1653 MockQuicData socket_data2; |
| 1701 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1654 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1702 socket_data2.AddWrite( | 1655 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1703 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1704 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1705 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1656 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1706 | 1657 |
| 1707 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1658 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 1708 EXPECT_EQ(ERR_IO_PENDING, | 1659 EXPECT_EQ(ERR_IO_PENDING, |
| 1709 request2.Request(host_port_pair_, privacy_mode_, | 1660 request2.Request(host_port_pair_, privacy_mode_, |
| 1710 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1661 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1711 callback_.callback())); | 1662 callback_.callback())); |
| 1712 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1663 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 1713 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); | 1664 EXPECT_TRUE(HasActiveJob(host_port_pair_, privacy_mode_)); |
| 1714 | 1665 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1731 | 1682 |
| 1732 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) { | 1683 TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) { |
| 1733 close_sessions_on_ip_change_ = true; | 1684 close_sessions_on_ip_change_ = true; |
| 1734 Initialize(); | 1685 Initialize(); |
| 1735 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1686 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1736 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1687 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1737 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1688 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1738 | 1689 |
| 1739 MockQuicData socket_data; | 1690 MockQuicData socket_data; |
| 1740 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1691 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1741 socket_data.AddWrite( | 1692 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 1742 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1743 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1744 socket_data.AddWrite(ConstructClientRstPacket(2)); | 1693 socket_data.AddWrite(ConstructClientRstPacket(2)); |
| 1745 socket_data.AddSocketDataToFactory(&socket_factory_); | 1694 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1746 | 1695 |
| 1747 MockQuicData socket_data2; | 1696 MockQuicData socket_data2; |
| 1748 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1697 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1749 socket_data2.AddWrite( | 1698 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1750 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1751 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1752 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1699 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1753 | 1700 |
| 1754 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 1701 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 1755 EXPECT_EQ(ERR_IO_PENDING, | 1702 EXPECT_EQ(ERR_IO_PENDING, |
| 1756 request.Request(host_port_pair_, privacy_mode_, | 1703 request.Request(host_port_pair_, privacy_mode_, |
| 1757 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1704 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1758 callback_.callback())); | 1705 callback_.callback())); |
| 1759 | 1706 |
| 1760 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1707 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 1761 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 1708 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1800 InitializeConnectionMigrationTest( | 1747 InitializeConnectionMigrationTest( |
| 1801 {kDefaultNetworkForTests, kNewNetworkForTests}); | 1748 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 1802 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1749 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1803 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1750 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1804 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1751 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1805 | 1752 |
| 1806 int packet_number = 1; | 1753 int packet_number = 1; |
| 1807 MockQuicData socket_data; | 1754 MockQuicData socket_data; |
| 1808 QuicStreamOffset header_stream_offset = 0; | 1755 QuicStreamOffset header_stream_offset = 0; |
| 1809 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1756 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1810 socket_data.AddWrite(ConstructSettingsPacket( | 1757 socket_data.AddWrite( |
| 1811 packet_number++, SETTINGS_MAX_HEADER_LIST_SIZE, | 1758 ConstructInitialSettingsPacket(packet_number++, &header_stream_offset)); |
| 1812 kDefaultMaxUncompressedHeaderSize, &header_stream_offset)); | |
| 1813 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, | 1759 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, |
| 1814 kClientDataStreamId1, true, | 1760 kClientDataStreamId1, true, |
| 1815 true, &header_stream_offset)); | 1761 true, &header_stream_offset)); |
| 1816 if (async_write_before) { | 1762 if (async_write_before) { |
| 1817 socket_data.AddWrite(ASYNC, OK); | 1763 socket_data.AddWrite(ASYNC, OK); |
| 1818 packet_number++; | 1764 packet_number++; |
| 1819 } | 1765 } |
| 1820 socket_data.AddSocketDataToFactory(&socket_factory_); | 1766 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1821 | 1767 |
| 1822 // Create request and QuicHttpStream. | 1768 // Create request and QuicHttpStream. |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1877 | 1823 |
| 1878 // Verify that response headers on the migrated socket were delivered to the | 1824 // Verify that response headers on the migrated socket were delivered to the |
| 1879 // stream. | 1825 // stream. |
| 1880 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 1826 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
| 1881 EXPECT_EQ(200, response.headers->response_code()); | 1827 EXPECT_EQ(200, response.headers->response_code()); |
| 1882 | 1828 |
| 1883 // Create a new request for the same destination and verify that a | 1829 // Create a new request for the same destination and verify that a |
| 1884 // new session is created. | 1830 // new session is created. |
| 1885 MockQuicData socket_data2; | 1831 MockQuicData socket_data2; |
| 1886 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1832 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1887 socket_data2.AddWrite( | 1833 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 1888 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 1889 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 1890 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1834 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 1891 | 1835 |
| 1892 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1836 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 1893 EXPECT_EQ(ERR_IO_PENDING, | 1837 EXPECT_EQ(ERR_IO_PENDING, |
| 1894 request2.Request(host_port_pair_, privacy_mode_, | 1838 request2.Request(host_port_pair_, privacy_mode_, |
| 1895 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1839 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 1896 callback_.callback())); | 1840 callback_.callback())); |
| 1897 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1841 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 1898 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 1842 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 1899 EXPECT_TRUE(stream2.get()); | 1843 EXPECT_TRUE(stream2.get()); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1933 InitializeConnectionMigrationTest( | 1877 InitializeConnectionMigrationTest( |
| 1934 {kDefaultNetworkForTests, kNewNetworkForTests}); | 1878 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 1935 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1879 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 1936 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1880 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1937 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1881 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 1938 | 1882 |
| 1939 int packet_number = 1; | 1883 int packet_number = 1; |
| 1940 MockQuicData socket_data; | 1884 MockQuicData socket_data; |
| 1941 QuicStreamOffset header_stream_offset = 0; | 1885 QuicStreamOffset header_stream_offset = 0; |
| 1942 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1886 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 1943 socket_data.AddWrite(ConstructSettingsPacket( | 1887 socket_data.AddWrite( |
| 1944 packet_number++, SETTINGS_MAX_HEADER_LIST_SIZE, | 1888 ConstructInitialSettingsPacket(packet_number++, &header_stream_offset)); |
| 1945 kDefaultMaxUncompressedHeaderSize, &header_stream_offset)); | |
| 1946 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, | 1889 socket_data.AddWrite(ConstructGetRequestPacket(packet_number++, |
| 1947 kClientDataStreamId1, true, | 1890 kClientDataStreamId1, true, |
| 1948 true, &header_stream_offset)); | 1891 true, &header_stream_offset)); |
| 1949 if (async_write_before) { | 1892 if (async_write_before) { |
| 1950 socket_data.AddWrite(ASYNC, OK); | 1893 socket_data.AddWrite(ASYNC, OK); |
| 1951 packet_number++; | 1894 packet_number++; |
| 1952 } | 1895 } |
| 1953 socket_data.AddSocketDataToFactory(&socket_factory_); | 1896 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 1954 | 1897 |
| 1955 // Create request and QuicHttpStream. | 1898 // Create request and QuicHttpStream. |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2005 // The session should now be marked as going away. Ensure that | 1948 // The session should now be marked as going away. Ensure that |
| 2006 // while it is still alive, it is no longer active. | 1949 // while it is still alive, it is no longer active. |
| 2007 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); | 1950 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); |
| 2008 EXPECT_FALSE(HasActiveSession(host_port_pair_)); | 1951 EXPECT_FALSE(HasActiveSession(host_port_pair_)); |
| 2009 EXPECT_EQ(1u, session->GetNumActiveStreams()); | 1952 EXPECT_EQ(1u, session->GetNumActiveStreams()); |
| 2010 | 1953 |
| 2011 // Create a new request for the same destination and verify that a | 1954 // Create a new request for the same destination and verify that a |
| 2012 // new session is created. | 1955 // new session is created. |
| 2013 MockQuicData socket_data2; | 1956 MockQuicData socket_data2; |
| 2014 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 1957 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2015 socket_data2.AddWrite( | 1958 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 2016 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2017 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2018 socket_data2.AddSocketDataToFactory(&socket_factory_); | 1959 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 2019 | 1960 |
| 2020 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 1961 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 2021 EXPECT_EQ(ERR_IO_PENDING, | 1962 EXPECT_EQ(ERR_IO_PENDING, |
| 2022 request2.Request(host_port_pair_, privacy_mode_, | 1963 request2.Request(host_port_pair_, privacy_mode_, |
| 2023 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 1964 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2024 callback_.callback())); | 1965 callback_.callback())); |
| 2025 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 1966 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2026 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 1967 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 2027 EXPECT_TRUE(stream2.get()); | 1968 EXPECT_TRUE(stream2.get()); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2054 NetworkChangeNotifier::NetworkList network_list) { | 1995 NetworkChangeNotifier::NetworkList network_list) { |
| 2055 InitializeConnectionMigrationTest(network_list); | 1996 InitializeConnectionMigrationTest(network_list); |
| 2056 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 1997 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2057 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 1998 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2058 | 1999 |
| 2059 // Use the test task runner, to force the migration alarm timeout later. | 2000 // Use the test task runner, to force the migration alarm timeout later. |
| 2060 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 2001 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
| 2061 | 2002 |
| 2062 MockQuicData socket_data; | 2003 MockQuicData socket_data; |
| 2063 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2004 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2064 socket_data.AddWrite( | 2005 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2065 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2066 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2067 socket_data.AddSocketDataToFactory(&socket_factory_); | 2006 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2068 | 2007 |
| 2069 // Create request and QuicHttpStream. | 2008 // Create request and QuicHttpStream. |
| 2070 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2009 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2071 EXPECT_EQ(ERR_IO_PENDING, | 2010 EXPECT_EQ(ERR_IO_PENDING, |
| 2072 request.Request(host_port_pair_, privacy_mode_, | 2011 request.Request(host_port_pair_, privacy_mode_, |
| 2073 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2012 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2074 callback_.callback())); | 2013 callback_.callback())); |
| 2075 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2014 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2076 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2015 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2112 } | 2051 } |
| 2113 | 2052 |
| 2114 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNonMigratableStream) { | 2053 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNonMigratableStream) { |
| 2115 InitializeConnectionMigrationTest( | 2054 InitializeConnectionMigrationTest( |
| 2116 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2055 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2117 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2056 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2118 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2057 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2119 | 2058 |
| 2120 MockQuicData socket_data; | 2059 MockQuicData socket_data; |
| 2121 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2060 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2122 socket_data.AddWrite( | 2061 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2123 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2124 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2125 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2062 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2126 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2063 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 2127 socket_data.AddSocketDataToFactory(&socket_factory_); | 2064 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2128 | 2065 |
| 2129 // Create request and QuicHttpStream. | 2066 // Create request and QuicHttpStream. |
| 2130 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2067 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2131 EXPECT_EQ(ERR_IO_PENDING, | 2068 EXPECT_EQ(ERR_IO_PENDING, |
| 2132 request.Request(host_port_pair_, privacy_mode_, | 2069 request.Request(host_port_pair_, privacy_mode_, |
| 2133 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2070 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2134 callback_.callback())); | 2071 callback_.callback())); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 2163 } | 2100 } |
| 2164 | 2101 |
| 2165 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultConnectionMigrationDisabled) { | 2102 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultConnectionMigrationDisabled) { |
| 2166 InitializeConnectionMigrationTest( | 2103 InitializeConnectionMigrationTest( |
| 2167 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2104 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2168 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2105 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2169 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2106 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2170 | 2107 |
| 2171 MockQuicData socket_data; | 2108 MockQuicData socket_data; |
| 2172 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2109 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2173 socket_data.AddWrite( | 2110 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2174 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2175 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2176 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2111 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2177 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2112 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 2178 socket_data.AddSocketDataToFactory(&socket_factory_); | 2113 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2179 | 2114 |
| 2180 // Create request and QuicHttpStream. | 2115 // Create request and QuicHttpStream. |
| 2181 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2116 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2182 EXPECT_EQ(ERR_IO_PENDING, | 2117 EXPECT_EQ(ERR_IO_PENDING, |
| 2183 request.Request(host_port_pair_, privacy_mode_, | 2118 request.Request(host_port_pair_, privacy_mode_, |
| 2184 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2119 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2185 callback_.callback())); | 2120 callback_.callback())); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2217 } | 2152 } |
| 2218 | 2153 |
| 2219 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNonMigratableStream) { | 2154 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNonMigratableStream) { |
| 2220 InitializeConnectionMigrationTest( | 2155 InitializeConnectionMigrationTest( |
| 2221 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2156 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2222 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2157 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2223 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2158 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2224 | 2159 |
| 2225 MockQuicData socket_data; | 2160 MockQuicData socket_data; |
| 2226 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2161 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2227 socket_data.AddWrite( | 2162 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2228 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2229 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2230 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2163 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2231 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); | 2164 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
| 2232 socket_data.AddSocketDataToFactory(&socket_factory_); | 2165 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2233 | 2166 |
| 2234 // Create request and QuicHttpStream. | 2167 // Create request and QuicHttpStream. |
| 2235 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2168 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2236 EXPECT_EQ(ERR_IO_PENDING, | 2169 EXPECT_EQ(ERR_IO_PENDING, |
| 2237 request.Request(host_port_pair_, privacy_mode_, | 2170 request.Request(host_port_pair_, privacy_mode_, |
| 2238 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2171 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2239 callback_.callback())); | 2172 callback_.callback())); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 2267 | 2200 |
| 2268 TEST_P(QuicStreamFactoryTest, | 2201 TEST_P(QuicStreamFactoryTest, |
| 2269 OnNetworkDisconnectedConnectionMigrationDisabled) { | 2202 OnNetworkDisconnectedConnectionMigrationDisabled) { |
| 2270 InitializeConnectionMigrationTest( | 2203 InitializeConnectionMigrationTest( |
| 2271 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2204 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2272 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2205 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2273 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2206 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2274 | 2207 |
| 2275 MockQuicData socket_data; | 2208 MockQuicData socket_data; |
| 2276 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2209 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2277 socket_data.AddWrite( | 2210 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2278 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2279 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2280 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2211 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2281 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); | 2212 2, true, kClientDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT)); |
| 2282 socket_data.AddSocketDataToFactory(&socket_factory_); | 2213 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2283 | 2214 |
| 2284 // Create request and QuicHttpStream. | 2215 // Create request and QuicHttpStream. |
| 2285 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2216 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2286 EXPECT_EQ(ERR_IO_PENDING, | 2217 EXPECT_EQ(ERR_IO_PENDING, |
| 2287 request.Request(host_port_pair_, privacy_mode_, | 2218 request.Request(host_port_pair_, privacy_mode_, |
| 2288 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2219 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2289 callback_.callback())); | 2220 callback_.callback())); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2319 } | 2250 } |
| 2320 | 2251 |
| 2321 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNoOpenStreams) { | 2252 TEST_P(QuicStreamFactoryTest, OnNetworkMadeDefaultNoOpenStreams) { |
| 2322 InitializeConnectionMigrationTest( | 2253 InitializeConnectionMigrationTest( |
| 2323 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2254 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2324 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2255 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2325 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2256 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2326 | 2257 |
| 2327 MockQuicData socket_data; | 2258 MockQuicData socket_data; |
| 2328 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2259 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2329 socket_data.AddWrite( | 2260 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2330 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2331 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2332 socket_data.AddSocketDataToFactory(&socket_factory_); | 2261 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2333 | 2262 |
| 2334 // Create request and QuicHttpStream. | 2263 // Create request and QuicHttpStream. |
| 2335 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2264 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2336 EXPECT_EQ(ERR_IO_PENDING, | 2265 EXPECT_EQ(ERR_IO_PENDING, |
| 2337 request.Request(host_port_pair_, privacy_mode_, | 2266 request.Request(host_port_pair_, privacy_mode_, |
| 2338 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2267 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2339 callback_.callback())); | 2268 callback_.callback())); |
| 2340 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2269 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2341 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2270 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 2359 } | 2288 } |
| 2360 | 2289 |
| 2361 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNoOpenStreams) { | 2290 TEST_P(QuicStreamFactoryTest, OnNetworkDisconnectedNoOpenStreams) { |
| 2362 InitializeConnectionMigrationTest( | 2291 InitializeConnectionMigrationTest( |
| 2363 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2292 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2364 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2293 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2365 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2294 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2366 | 2295 |
| 2367 MockQuicData socket_data; | 2296 MockQuicData socket_data; |
| 2368 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2297 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2369 socket_data.AddWrite( | 2298 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2370 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2371 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2372 socket_data.AddSocketDataToFactory(&socket_factory_); | 2299 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2373 | 2300 |
| 2374 // Create request and QuicHttpStream. | 2301 // Create request and QuicHttpStream. |
| 2375 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2302 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2376 EXPECT_EQ(ERR_IO_PENDING, | 2303 EXPECT_EQ(ERR_IO_PENDING, |
| 2377 request.Request(host_port_pair_, privacy_mode_, | 2304 request.Request(host_port_pair_, privacy_mode_, |
| 2378 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2305 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2379 callback_.callback())); | 2306 callback_.callback())); |
| 2380 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2307 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2381 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 2308 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2400 | 2327 |
| 2401 TEST_P(QuicStreamFactoryTest, OnNetworkChangeDisconnectedPauseBeforeConnected) { | 2328 TEST_P(QuicStreamFactoryTest, OnNetworkChangeDisconnectedPauseBeforeConnected) { |
| 2402 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2329 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 2403 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2330 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2404 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2331 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2405 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2332 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2406 | 2333 |
| 2407 MockQuicData socket_data; | 2334 MockQuicData socket_data; |
| 2408 QuicStreamOffset header_stream_offset = 0; | 2335 QuicStreamOffset header_stream_offset = 0; |
| 2409 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2336 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2410 socket_data.AddWrite(ConstructSettingsPacket( | 2337 socket_data.AddWrite( |
| 2411 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2338 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 2412 &header_stream_offset)); | |
| 2413 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2339 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
| 2414 true, &header_stream_offset)); | 2340 true, &header_stream_offset)); |
| 2415 socket_data.AddSocketDataToFactory(&socket_factory_); | 2341 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2416 | 2342 |
| 2417 // Create request and QuicHttpStream. | 2343 // Create request and QuicHttpStream. |
| 2418 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2344 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2419 EXPECT_EQ(ERR_IO_PENDING, | 2345 EXPECT_EQ(ERR_IO_PENDING, |
| 2420 request.Request(host_port_pair_, privacy_mode_, | 2346 request.Request(host_port_pair_, privacy_mode_, |
| 2421 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2347 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2422 callback_.callback())); | 2348 callback_.callback())); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2481 // packet reader. | 2407 // packet reader. |
| 2482 base::RunLoop().RunUntilIdle(); | 2408 base::RunLoop().RunUntilIdle(); |
| 2483 | 2409 |
| 2484 // Response headers are received over the new network. | 2410 // Response headers are received over the new network. |
| 2485 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2411 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2486 EXPECT_EQ(200, response.headers->response_code()); | 2412 EXPECT_EQ(200, response.headers->response_code()); |
| 2487 | 2413 |
| 2488 // Create a new request and verify that a new session is created. | 2414 // Create a new request and verify that a new session is created. |
| 2489 MockQuicData socket_data2; | 2415 MockQuicData socket_data2; |
| 2490 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2416 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2491 socket_data2.AddWrite( | 2417 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 2492 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2493 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2494 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2418 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 2495 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2419 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 2496 EXPECT_EQ(ERR_IO_PENDING, | 2420 EXPECT_EQ(ERR_IO_PENDING, |
| 2497 request2.Request(host_port_pair_, privacy_mode_, | 2421 request2.Request(host_port_pair_, privacy_mode_, |
| 2498 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2422 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2499 callback_.callback())); | 2423 callback_.callback())); |
| 2500 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2424 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2501 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2425 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 2502 EXPECT_TRUE(stream2.get()); | 2426 EXPECT_TRUE(stream2.get()); |
| 2503 | 2427 |
| 2504 EXPECT_TRUE(HasActiveSession(host_port_pair_)); | 2428 EXPECT_TRUE(HasActiveSession(host_port_pair_)); |
| 2505 EXPECT_NE(session, GetActiveSession(host_port_pair_)); | 2429 EXPECT_NE(session, GetActiveSession(host_port_pair_)); |
| 2506 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); | 2430 EXPECT_TRUE(QuicStreamFactoryPeer::IsLiveSession(factory_.get(), session)); |
| 2507 | 2431 |
| 2508 stream.reset(); | 2432 stream.reset(); |
| 2509 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 2433 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 2510 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 2434 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 2511 EXPECT_TRUE(socket_data1.AllReadDataConsumed()); | 2435 EXPECT_TRUE(socket_data1.AllReadDataConsumed()); |
| 2512 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); | 2436 EXPECT_TRUE(socket_data1.AllWriteDataConsumed()); |
| 2513 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 2437 EXPECT_TRUE(socket_data2.AllReadDataConsumed()); |
| 2514 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 2438 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
| 2515 } | 2439 } |
| 2516 | 2440 |
| 2517 TEST_P(QuicStreamFactoryTest, | 2441 TEST_P(QuicStreamFactoryTest, |
| 2518 OnNetworkChangeDisconnectedPauseBeforeConnectedMultipleSessions) { | 2442 OnNetworkChangeDisconnectedPauseBeforeConnectedMultipleSessions) { |
| 2519 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2443 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 2520 | 2444 |
| 2521 MockQuicData socket_data1; | 2445 MockQuicData socket_data1; |
| 2522 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2446 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2523 socket_data1.AddWrite( | 2447 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
| 2524 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2525 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2526 socket_data1.AddWrite(ASYNC, OK); | 2448 socket_data1.AddWrite(ASYNC, OK); |
| 2527 socket_data1.AddSocketDataToFactory(&socket_factory_); | 2449 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 2528 MockQuicData socket_data2; | 2450 MockQuicData socket_data2; |
| 2529 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2451 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2530 socket_data2.AddWrite( | 2452 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 2531 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2532 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2533 socket_data2.AddWrite(ASYNC, OK); | 2453 socket_data2.AddWrite(ASYNC, OK); |
| 2534 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2454 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 2535 | 2455 |
| 2536 HostPortPair server1(kDefaultServerHostName, 443); | 2456 HostPortPair server1(kDefaultServerHostName, 443); |
| 2537 HostPortPair server2(kServer2HostName, 443); | 2457 HostPortPair server2(kServer2HostName, 443); |
| 2538 | 2458 |
| 2539 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2459 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2540 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2460 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2541 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2461 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2542 | 2462 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2623 TEST_P(QuicStreamFactoryTest, MigrateSessionEarly) { | 2543 TEST_P(QuicStreamFactoryTest, MigrateSessionEarly) { |
| 2624 InitializeConnectionMigrationTest( | 2544 InitializeConnectionMigrationTest( |
| 2625 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2545 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2626 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2627 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2628 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2548 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2629 | 2549 |
| 2630 MockQuicData socket_data; | 2550 MockQuicData socket_data; |
| 2631 QuicStreamOffset header_stream_offset = 0; | 2551 QuicStreamOffset header_stream_offset = 0; |
| 2632 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2552 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2633 socket_data.AddWrite(ConstructSettingsPacket( | 2553 socket_data.AddWrite( |
| 2634 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2554 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 2635 &header_stream_offset)); | |
| 2636 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2555 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
| 2637 true, &header_stream_offset)); | 2556 true, &header_stream_offset)); |
| 2638 socket_data.AddSocketDataToFactory(&socket_factory_); | 2557 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2639 | 2558 |
| 2640 // Create request and QuicHttpStream. | 2559 // Create request and QuicHttpStream. |
| 2641 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2560 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2642 EXPECT_EQ(ERR_IO_PENDING, | 2561 EXPECT_EQ(ERR_IO_PENDING, |
| 2643 request.Request(host_port_pair_, privacy_mode_, | 2562 request.Request(host_port_pair_, privacy_mode_, |
| 2644 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2563 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2645 callback_.callback())); | 2564 callback_.callback())); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2691 | 2610 |
| 2692 // Verify that response headers on the migrated socket were delivered to the | 2611 // Verify that response headers on the migrated socket were delivered to the |
| 2693 // stream. | 2612 // stream. |
| 2694 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 2613 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
| 2695 EXPECT_EQ(200, response.headers->response_code()); | 2614 EXPECT_EQ(200, response.headers->response_code()); |
| 2696 | 2615 |
| 2697 // Create a new request for the same destination and verify that a | 2616 // Create a new request for the same destination and verify that a |
| 2698 // new session is created. | 2617 // new session is created. |
| 2699 MockQuicData socket_data2; | 2618 MockQuicData socket_data2; |
| 2700 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2619 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2701 socket_data2.AddWrite( | 2620 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 2702 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2703 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2704 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2621 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 2705 | 2622 |
| 2706 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2623 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 2707 EXPECT_EQ(ERR_IO_PENDING, | 2624 EXPECT_EQ(ERR_IO_PENDING, |
| 2708 request2.Request(host_port_pair_, privacy_mode_, | 2625 request2.Request(host_port_pair_, privacy_mode_, |
| 2709 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2626 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2710 callback_.callback())); | 2627 callback_.callback())); |
| 2711 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2628 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2712 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2629 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 2713 EXPECT_TRUE(stream2.get()); | 2630 EXPECT_TRUE(stream2.get()); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2750 // the old connection on the migrated socket. | 2667 // the old connection on the migrated socket. |
| 2751 InitializeConnectionMigrationTest( | 2668 InitializeConnectionMigrationTest( |
| 2752 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2669 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2753 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2670 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2754 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2671 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2755 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2672 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2756 | 2673 |
| 2757 MockQuicData socket_data; | 2674 MockQuicData socket_data; |
| 2758 QuicStreamOffset header_stream_offset = 0; | 2675 QuicStreamOffset header_stream_offset = 0; |
| 2759 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2676 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2760 socket_data.AddWrite(ConstructSettingsPacket( | 2677 socket_data.AddWrite( |
| 2761 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2678 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 2762 &header_stream_offset)); | |
| 2763 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 2679 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
| 2764 true, &header_stream_offset)); | 2680 true, &header_stream_offset)); |
| 2765 socket_data.AddSocketDataToFactory(&socket_factory_); | 2681 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2766 | 2682 |
| 2767 // Create request and QuicHttpStream. | 2683 // Create request and QuicHttpStream. |
| 2768 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2684 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2769 EXPECT_EQ(ERR_IO_PENDING, | 2685 EXPECT_EQ(ERR_IO_PENDING, |
| 2770 request.Request(host_port_pair_, privacy_mode_, | 2686 request.Request(host_port_pair_, privacy_mode_, |
| 2771 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2687 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2772 callback_.callback())); | 2688 callback_.callback())); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2820 | 2736 |
| 2821 // Verify that response headers on the migrated socket were delivered to the | 2737 // Verify that response headers on the migrated socket were delivered to the |
| 2822 // stream. | 2738 // stream. |
| 2823 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); | 2739 EXPECT_THAT(stream->ReadResponseHeaders(callback_.callback()), IsOk()); |
| 2824 EXPECT_EQ(200, response.headers->response_code()); | 2740 EXPECT_EQ(200, response.headers->response_code()); |
| 2825 | 2741 |
| 2826 // Create a new request for the same destination and verify that a | 2742 // Create a new request for the same destination and verify that a |
| 2827 // new session is created. | 2743 // new session is created. |
| 2828 MockQuicData socket_data2; | 2744 MockQuicData socket_data2; |
| 2829 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2745 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2830 socket_data2.AddWrite( | 2746 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 2831 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2832 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2833 socket_data2.AddSocketDataToFactory(&socket_factory_); | 2747 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 2834 | 2748 |
| 2835 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 2749 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 2836 EXPECT_EQ(ERR_IO_PENDING, | 2750 EXPECT_EQ(ERR_IO_PENDING, |
| 2837 request2.Request(host_port_pair_, privacy_mode_, | 2751 request2.Request(host_port_pair_, privacy_mode_, |
| 2838 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2752 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2839 callback_.callback())); | 2753 callback_.callback())); |
| 2840 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 2754 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 2841 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 2755 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 2842 EXPECT_TRUE(stream2.get()); | 2756 EXPECT_TRUE(stream2.get()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2872 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 2786 EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |
| 2873 } | 2787 } |
| 2874 | 2788 |
| 2875 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNoNewNetwork) { | 2789 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNoNewNetwork) { |
| 2876 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 2790 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 2877 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2791 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2878 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2792 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2879 | 2793 |
| 2880 MockQuicData socket_data; | 2794 MockQuicData socket_data; |
| 2881 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2795 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2882 socket_data.AddWrite( | 2796 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2883 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2884 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2885 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2797 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2886 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2798 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 2887 socket_data.AddSocketDataToFactory(&socket_factory_); | 2799 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2888 | 2800 |
| 2889 // Create request and QuicHttpStream. | 2801 // Create request and QuicHttpStream. |
| 2890 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2802 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2891 EXPECT_EQ(ERR_IO_PENDING, | 2803 EXPECT_EQ(ERR_IO_PENDING, |
| 2892 request.Request(host_port_pair_, privacy_mode_, | 2804 request.Request(host_port_pair_, privacy_mode_, |
| 2893 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2805 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2894 callback_.callback())); | 2806 callback_.callback())); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2926 } | 2838 } |
| 2927 | 2839 |
| 2928 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNonMigratableStream) { | 2840 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyNonMigratableStream) { |
| 2929 InitializeConnectionMigrationTest( | 2841 InitializeConnectionMigrationTest( |
| 2930 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2842 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2931 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2843 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2932 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2844 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2933 | 2845 |
| 2934 MockQuicData socket_data; | 2846 MockQuicData socket_data; |
| 2935 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2847 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2936 socket_data.AddWrite( | 2848 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2937 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2938 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2939 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2849 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2940 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2850 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 2941 socket_data.AddSocketDataToFactory(&socket_factory_); | 2851 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2942 | 2852 |
| 2943 // Create request and QuicHttpStream. | 2853 // Create request and QuicHttpStream. |
| 2944 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2854 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2945 EXPECT_EQ(ERR_IO_PENDING, | 2855 EXPECT_EQ(ERR_IO_PENDING, |
| 2946 request.Request(host_port_pair_, privacy_mode_, | 2856 request.Request(host_port_pair_, privacy_mode_, |
| 2947 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2857 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 2948 callback_.callback())); | 2858 callback_.callback())); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2980 } | 2890 } |
| 2981 | 2891 |
| 2982 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyConnectionMigrationDisabled) { | 2892 TEST_P(QuicStreamFactoryTest, MigrateSessionEarlyConnectionMigrationDisabled) { |
| 2983 InitializeConnectionMigrationTest( | 2893 InitializeConnectionMigrationTest( |
| 2984 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2894 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 2985 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2895 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 2986 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2896 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 2987 | 2897 |
| 2988 MockQuicData socket_data; | 2898 MockQuicData socket_data; |
| 2989 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2899 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 2990 socket_data.AddWrite( | 2900 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 2991 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 2992 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 2993 socket_data.AddWrite(client_maker_.MakeRstPacket( | 2901 socket_data.AddWrite(client_maker_.MakeRstPacket( |
| 2994 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 2902 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 2995 socket_data.AddSocketDataToFactory(&socket_factory_); | 2903 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 2996 | 2904 |
| 2997 // Create request and QuicHttpStream. | 2905 // Create request and QuicHttpStream. |
| 2998 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2906 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 2999 EXPECT_EQ(ERR_IO_PENDING, | 2907 EXPECT_EQ(ERR_IO_PENDING, |
| 3000 request.Request(host_port_pair_, privacy_mode_, | 2908 request.Request(host_port_pair_, privacy_mode_, |
| 3001 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2909 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3002 callback_.callback())); | 2910 callback_.callback())); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3040 IoMode write_error_mode) { | 2948 IoMode write_error_mode) { |
| 3041 InitializeConnectionMigrationTest( | 2949 InitializeConnectionMigrationTest( |
| 3042 {kDefaultNetworkForTests, kNewNetworkForTests}); | 2950 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3043 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 2951 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3044 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2952 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3045 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 2953 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3046 | 2954 |
| 3047 MockQuicData socket_data; | 2955 MockQuicData socket_data; |
| 3048 QuicStreamOffset header_stream_offset = 0; | 2956 QuicStreamOffset header_stream_offset = 0; |
| 3049 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 2957 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3050 socket_data.AddWrite(ConstructSettingsPacket( | 2958 socket_data.AddWrite( |
| 3051 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 2959 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3052 &header_stream_offset)); | |
| 3053 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 2960 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
| 3054 socket_data.AddSocketDataToFactory(&socket_factory_); | 2961 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3055 | 2962 |
| 3056 // Create request and QuicHttpStream. | 2963 // Create request and QuicHttpStream. |
| 3057 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 2964 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3058 EXPECT_EQ(ERR_IO_PENDING, | 2965 EXPECT_EQ(ERR_IO_PENDING, |
| 3059 request.Request(host_port_pair_, privacy_mode_, | 2966 request.Request(host_port_pair_, privacy_mode_, |
| 3060 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 2967 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3061 callback_.callback())); | 2968 callback_.callback())); |
| 3062 EXPECT_EQ(OK, callback_.WaitForResult()); | 2969 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3130 IoMode write_error_mode) { | 3037 IoMode write_error_mode) { |
| 3131 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3038 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 3132 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3039 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3133 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3040 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3134 | 3041 |
| 3135 // Use the test task runner, to force the migration alarm timeout later. | 3042 // Use the test task runner, to force the migration alarm timeout later. |
| 3136 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 3043 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
| 3137 | 3044 |
| 3138 MockQuicData socket_data; | 3045 MockQuicData socket_data; |
| 3139 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3046 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3140 socket_data.AddWrite( | 3047 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 3141 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 3142 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 3143 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3048 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
| 3144 socket_data.AddSocketDataToFactory(&socket_factory_); | 3049 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3145 | 3050 |
| 3146 // Create request and QuicHttpStream. | 3051 // Create request and QuicHttpStream. |
| 3147 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3052 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3148 EXPECT_EQ(ERR_IO_PENDING, | 3053 EXPECT_EQ(ERR_IO_PENDING, |
| 3149 request.Request(host_port_pair_, privacy_mode_, | 3054 request.Request(host_port_pair_, privacy_mode_, |
| 3150 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3055 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3151 callback_.callback())); | 3056 callback_.callback())); |
| 3152 EXPECT_EQ(OK, callback_.WaitForResult()); | 3057 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3221 IoMode write_error_mode) { | 3126 IoMode write_error_mode) { |
| 3222 DVLOG(1) << "Mode: " | 3127 DVLOG(1) << "Mode: " |
| 3223 << ((write_error_mode == SYNCHRONOUS) ? "SYNCHRONOUS" : "ASYNC"); | 3128 << ((write_error_mode == SYNCHRONOUS) ? "SYNCHRONOUS" : "ASYNC"); |
| 3224 InitializeConnectionMigrationTest( | 3129 InitializeConnectionMigrationTest( |
| 3225 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3130 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3226 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3131 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3227 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3132 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3228 | 3133 |
| 3229 MockQuicData socket_data; | 3134 MockQuicData socket_data; |
| 3230 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3135 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3231 socket_data.AddWrite( | 3136 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 3232 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 3233 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 3234 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3137 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
| 3235 socket_data.AddSocketDataToFactory(&socket_factory_); | 3138 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3236 | 3139 |
| 3237 // Create request and QuicHttpStream. | 3140 // Create request and QuicHttpStream. |
| 3238 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3141 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3239 EXPECT_EQ(ERR_IO_PENDING, | 3142 EXPECT_EQ(ERR_IO_PENDING, |
| 3240 request.Request(host_port_pair_, privacy_mode_, | 3143 request.Request(host_port_pair_, privacy_mode_, |
| 3241 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3144 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3242 callback_.callback())); | 3145 callback_.callback())); |
| 3243 EXPECT_EQ(OK, callback_.WaitForResult()); | 3146 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3287 | 3190 |
| 3288 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorMigrationDisabled( | 3191 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorMigrationDisabled( |
| 3289 IoMode write_error_mode) { | 3192 IoMode write_error_mode) { |
| 3290 InitializeConnectionMigrationTest( | 3193 InitializeConnectionMigrationTest( |
| 3291 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3194 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3292 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3195 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3293 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3196 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3294 | 3197 |
| 3295 MockQuicData socket_data; | 3198 MockQuicData socket_data; |
| 3296 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3199 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3297 socket_data.AddWrite( | 3200 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 3298 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 3299 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 3300 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); | 3201 socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE); |
| 3301 socket_data.AddSocketDataToFactory(&socket_factory_); | 3202 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3302 | 3203 |
| 3303 // Create request and QuicHttpStream. | 3204 // Create request and QuicHttpStream. |
| 3304 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3205 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3305 EXPECT_EQ(ERR_IO_PENDING, | 3206 EXPECT_EQ(ERR_IO_PENDING, |
| 3306 request.Request(host_port_pair_, privacy_mode_, | 3207 request.Request(host_port_pair_, privacy_mode_, |
| 3307 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3208 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3308 callback_.callback())); | 3209 callback_.callback())); |
| 3309 EXPECT_EQ(OK, callback_.WaitForResult()); | 3210 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3363 | 3264 |
| 3364 // Set up kMaxReadersPerQuicSession socket data providers, since | 3265 // Set up kMaxReadersPerQuicSession socket data providers, since |
| 3365 // migration will cause kMaxReadersPerQuicSession write failures as | 3266 // migration will cause kMaxReadersPerQuicSession write failures as |
| 3366 // the session hops repeatedly between the two networks. | 3267 // the session hops repeatedly between the two networks. |
| 3367 MockQuicData socket_data[kMaxReadersPerQuicSession + 1]; | 3268 MockQuicData socket_data[kMaxReadersPerQuicSession + 1]; |
| 3368 for (int i = 0; i <= kMaxReadersPerQuicSession; ++i) { | 3269 for (int i = 0; i <= kMaxReadersPerQuicSession; ++i) { |
| 3369 // The last socket is created but never used. | 3270 // The last socket is created but never used. |
| 3370 if (i < kMaxReadersPerQuicSession) { | 3271 if (i < kMaxReadersPerQuicSession) { |
| 3371 socket_data[i].AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3272 socket_data[i].AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3372 if (i == 0) { | 3273 if (i == 0) { |
| 3373 socket_data[i].AddWrite(ConstructSettingsPacket( | 3274 socket_data[i].AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
| 3374 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | |
| 3375 nullptr)); | |
| 3376 } | 3275 } |
| 3377 socket_data[i].AddWrite( | 3276 socket_data[i].AddWrite( |
| 3378 (i % 2 == 0) ? first_write_error_mode : second_write_error_mode, | 3277 (i % 2 == 0) ? first_write_error_mode : second_write_error_mode, |
| 3379 ERR_FAILED); | 3278 ERR_FAILED); |
| 3380 } | 3279 } |
| 3381 socket_data[i].AddSocketDataToFactory(&socket_factory_); | 3280 socket_data[i].AddSocketDataToFactory(&socket_factory_); |
| 3382 } | 3281 } |
| 3383 | 3282 |
| 3384 // Create request and QuicHttpStream. | 3283 // Create request and QuicHttpStream. |
| 3385 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3284 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3449 bool disconnected) { | 3348 bool disconnected) { |
| 3450 InitializeConnectionMigrationTest( | 3349 InitializeConnectionMigrationTest( |
| 3451 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3350 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3452 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3351 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3453 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3352 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3454 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3353 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3455 | 3354 |
| 3456 MockQuicData socket_data; | 3355 MockQuicData socket_data; |
| 3457 QuicStreamOffset header_stream_offset = 0; | 3356 QuicStreamOffset header_stream_offset = 0; |
| 3458 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3357 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3459 socket_data.AddWrite(ConstructSettingsPacket( | 3358 socket_data.AddWrite( |
| 3460 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3359 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3461 &header_stream_offset)); | |
| 3462 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); | 3360 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); |
| 3463 socket_data.AddSocketDataToFactory(&socket_factory_); | 3361 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3464 | 3362 |
| 3465 // Create request and QuicHttpStream. | 3363 // Create request and QuicHttpStream. |
| 3466 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3364 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3467 EXPECT_EQ(ERR_IO_PENDING, | 3365 EXPECT_EQ(ERR_IO_PENDING, |
| 3468 request.Request(host_port_pair_, privacy_mode_, | 3366 request.Request(host_port_pair_, privacy_mode_, |
| 3469 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3367 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3470 callback_.callback())); | 3368 callback_.callback())); |
| 3471 EXPECT_EQ(OK, callback_.WaitForResult()); | 3369 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3547 bool disconnected) { | 3445 bool disconnected) { |
| 3548 InitializeConnectionMigrationTest( | 3446 InitializeConnectionMigrationTest( |
| 3549 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3447 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3550 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3448 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3551 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3449 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3552 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3450 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3553 | 3451 |
| 3554 MockQuicData socket_data; | 3452 MockQuicData socket_data; |
| 3555 QuicStreamOffset header_stream_offset = 0; | 3453 QuicStreamOffset header_stream_offset = 0; |
| 3556 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3454 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3557 socket_data.AddWrite(ConstructSettingsPacket( | 3455 socket_data.AddWrite( |
| 3558 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3456 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3559 &header_stream_offset)); | |
| 3560 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); | 3457 socket_data.AddWrite(SYNCHRONOUS, ERR_ADDRESS_UNREACHABLE); |
| 3561 socket_data.AddSocketDataToFactory(&socket_factory_); | 3458 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3562 | 3459 |
| 3563 // Create request and QuicHttpStream. | 3460 // Create request and QuicHttpStream. |
| 3564 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3461 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3565 EXPECT_EQ(ERR_IO_PENDING, | 3462 EXPECT_EQ(ERR_IO_PENDING, |
| 3566 request.Request(host_port_pair_, privacy_mode_, | 3463 request.Request(host_port_pair_, privacy_mode_, |
| 3567 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3464 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3568 callback_.callback())); | 3465 callback_.callback())); |
| 3569 EXPECT_EQ(OK, callback_.WaitForResult()); | 3466 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3646 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorPauseBeforeConnected( | 3543 void QuicStreamFactoryTestBase::TestMigrationOnWriteErrorPauseBeforeConnected( |
| 3647 IoMode write_error_mode) { | 3544 IoMode write_error_mode) { |
| 3648 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3545 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 3649 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3650 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3651 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3548 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3652 | 3549 |
| 3653 MockQuicData socket_data; | 3550 MockQuicData socket_data; |
| 3654 QuicStreamOffset header_stream_offset = 0; | 3551 QuicStreamOffset header_stream_offset = 0; |
| 3655 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3552 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3656 socket_data.AddWrite(ConstructSettingsPacket( | 3553 socket_data.AddWrite( |
| 3657 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3554 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3658 &header_stream_offset)); | |
| 3659 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); | 3555 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); |
| 3660 socket_data.AddSocketDataToFactory(&socket_factory_); | 3556 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3661 | 3557 |
| 3662 // Create request and QuicHttpStream. | 3558 // Create request and QuicHttpStream. |
| 3663 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3559 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3664 EXPECT_EQ(ERR_IO_PENDING, | 3560 EXPECT_EQ(ERR_IO_PENDING, |
| 3665 request.Request(host_port_pair_, privacy_mode_, | 3561 request.Request(host_port_pair_, privacy_mode_, |
| 3666 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3562 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3667 callback_.callback())); | 3563 callback_.callback())); |
| 3668 EXPECT_EQ(OK, callback_.WaitForResult()); | 3564 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3730 // This is the callback for the response headers that returned | 3626 // This is the callback for the response headers that returned |
| 3731 // pending previously, because no result was available. Check that | 3627 // pending previously, because no result was available. Check that |
| 3732 // the result is now available due to the successful migration. | 3628 // the result is now available due to the successful migration. |
| 3733 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3629 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 3734 EXPECT_EQ(200, response.headers->response_code()); | 3630 EXPECT_EQ(200, response.headers->response_code()); |
| 3735 | 3631 |
| 3736 // Create a new request for the same destination and verify that a | 3632 // Create a new request for the same destination and verify that a |
| 3737 // new session is created. | 3633 // new session is created. |
| 3738 MockQuicData socket_data2; | 3634 MockQuicData socket_data2; |
| 3739 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3635 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3740 socket_data2.AddWrite( | 3636 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 3741 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 3742 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 3743 socket_data2.AddSocketDataToFactory(&socket_factory_); | 3637 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 3744 | 3638 |
| 3745 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 3639 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 3746 EXPECT_EQ(ERR_IO_PENDING, | 3640 EXPECT_EQ(ERR_IO_PENDING, |
| 3747 request2.Request(host_port_pair_, privacy_mode_, | 3641 request2.Request(host_port_pair_, privacy_mode_, |
| 3748 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3642 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3749 callback_.callback())); | 3643 callback_.callback())); |
| 3750 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3644 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 3751 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 3645 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 3752 EXPECT_TRUE(stream2.get()); | 3646 EXPECT_TRUE(stream2.get()); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 3781 IoMode write_error_mode, | 3675 IoMode write_error_mode, |
| 3782 bool disconnected) { | 3676 bool disconnected) { |
| 3783 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); | 3677 InitializeConnectionMigrationTest({kDefaultNetworkForTests}); |
| 3784 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3678 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3785 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3679 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3786 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3680 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3787 | 3681 |
| 3788 MockQuicData socket_data; | 3682 MockQuicData socket_data; |
| 3789 QuicStreamOffset header_stream_offset = 0; | 3683 QuicStreamOffset header_stream_offset = 0; |
| 3790 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3684 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3791 socket_data.AddWrite(ConstructSettingsPacket( | 3685 socket_data.AddWrite( |
| 3792 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3686 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3793 &header_stream_offset)); | |
| 3794 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); | 3687 socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); |
| 3795 socket_data.AddSocketDataToFactory(&socket_factory_); | 3688 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3796 | 3689 |
| 3797 // Create request and QuicHttpStream. | 3690 // Create request and QuicHttpStream. |
| 3798 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3691 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3799 EXPECT_EQ(ERR_IO_PENDING, | 3692 EXPECT_EQ(ERR_IO_PENDING, |
| 3800 request.Request(host_port_pair_, privacy_mode_, | 3693 request.Request(host_port_pair_, privacy_mode_, |
| 3801 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3694 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3802 callback_.callback())); | 3695 callback_.callback())); |
| 3803 EXPECT_EQ(OK, callback_.WaitForResult()); | 3696 EXPECT_EQ(OK, callback_.WaitForResult()); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3873 | 3766 |
| 3874 // Now deliver a CONNECTED notification. Nothing happens since | 3767 // Now deliver a CONNECTED notification. Nothing happens since |
| 3875 // migration was already finished earlier. | 3768 // migration was already finished earlier. |
| 3876 scoped_mock_network_change_notifier_->mock_network_change_notifier() | 3769 scoped_mock_network_change_notifier_->mock_network_change_notifier() |
| 3877 ->NotifyNetworkConnected(kNewNetworkForTests); | 3770 ->NotifyNetworkConnected(kNewNetworkForTests); |
| 3878 | 3771 |
| 3879 // Create a new request for the same destination and verify that a | 3772 // Create a new request for the same destination and verify that a |
| 3880 // new session is created. | 3773 // new session is created. |
| 3881 MockQuicData socket_data2; | 3774 MockQuicData socket_data2; |
| 3882 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3775 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3883 socket_data2.AddWrite( | 3776 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 3884 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 3885 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 3886 socket_data2.AddSocketDataToFactory(&socket_factory_); | 3777 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 3887 | 3778 |
| 3888 QuicStreamRequest request2(factory_.get(), &http_server_properties_); | 3779 QuicStreamRequest request2(factory_.get(), &http_server_properties_); |
| 3889 EXPECT_EQ(ERR_IO_PENDING, | 3780 EXPECT_EQ(ERR_IO_PENDING, |
| 3890 request2.Request(host_port_pair_, privacy_mode_, | 3781 request2.Request(host_port_pair_, privacy_mode_, |
| 3891 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3782 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3892 callback_.callback())); | 3783 callback_.callback())); |
| 3893 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3784 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 3894 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); | 3785 std::unique_ptr<QuicHttpStream> stream2 = request2.CreateStream(); |
| 3895 EXPECT_TRUE(stream2.get()); | 3786 EXPECT_TRUE(stream2.get()); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3936 // socket but the socket is unusable, such as an ipv4/ipv6 mismatch. | 3827 // socket but the socket is unusable, such as an ipv4/ipv6 mismatch. |
| 3937 InitializeConnectionMigrationTest( | 3828 InitializeConnectionMigrationTest( |
| 3938 {kDefaultNetworkForTests, kNewNetworkForTests}); | 3829 {kDefaultNetworkForTests, kNewNetworkForTests}); |
| 3939 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3830 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 3940 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3831 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3941 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3832 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 3942 | 3833 |
| 3943 MockQuicData socket_data; | 3834 MockQuicData socket_data; |
| 3944 QuicStreamOffset header_stream_offset = 0; | 3835 QuicStreamOffset header_stream_offset = 0; |
| 3945 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3836 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 3946 socket_data.AddWrite(ConstructSettingsPacket( | 3837 socket_data.AddWrite( |
| 3947 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3838 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 3948 &header_stream_offset)); | |
| 3949 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 3839 socket_data.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
| 3950 true, &header_stream_offset)); | 3840 true, &header_stream_offset)); |
| 3951 socket_data.AddSocketDataToFactory(&socket_factory_); | 3841 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 3952 | 3842 |
| 3953 // Create request and QuicHttpStream. | 3843 // Create request and QuicHttpStream. |
| 3954 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3844 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 3955 EXPECT_EQ(ERR_IO_PENDING, | 3845 EXPECT_EQ(ERR_IO_PENDING, |
| 3956 request.Request(host_port_pair_, privacy_mode_, | 3846 request.Request(host_port_pair_, privacy_mode_, |
| 3957 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3847 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 3958 callback_.callback())); | 3848 callback_.callback())); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4000 allow_server_migration_ = true; | 3890 allow_server_migration_ = true; |
| 4001 Initialize(); | 3891 Initialize(); |
| 4002 | 3892 |
| 4003 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3893 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4004 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3894 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4005 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3895 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4006 | 3896 |
| 4007 MockQuicData socket_data1; | 3897 MockQuicData socket_data1; |
| 4008 QuicStreamOffset header_stream_offset = 0; | 3898 QuicStreamOffset header_stream_offset = 0; |
| 4009 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3899 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4010 socket_data1.AddWrite(ConstructSettingsPacket( | 3900 socket_data1.AddWrite( |
| 4011 1, SETTINGS_MAX_HEADER_LIST_SIZE, kDefaultMaxUncompressedHeaderSize, | 3901 ConstructInitialSettingsPacket(1, &header_stream_offset)); |
| 4012 &header_stream_offset)); | |
| 4013 socket_data1.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, | 3902 socket_data1.AddWrite(ConstructGetRequestPacket(2, kClientDataStreamId1, true, |
| 4014 true, &header_stream_offset)); | 3903 true, &header_stream_offset)); |
| 4015 socket_data1.AddSocketDataToFactory(&socket_factory_); | 3904 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 4016 | 3905 |
| 4017 // Create request and QuicHttpStream. | 3906 // Create request and QuicHttpStream. |
| 4018 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 3907 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4019 EXPECT_EQ(ERR_IO_PENDING, | 3908 EXPECT_EQ(ERR_IO_PENDING, |
| 4020 request.Request(host_port_pair_, privacy_mode_, | 3909 request.Request(host_port_pair_, privacy_mode_, |
| 4021 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3910 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4022 callback_.callback())); | 3911 callback_.callback())); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4143 | 4032 |
| 4144 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4033 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4145 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4034 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4146 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4035 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4147 | 4036 |
| 4148 crypto_client_stream_factory_.SetConfig(config); | 4037 crypto_client_stream_factory_.SetConfig(config); |
| 4149 | 4038 |
| 4150 // Set up only socket data provider. | 4039 // Set up only socket data provider. |
| 4151 MockQuicData socket_data1; | 4040 MockQuicData socket_data1; |
| 4152 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4041 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4153 socket_data1.AddWrite( | 4042 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
| 4154 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4155 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4156 socket_data1.AddWrite(client_maker_.MakeRstPacket( | 4043 socket_data1.AddWrite(client_maker_.MakeRstPacket( |
| 4157 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); | 4044 2, true, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 4158 socket_data1.AddSocketDataToFactory(&socket_factory_); | 4045 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 4159 | 4046 |
| 4160 // Create request and QuicHttpStream. | 4047 // Create request and QuicHttpStream. |
| 4161 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4048 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4162 EXPECT_EQ(ERR_IO_PENDING, | 4049 EXPECT_EQ(ERR_IO_PENDING, |
| 4163 request.Request(host_port_pair_, privacy_mode_, | 4050 request.Request(host_port_pair_, privacy_mode_, |
| 4164 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4051 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4165 callback_.callback())); | 4052 callback_.callback())); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 4196 } | 4083 } |
| 4197 | 4084 |
| 4198 TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) { | 4085 TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) { |
| 4199 Initialize(); | 4086 Initialize(); |
| 4200 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4087 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4201 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4088 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4202 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4089 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4203 | 4090 |
| 4204 MockQuicData socket_data; | 4091 MockQuicData socket_data; |
| 4205 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4092 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4206 socket_data.AddWrite( | 4093 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4207 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4208 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4209 socket_data.AddWrite(ConstructClientRstPacket(2)); | 4094 socket_data.AddWrite(ConstructClientRstPacket(2)); |
| 4210 socket_data.AddSocketDataToFactory(&socket_factory_); | 4095 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4211 | 4096 |
| 4212 MockQuicData socket_data2; | 4097 MockQuicData socket_data2; |
| 4213 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4098 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4214 socket_data2.AddWrite( | 4099 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
| 4215 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4216 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4217 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4100 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 4218 | 4101 |
| 4219 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4102 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4220 EXPECT_EQ(ERR_IO_PENDING, | 4103 EXPECT_EQ(ERR_IO_PENDING, |
| 4221 request.Request(host_port_pair_, privacy_mode_, | 4104 request.Request(host_port_pair_, privacy_mode_, |
| 4222 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4105 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4223 callback_.callback())); | 4106 callback_.callback())); |
| 4224 | 4107 |
| 4225 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4108 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 4226 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4109 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 4253 } | 4136 } |
| 4254 | 4137 |
| 4255 TEST_P(QuicStreamFactoryTest, OnCertDBChanged) { | 4138 TEST_P(QuicStreamFactoryTest, OnCertDBChanged) { |
| 4256 Initialize(); | 4139 Initialize(); |
| 4257 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4140 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4258 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4141 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4259 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4142 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4260 | 4143 |
| 4261 MockQuicData socket_data; | 4144 MockQuicData socket_data; |
| 4262 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4145 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4263 socket_data.AddWrite( | 4146 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4264 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4265 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4266 socket_data.AddWrite(ConstructClientRstPacket(2)); | 4147 socket_data.AddWrite(ConstructClientRstPacket(2)); |
| 4267 socket_data.AddSocketDataToFactory(&socket_factory_); | 4148 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4268 | 4149 |
| 4269 MockQuicData socket_data2; | 4150 MockQuicData socket_data2; |
| 4270 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4151 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4271 socket_data2.AddWrite( | 4152 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
| 4272 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4273 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4274 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4153 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 4275 | 4154 |
| 4276 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4155 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4277 EXPECT_EQ(ERR_IO_PENDING, | 4156 EXPECT_EQ(ERR_IO_PENDING, |
| 4278 request.Request(host_port_pair_, privacy_mode_, | 4157 request.Request(host_port_pair_, privacy_mode_, |
| 4279 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4158 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4280 callback_.callback())); | 4159 callback_.callback())); |
| 4281 | 4160 |
| 4282 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4161 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 4283 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4162 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4418 reduced_ping_timeout_seconds_ = 10; | 4297 reduced_ping_timeout_seconds_ = 10; |
| 4419 Initialize(); | 4298 Initialize(); |
| 4420 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4299 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4421 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4300 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4422 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4301 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4423 | 4302 |
| 4424 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); | 4303 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); |
| 4425 | 4304 |
| 4426 MockQuicData socket_data; | 4305 MockQuicData socket_data; |
| 4427 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4306 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4428 socket_data.AddWrite( | 4307 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4429 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4430 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4431 socket_data.AddSocketDataToFactory(&socket_factory_); | 4308 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4432 | 4309 |
| 4433 MockQuicData socket_data2; | 4310 MockQuicData socket_data2; |
| 4434 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4311 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4435 socket_data2.AddWrite( | 4312 socket_data2.AddWrite(ConstructInitialSettingsPacket(1, nullptr)); |
| 4436 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4437 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4438 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4313 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 4439 | 4314 |
| 4440 HostPortPair server2(kServer2HostName, kDefaultServerPort); | 4315 HostPortPair server2(kServer2HostName, kDefaultServerPort); |
| 4441 | 4316 |
| 4442 crypto_client_stream_factory_.set_handshake_mode( | 4317 crypto_client_stream_factory_.set_handshake_mode( |
| 4443 MockCryptoClientStream::CONFIRM_HANDSHAKE); | 4318 MockCryptoClientStream::CONFIRM_HANDSHAKE); |
| 4444 host_resolver_.set_synchronous_mode(true); | 4319 host_resolver_.set_synchronous_mode(true); |
| 4445 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 4320 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
| 4446 "192.168.0.1", ""); | 4321 "192.168.0.1", ""); |
| 4447 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); | 4322 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4517 // factory is initialized correctly. | 4392 // factory is initialized correctly. |
| 4518 TEST_P(QuicStreamFactoryTest, MaybeInitializeAlternativeProxyServer) { | 4393 TEST_P(QuicStreamFactoryTest, MaybeInitializeAlternativeProxyServer) { |
| 4519 VerifyInitialization(true); | 4394 VerifyInitialization(true); |
| 4520 } | 4395 } |
| 4521 | 4396 |
| 4522 TEST_P(QuicStreamFactoryTest, StartCertVerifyJob) { | 4397 TEST_P(QuicStreamFactoryTest, StartCertVerifyJob) { |
| 4523 Initialize(); | 4398 Initialize(); |
| 4524 | 4399 |
| 4525 MockQuicData socket_data; | 4400 MockQuicData socket_data; |
| 4526 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4401 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4527 socket_data.AddWrite( | 4402 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4528 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4529 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4530 socket_data.AddSocketDataToFactory(&socket_factory_); | 4403 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4531 | 4404 |
| 4532 // Save current state of |race_cert_verification|. | 4405 // Save current state of |race_cert_verification|. |
| 4533 bool race_cert_verification = | 4406 bool race_cert_verification = |
| 4534 QuicStreamFactoryPeer::GetRaceCertVerification(factory_.get()); | 4407 QuicStreamFactoryPeer::GetRaceCertVerification(factory_.get()); |
| 4535 | 4408 |
| 4536 // Load server config. | 4409 // Load server config. |
| 4537 HostPortPair host_port_pair(kDefaultServerHostName, kDefaultServerPort); | 4410 HostPortPair host_port_pair(kDefaultServerHostName, kDefaultServerPort); |
| 4538 QuicServerId quic_server_id(host_port_pair_, privacy_mode_); | 4411 QuicServerId quic_server_id(host_port_pair_, privacy_mode_); |
| 4539 QuicStreamFactoryPeer::CacheDummyServerConfig(factory_.get(), quic_server_id); | 4412 QuicStreamFactoryPeer::CacheDummyServerConfig(factory_.get(), quic_server_id); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4668 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 4541 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 4669 } | 4542 } |
| 4670 | 4543 |
| 4671 TEST_P(QuicStreamFactoryTest, ServerPushSessionAffinity) { | 4544 TEST_P(QuicStreamFactoryTest, ServerPushSessionAffinity) { |
| 4672 Initialize(); | 4545 Initialize(); |
| 4673 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4546 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4674 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4547 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4675 | 4548 |
| 4676 MockQuicData socket_data; | 4549 MockQuicData socket_data; |
| 4677 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4550 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4678 socket_data.AddWrite( | 4551 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4679 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4680 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4681 socket_data.AddSocketDataToFactory(&socket_factory_); | 4552 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4682 | 4553 |
| 4683 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4554 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4684 EXPECT_EQ(ERR_IO_PENDING, | 4555 EXPECT_EQ(ERR_IO_PENDING, |
| 4685 request.Request(host_port_pair_, privacy_mode_, | 4556 request.Request(host_port_pair_, privacy_mode_, |
| 4686 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4557 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4687 callback_.callback())); | 4558 callback_.callback())); |
| 4688 | 4559 |
| 4689 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4560 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 4690 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4561 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 4709 } | 4580 } |
| 4710 | 4581 |
| 4711 TEST_P(QuicStreamFactoryTest, ServerPushPrivacyModeMismatch) { | 4582 TEST_P(QuicStreamFactoryTest, ServerPushPrivacyModeMismatch) { |
| 4712 Initialize(); | 4583 Initialize(); |
| 4713 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4584 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4714 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4585 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4715 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4586 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4716 | 4587 |
| 4717 MockQuicData socket_data1; | 4588 MockQuicData socket_data1; |
| 4718 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4589 socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4719 socket_data1.AddWrite( | 4590 socket_data1.AddWrite(ConstructInitialSettingsPacket()); |
| 4720 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4721 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4722 socket_data1.AddWrite(client_maker_.MakeRstPacket( | 4591 socket_data1.AddWrite(client_maker_.MakeRstPacket( |
| 4723 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); | 4592 2, true, kServerDataStreamId1, QUIC_STREAM_CANCELLED)); |
| 4724 socket_data1.AddSocketDataToFactory(&socket_factory_); | 4593 socket_data1.AddSocketDataToFactory(&socket_factory_); |
| 4725 | 4594 |
| 4726 MockQuicData socket_data2; | 4595 MockQuicData socket_data2; |
| 4727 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4596 socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4728 socket_data2.AddWrite( | 4597 socket_data2.AddWrite(ConstructInitialSettingsPacket()); |
| 4729 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4730 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4731 socket_data2.AddSocketDataToFactory(&socket_factory_); | 4598 socket_data2.AddSocketDataToFactory(&socket_factory_); |
| 4732 | 4599 |
| 4733 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4600 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4734 EXPECT_EQ(ERR_IO_PENDING, | 4601 EXPECT_EQ(ERR_IO_PENDING, |
| 4735 request.Request(host_port_pair_, privacy_mode_, | 4602 request.Request(host_port_pair_, privacy_mode_, |
| 4736 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4603 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4737 callback_.callback())); | 4604 callback_.callback())); |
| 4738 | 4605 |
| 4739 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4606 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 4740 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 4607 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4780 Initialize(); | 4647 Initialize(); |
| 4781 | 4648 |
| 4782 HostPortPair destination1("first.example.com", 443); | 4649 HostPortPair destination1("first.example.com", 443); |
| 4783 HostPortPair destination2("second.example.com", 443); | 4650 HostPortPair destination2("second.example.com", 443); |
| 4784 | 4651 |
| 4785 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4652 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4786 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4653 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4787 | 4654 |
| 4788 MockQuicData socket_data; | 4655 MockQuicData socket_data; |
| 4789 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4656 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4790 socket_data.AddWrite( | 4657 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4791 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4792 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4793 socket_data.AddSocketDataToFactory(&socket_factory_); | 4658 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4794 | 4659 |
| 4795 QuicStreamRequest request1(factory_.get(), &http_server_properties_); | 4660 QuicStreamRequest request1(factory_.get(), &http_server_properties_); |
| 4796 EXPECT_EQ(ERR_IO_PENDING, | 4661 EXPECT_EQ(ERR_IO_PENDING, |
| 4797 request1.Request(destination1, privacy_mode_, | 4662 request1.Request(destination1, privacy_mode_, |
| 4798 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4663 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4799 callback_.callback())); | 4664 callback_.callback())); |
| 4800 EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 4665 EXPECT_THAT(callback_.WaitForResult(), IsOk()); |
| 4801 std::unique_ptr<QuicHttpStream> stream1 = request1.CreateStream(); | 4666 std::unique_ptr<QuicHttpStream> stream1 = request1.CreateStream(); |
| 4802 EXPECT_TRUE(stream1.get()); | 4667 EXPECT_TRUE(stream1.get()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 4825 | 4690 |
| 4826 TEST_P(QuicStreamFactoryTest, ForceHolBlockingEnabled) { | 4691 TEST_P(QuicStreamFactoryTest, ForceHolBlockingEnabled) { |
| 4827 force_hol_blocking_ = true; | 4692 force_hol_blocking_ = true; |
| 4828 Initialize(); | 4693 Initialize(); |
| 4829 | 4694 |
| 4830 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 4695 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 4831 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4696 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4832 | 4697 |
| 4833 MockQuicData socket_data; | 4698 MockQuicData socket_data; |
| 4834 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 4699 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
| 4835 socket_data.AddWrite( | 4700 socket_data.AddWrite(ConstructInitialSettingsPacket()); |
| 4836 ConstructSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | |
| 4837 kDefaultMaxUncompressedHeaderSize, nullptr)); | |
| 4838 socket_data.AddSocketDataToFactory(&socket_factory_); | 4701 socket_data.AddSocketDataToFactory(&socket_factory_); |
| 4839 | 4702 |
| 4840 QuicStreamRequest request(factory_.get(), &http_server_properties_); | 4703 QuicStreamRequest request(factory_.get(), &http_server_properties_); |
| 4841 EXPECT_EQ(ERR_IO_PENDING, | 4704 EXPECT_EQ(ERR_IO_PENDING, |
| 4842 request.Request(host_port_pair_, privacy_mode_, | 4705 request.Request(host_port_pair_, privacy_mode_, |
| 4843 /*cert_verify_flags=*/0, url_, "GET", net_log_, | 4706 /*cert_verify_flags=*/0, url_, "GET", net_log_, |
| 4844 callback_.callback())); | 4707 callback_.callback())); |
| 4845 | 4708 |
| 4846 EXPECT_EQ(OK, callback_.WaitForResult()); | 4709 EXPECT_EQ(OK, callback_.WaitForResult()); |
| 4847 | 4710 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4961 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false)); | 4824 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false)); |
| 4962 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false)); | 4825 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false)); |
| 4963 | 4826 |
| 4964 ProofVerifyDetailsChromium verify_details; | 4827 ProofVerifyDetailsChromium verify_details; |
| 4965 verify_details.cert_verify_result.verified_cert = cert; | 4828 verify_details.cert_verify_result.verified_cert = cert; |
| 4966 verify_details.cert_verify_result.is_issued_by_known_root = true; | 4829 verify_details.cert_verify_result.is_issued_by_known_root = true; |
| 4967 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 4830 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| 4968 | 4831 |
| 4969 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4832 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
| 4970 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4833 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
| 4971 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4834 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
| 4972 kDefaultMaxUncompressedHeaderSize, true, | |
| 4973 nullptr)); | |
| 4974 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4835 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
| 4975 settings_packet->length(), 1)}; | 4836 settings_packet->length(), 1)}; |
| 4976 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4837 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
| 4977 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4838 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
| 4978 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4839 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
| 4979 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4840 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
| 4980 | 4841 |
| 4981 QuicStreamRequest request1(factory_.get(), &http_server_properties_); | 4842 QuicStreamRequest request1(factory_.get(), &http_server_properties_); |
| 4982 EXPECT_EQ(ERR_IO_PENDING, | 4843 EXPECT_EQ(ERR_IO_PENDING, |
| 4983 request1.Request(destination, privacy_mode_, | 4844 request1.Request(destination, privacy_mode_, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5031 verify_details1.cert_verify_result.is_issued_by_known_root = true; | 4892 verify_details1.cert_verify_result.is_issued_by_known_root = true; |
| 5032 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); | 4893 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); |
| 5033 | 4894 |
| 5034 ProofVerifyDetailsChromium verify_details2; | 4895 ProofVerifyDetailsChromium verify_details2; |
| 5035 verify_details2.cert_verify_result.verified_cert = cert; | 4896 verify_details2.cert_verify_result.verified_cert = cert; |
| 5036 verify_details2.cert_verify_result.is_issued_by_known_root = true; | 4897 verify_details2.cert_verify_result.is_issued_by_known_root = true; |
| 5037 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); | 4898 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); |
| 5038 | 4899 |
| 5039 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4900 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
| 5040 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4901 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
| 5041 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4902 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
| 5042 kDefaultMaxUncompressedHeaderSize, true, | |
| 5043 nullptr)); | |
| 5044 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4903 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
| 5045 settings_packet->length(), 1)}; | 4904 settings_packet->length(), 1)}; |
| 5046 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4905 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
| 5047 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4906 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
| 5048 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4907 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
| 5049 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4908 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
| 5050 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( | 4909 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( |
| 5051 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4910 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
| 5052 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); | 4911 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); |
| 5053 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); | 4912 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5116 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), false)); | 4975 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), false)); |
| 5117 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, false)); | 4976 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, false)); |
| 5118 | 4977 |
| 5119 ProofVerifyDetailsChromium verify_details2; | 4978 ProofVerifyDetailsChromium verify_details2; |
| 5120 verify_details2.cert_verify_result.verified_cert = cert2; | 4979 verify_details2.cert_verify_result.verified_cert = cert2; |
| 5121 verify_details2.cert_verify_result.is_issued_by_known_root = true; | 4980 verify_details2.cert_verify_result.is_issued_by_known_root = true; |
| 5122 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); | 4981 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); |
| 5123 | 4982 |
| 5124 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; | 4983 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
| 5125 std::unique_ptr<QuicEncryptedPacket> settings_packet( | 4984 std::unique_ptr<QuicEncryptedPacket> settings_packet( |
| 5126 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, | 4985 client_maker_.MakeInitialSettingsPacket(1, nullptr)); |
| 5127 kDefaultMaxUncompressedHeaderSize, true, | |
| 5128 nullptr)); | |
| 5129 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), | 4986 MockWrite writes[] = {MockWrite(SYNCHRONOUS, settings_packet->data(), |
| 5130 settings_packet->length(), 1)}; | 4987 settings_packet->length(), 1)}; |
| 5131 std::unique_ptr<SequencedSocketData> sequenced_socket_data( | 4988 std::unique_ptr<SequencedSocketData> sequenced_socket_data( |
| 5132 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4989 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
| 5133 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); | 4990 socket_factory_.AddSocketDataProvider(sequenced_socket_data.get()); |
| 5134 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); | 4991 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data)); |
| 5135 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( | 4992 std::unique_ptr<SequencedSocketData> sequenced_socket_data1( |
| 5136 new SequencedSocketData(reads, 1, writes, arraysize(writes))); | 4993 new SequencedSocketData(reads, 1, writes, arraysize(writes))); |
| 5137 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); | 4994 socket_factory_.AddSocketDataProvider(sequenced_socket_data1.get()); |
| 5138 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); | 4995 sequenced_socket_data_vector_.push_back(std::move(sequenced_socket_data1)); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5214 // Clear all cached states. | 5071 // Clear all cached states. |
| 5215 factory_->ClearCachedStatesInCryptoConfig( | 5072 factory_->ClearCachedStatesInCryptoConfig( |
| 5216 base::Callback<bool(const GURL&)>()); | 5073 base::Callback<bool(const GURL&)>()); |
| 5217 EXPECT_TRUE(test_cases[0].state->certs().empty()); | 5074 EXPECT_TRUE(test_cases[0].state->certs().empty()); |
| 5218 EXPECT_TRUE(test_cases[1].state->certs().empty()); | 5075 EXPECT_TRUE(test_cases[1].state->certs().empty()); |
| 5219 EXPECT_TRUE(test_cases[2].state->certs().empty()); | 5076 EXPECT_TRUE(test_cases[2].state->certs().empty()); |
| 5220 } | 5077 } |
| 5221 | 5078 |
| 5222 } // namespace test | 5079 } // namespace test |
| 5223 } // namespace net | 5080 } // namespace net |
| OLD | NEW |