Index: net/quic/chromium/quic_network_transaction_unittest.cc |
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc |
index 570bfaadf04f5737aebaffc83b26b177ce18c660..1762682fa086d5013c3b15d4c7c7ac23c9d8146a 100644 |
--- a/net/quic/chromium/quic_network_transaction_unittest.cc |
+++ b/net/quic/chromium/quic_network_transaction_unittest.cc |
@@ -500,26 +500,29 @@ class QuicNetworkTransactionTest |
} |
void CreateSession() { |
- params_.enable_quic = true; |
- params_.quic_clock = &clock_; |
- params_.quic_random = &random_generator_; |
- params_.client_socket_factory = &socket_factory_; |
- params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; |
- params_.host_resolver = &host_resolver_; |
- params_.cert_verifier = &cert_verifier_; |
- params_.transport_security_state = &transport_security_state_; |
- params_.cert_transparency_verifier = cert_transparency_verifier_.get(); |
- params_.ct_policy_enforcer = &ct_policy_enforcer_; |
- params_.socket_performance_watcher_factory = |
+ session_params_.enable_quic = true; |
+ session_params_.quic_supported_versions = SupportedVersions(version_); |
+ |
+ session_context_.quic_clock = &clock_; |
+ session_context_.quic_random = &random_generator_; |
+ session_context_.client_socket_factory = &socket_factory_; |
+ session_context_.quic_crypto_client_stream_factory = |
+ &crypto_client_stream_factory_; |
+ session_context_.host_resolver = &host_resolver_; |
+ session_context_.cert_verifier = &cert_verifier_; |
+ session_context_.transport_security_state = &transport_security_state_; |
+ session_context_.cert_transparency_verifier = |
+ cert_transparency_verifier_.get(); |
+ session_context_.ct_policy_enforcer = &ct_policy_enforcer_; |
+ session_context_.socket_performance_watcher_factory = |
&test_socket_performance_watcher_factory_; |
- params_.proxy_service = proxy_service_.get(); |
- params_.ssl_config_service = ssl_config_service_.get(); |
- params_.http_auth_handler_factory = auth_handler_factory_.get(); |
- params_.http_server_properties = &http_server_properties_; |
- params_.quic_supported_versions = SupportedVersions(version_); |
- params_.net_log = net_log_.bound().net_log(); |
- |
- session_.reset(new HttpNetworkSession(params_)); |
+ session_context_.proxy_service = proxy_service_.get(); |
+ session_context_.ssl_config_service = ssl_config_service_.get(); |
+ session_context_.http_auth_handler_factory = auth_handler_factory_.get(); |
+ session_context_.http_server_properties = &http_server_properties_; |
+ session_context_.net_log = net_log_.bound().net_log(); |
+ |
+ session_.reset(new HttpNetworkSession(session_params_, session_context_)); |
session_->quic_stream_factory()->set_require_confirmation(false); |
} |
@@ -697,7 +700,7 @@ class QuicNetworkTransactionTest |
test_proxy_delegate.set_alternative_proxy_server( |
ProxyServer::FromPacString("QUIC myproxy.org:443")); |
- params_.proxy_delegate = &test_proxy_delegate; |
+ session_context_.proxy_delegate = &test_proxy_delegate; |
proxy_service_ = |
ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443"); |
@@ -747,7 +750,8 @@ class QuicNetworkTransactionTest |
std::unique_ptr<HttpAuthHandlerFactory> auth_handler_factory_; |
MockRandom random_generator_; |
HttpServerPropertiesImpl http_server_properties_; |
- HttpNetworkSession::Params params_; |
+ HttpNetworkSession::Params session_params_; |
+ HttpNetworkSession::Context session_context_; |
HttpRequestInfo request_; |
BoundTestNetLog net_log_; |
std::vector<std::unique_ptr<StaticSocketDataProvider>> hanging_data_; |
@@ -781,7 +785,7 @@ INSTANTIATE_TEST_CASE_P(Version, |
::testing::ValuesIn(AllSupportedVersions())); |
TEST_P(QuicNetworkTransactionTest, SocketWatcherEnabled) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -812,7 +816,7 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherEnabled) { |
} |
TEST_P(QuicNetworkTransactionTest, SocketWatcherDisabled) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -843,7 +847,7 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherDisabled) { |
} |
TEST_P(QuicNetworkTransactionTest, ForceQuic) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -907,7 +911,7 @@ TEST_P(QuicNetworkTransactionTest, ForceQuic) { |
} |
TEST_P(QuicNetworkTransactionTest, LargeResponseHeaders) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -957,7 +961,7 @@ TEST_P(QuicNetworkTransactionTest, LargeResponseHeaders) { |
} |
TEST_P(QuicNetworkTransactionTest, TooLargeResponseHeaders) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -1013,7 +1017,7 @@ TEST_P(QuicNetworkTransactionTest, TooLargeResponseHeaders) { |
} |
TEST_P(QuicNetworkTransactionTest, ForceQuicForAll) { |
- params_.origins_to_force_quic_on.insert(HostPortPair()); |
+ session_params_.origins_to_force_quic_on.insert(HostPortPair()); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); |
@@ -1042,7 +1046,7 @@ TEST_P(QuicNetworkTransactionTest, ForceQuicForAll) { |
} |
TEST_P(QuicNetworkTransactionTest, QuicProxy) { |
- params_.enable_quic = true; |
+ session_params_.enable_quic = true; |
proxy_service_ = |
ProxyService::CreateFixedFromPacResult("QUIC mail.example.org:70"); |
@@ -1084,7 +1088,7 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithCert) { |
const std::string origin_host = "mail.example.com"; |
const std::string proxy_host = "www.example.org"; |
- params_.enable_quic = true; |
+ session_params_.enable_quic = true; |
proxy_service_ = |
ProxyService::CreateFixedFromPacResult("QUIC " + proxy_host + ":70"); |
@@ -1249,7 +1253,7 @@ TEST_P(QuicNetworkTransactionTest, RetryMisdirectedRequest) { |
} |
TEST_P(QuicNetworkTransactionTest, ForceQuicWithErrorConnecting) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data1; |
@@ -1283,7 +1287,7 @@ TEST_P(QuicNetworkTransactionTest, ForceQuicWithErrorConnecting) { |
TEST_P(QuicNetworkTransactionTest, DoNotForceQuicForHttps) { |
// Attempt to "force" quic on 443, which will not be honored. |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("www.google.com:443")); |
MockRead http_reads[] = { |
@@ -1552,7 +1556,7 @@ TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) { |
// Verify that if a QUIC connection times out, the QuicHttpStream will |
// return QUIC_PROTOCOL_ERROR. |
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) { |
- params_.quic_idle_connection_timeout_seconds = 5; |
+ session_params_.quic_idle_connection_timeout_seconds = 5; |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -1642,7 +1646,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) { |
// Verify that if a QUIC connection RTOs, the QuicHttpStream will |
// return QUIC_PROTOCOL_ERROR. |
TEST_P(QuicNetworkTransactionTest, TooManyRtosAfterHandshakeConfirmed) { |
- params_.quic_connection_options.push_back(k5RTO); |
+ session_params_.quic_connection_options.push_back(k5RTO); |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -1741,7 +1745,7 @@ TEST_P(QuicNetworkTransactionTest, TooManyRtosAfterHandshakeConfirmed) { |
// QUIC will not be marked as broken. |
TEST_P(QuicNetworkTransactionTest, |
TooManyRtosAfterHandshakeConfirmedAndStreamReset) { |
- params_.quic_connection_options.push_back(k5RTO); |
+ session_params_.quic_connection_options.push_back(k5RTO); |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -1908,8 +1912,8 @@ TEST_P(QuicNetworkTransactionTest, ProtocolErrorAfterHandshakeConfirmed) { |
// connection times out, then QUIC will be marked as broken and the request |
// retried over TCP. |
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) { |
- params_.mark_quic_broken_when_network_blackholes = true; |
- params_.quic_idle_connection_timeout_seconds = 5; |
+ session_params_.mark_quic_broken_when_network_blackholes = true; |
+ session_params_.quic_idle_connection_timeout_seconds = 5; |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2025,8 +2029,8 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) { |
// connection times out, then QUIC will be marked as broken and the request |
// retried over TCP. |
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) { |
- params_.retry_without_alt_svc_on_quic_errors = true; |
- params_.quic_idle_connection_timeout_seconds = 5; |
+ session_params_.retry_without_alt_svc_on_quic_errors = true; |
+ session_params_.quic_idle_connection_timeout_seconds = 5; |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2145,8 +2149,8 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) { |
// will not be retried over TCP. |
TEST_P(QuicNetworkTransactionTest, |
TimeoutAfterHandshakeConfirmedAndHeadersThenBrokenNotRetried) { |
- params_.mark_quic_broken_when_network_blackholes = true; |
- params_.quic_idle_connection_timeout_seconds = 5; |
+ session_params_.mark_quic_broken_when_network_blackholes = true; |
+ session_params_.quic_idle_connection_timeout_seconds = 5; |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2257,8 +2261,8 @@ TEST_P(QuicNetworkTransactionTest, |
// over TCP. |
TEST_P(QuicNetworkTransactionTest, |
TooManyRtosAfterHandshakeConfirmedThenBroken) { |
- params_.mark_quic_broken_when_network_blackholes = true; |
- params_.quic_connection_options.push_back(k5RTO); |
+ session_params_.mark_quic_broken_when_network_blackholes = true; |
+ session_params_.quic_connection_options.push_back(k5RTO); |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2382,8 +2386,8 @@ TEST_P(QuicNetworkTransactionTest, |
// QUIC will be marked as broken. |
TEST_P(QuicNetworkTransactionTest, |
TooManyRtosAfterHandshakeConfirmedAndStreamResetThenBroken) { |
- params_.mark_quic_broken_when_network_blackholes = true; |
- params_.quic_connection_options.push_back(k5RTO); |
+ session_params_.mark_quic_broken_when_network_blackholes = true; |
+ session_params_.quic_connection_options.push_back(k5RTO); |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2490,8 +2494,8 @@ TEST_P(QuicNetworkTransactionTest, |
// retried over TCP and the QUIC will be marked as broken. |
TEST_P(QuicNetworkTransactionTest, |
ProtocolErrorAfterHandshakeConfirmedThenBroken) { |
- params_.retry_without_alt_svc_on_quic_errors = true; |
- params_.quic_idle_connection_timeout_seconds = 5; |
+ session_params_.retry_without_alt_svc_on_quic_errors = true; |
+ session_params_.quic_idle_connection_timeout_seconds = 5; |
// The request will initially go out over QUIC. |
MockQuicData quic_data; |
@@ -2715,7 +2719,7 @@ TEST_P(QuicNetworkTransactionTest, UseExistingQUICAlternativeProxy) { |
test_proxy_delegate.set_alternative_proxy_server( |
ProxyServer::FromPacString("QUIC mail.example.org:443")); |
- params_.proxy_delegate = &test_proxy_delegate; |
+ session_context_.proxy_delegate = &test_proxy_delegate; |
request_.url = GURL("http://mail.example.org/"); |
@@ -3122,7 +3126,7 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithRacing) { |
test_proxy_delegate.set_alternative_proxy_server( |
ProxyServer::FromPacString("QUIC mail.example.org:443")); |
- params_.proxy_delegate = &test_proxy_delegate; |
+ session_context_.proxy_delegate = &test_proxy_delegate; |
CreateSession(); |
EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); |
@@ -3834,7 +3838,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnectProxy) { |
ProxyServer::FromPacString("QUIC myproxy.org:443")); |
EXPECT_TRUE(test_proxy_delegate.alternative_proxy_server().is_quic()); |
- params_.proxy_delegate = &test_proxy_delegate; |
+ session_context_.proxy_delegate = &test_proxy_delegate; |
proxy_service_ = |
ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443"); |
request_.url = GURL("http://mail.example.org/"); |
@@ -3897,7 +3901,7 @@ TEST_P(QuicNetworkTransactionTest, |
test_proxy_delegate.set_alternative_proxy_server( |
ProxyServer::FromPacString("QUIC mail.example.org:443")); |
- params_.proxy_delegate = &test_proxy_delegate; |
+ session_context_.proxy_delegate = &test_proxy_delegate; |
request_.url = GURL("http://mail.example.org/"); |
@@ -3936,7 +3940,7 @@ TEST_P(QuicNetworkTransactionTest, |
} |
TEST_P(QuicNetworkTransactionTest, QuicUpload) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; |
@@ -3971,9 +3975,9 @@ TEST_P(QuicNetworkTransactionTest, QuicUploadWriteError) { |
mock_ncn->SetConnectedNetworksList( |
{kDefaultNetworkForTests, kNewNetworkForTests}); |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
- params_.quic_migrate_sessions_on_network_change = true; |
+ session_params_.quic_migrate_sessions_on_network_change = true; |
MockQuicData socket_data; |
socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |
@@ -4016,7 +4020,7 @@ TEST_P(QuicNetworkTransactionTest, QuicUploadWriteError) { |
// Adds coverage to catch regression such as https://crbug.com/622043 |
TEST_P(QuicNetworkTransactionTest, QuicServerPush) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -4074,8 +4078,8 @@ TEST_P(QuicNetworkTransactionTest, QuicServerPush) { |
} |
TEST_P(QuicNetworkTransactionTest, QuicForceHolBlocking) { |
- params_.quic_force_hol_blocking = true; |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.quic_force_hol_blocking = true; |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -4157,7 +4161,7 @@ class QuicURLRequestContext : public URLRequestContext { |
}; |
TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullRequest) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -4216,7 +4220,7 @@ TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullRequest) { |
} |
TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullPushHeadersFirst) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |
@@ -4312,32 +4316,36 @@ class QuicNetworkTransactionWithDestinationTest |
NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(); |
base::RunLoop().RunUntilIdle(); |
- HttpNetworkSession::Params params; |
+ HttpNetworkSession::Params session_params; |
+ session_params.enable_quic = true; |
+ session_params.quic_supported_versions = SupportedVersions(version_); |
+ |
+ HttpNetworkSession::Context session_context; |
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); |
- params.quic_clock = &clock_; |
+ session_context.quic_clock = &clock_; |
crypto_client_stream_factory_.set_handshake_mode( |
MockCryptoClientStream::CONFIRM_HANDSHAKE); |
- params.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; |
- |
- params.enable_quic = true; |
- params.quic_random = &random_generator_; |
- params.client_socket_factory = &socket_factory_; |
- params.host_resolver = &host_resolver_; |
- params.cert_verifier = &cert_verifier_; |
- params.transport_security_state = &transport_security_state_; |
- params.cert_transparency_verifier = cert_transparency_verifier_.get(); |
- params.ct_policy_enforcer = &ct_policy_enforcer_; |
- params.socket_performance_watcher_factory = |
+ session_context.quic_crypto_client_stream_factory = |
+ &crypto_client_stream_factory_; |
+ |
+ session_context.quic_random = &random_generator_; |
+ session_context.client_socket_factory = &socket_factory_; |
+ session_context.host_resolver = &host_resolver_; |
+ session_context.cert_verifier = &cert_verifier_; |
+ session_context.transport_security_state = &transport_security_state_; |
+ session_context.cert_transparency_verifier = |
+ cert_transparency_verifier_.get(); |
+ session_context.ct_policy_enforcer = &ct_policy_enforcer_; |
+ session_context.socket_performance_watcher_factory = |
&test_socket_performance_watcher_factory_; |
- params.ssl_config_service = ssl_config_service_.get(); |
- params.proxy_service = proxy_service_.get(); |
- params.http_auth_handler_factory = auth_handler_factory_.get(); |
- params.http_server_properties = &http_server_properties_; |
- params.quic_supported_versions = SupportedVersions(version_); |
+ session_context.ssl_config_service = ssl_config_service_.get(); |
+ session_context.proxy_service = proxy_service_.get(); |
+ session_context.http_auth_handler_factory = auth_handler_factory_.get(); |
+ session_context.http_server_properties = &http_server_properties_; |
- session_.reset(new HttpNetworkSession(params)); |
+ session_.reset(new HttpNetworkSession(session_params, session_context)); |
session_->quic_stream_factory()->set_require_confirmation(true); |
} |
@@ -4732,7 +4740,7 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, |
// crbug.com/705109 - this confirms that matching request with a body |
// triggers a crash (pre-fix). |
TEST_P(QuicNetworkTransactionTest, QuicServerPushMatchesRequestWithBody) { |
- params_.origins_to_force_quic_on.insert( |
+ session_params_.origins_to_force_quic_on.insert( |
HostPortPair::FromString("mail.example.org:443")); |
MockQuicData mock_quic_data; |