| Index: net/http/http_stream_factory_impl_unittest.cc
|
| diff --git a/net/http/http_stream_factory_impl_unittest.cc b/net/http/http_stream_factory_impl_unittest.cc
|
| index f7dc841f150bf1b9661ccaf5058de51f20a3a42e..a994f8f5b6860915e9aea071fc3ad8ea5378887d 100644
|
| --- a/net/http/http_stream_factory_impl_unittest.cc
|
| +++ b/net/http/http_stream_factory_impl_unittest.cc
|
| @@ -713,28 +713,31 @@ TEST_F(HttpStreamFactoryTest, QuicProxyMarkedAsBad) {
|
| proxy_service =
|
| ProxyService::CreateFixedFromPacResult("QUIC bad:99; DIRECT");
|
|
|
| - HttpNetworkSession::Params params;
|
| - params.enable_quic = true;
|
| + HttpNetworkSession::Params session_params;
|
| + session_params.enable_quic = true;
|
| +
|
| + HttpNetworkSession::Context session_context;
|
| scoped_refptr<SSLConfigServiceDefaults> ssl_config_service(
|
| new SSLConfigServiceDefaults);
|
| HttpServerPropertiesImpl http_server_properties;
|
| MockClientSocketFactory socket_factory;
|
| - params.client_socket_factory = &socket_factory;
|
| + session_context.client_socket_factory = &socket_factory;
|
| MockHostResolver host_resolver;
|
| - params.host_resolver = &host_resolver;
|
| + session_context.host_resolver = &host_resolver;
|
| MockCertVerifier cert_verifier;
|
| - params.cert_verifier = &cert_verifier;
|
| + session_context.cert_verifier = &cert_verifier;
|
| TransportSecurityState transport_security_state;
|
| - params.transport_security_state = &transport_security_state;
|
| + session_context.transport_security_state = &transport_security_state;
|
| MultiLogCTVerifier ct_verifier;
|
| - params.cert_transparency_verifier = &ct_verifier;
|
| + session_context.cert_transparency_verifier = &ct_verifier;
|
| CTPolicyEnforcer ct_policy_enforcer;
|
| - params.ct_policy_enforcer = &ct_policy_enforcer;
|
| - params.proxy_service = proxy_service.get();
|
| - params.ssl_config_service = ssl_config_service.get();
|
| - params.http_server_properties = &http_server_properties;
|
| + session_context.ct_policy_enforcer = &ct_policy_enforcer;
|
| + session_context.proxy_service = proxy_service.get();
|
| + session_context.ssl_config_service = ssl_config_service.get();
|
| + session_context.http_server_properties = &http_server_properties;
|
|
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
| session->quic_stream_factory()->set_require_confirmation(false);
|
|
|
| StaticSocketDataProvider socket_data1;
|
| @@ -838,7 +841,8 @@ class MockQuicData {
|
| };
|
|
|
| void SetupForQuicAlternativeProxyTest(
|
| - HttpNetworkSession::Params* params,
|
| + HttpNetworkSession::Params* session_params,
|
| + HttpNetworkSession::Context* session_context,
|
| MockClientSocketFactory* socket_factory,
|
| ProxyService* proxy_service,
|
| TestProxyDelegate* test_proxy_delegate,
|
| @@ -850,22 +854,23 @@ void SetupForQuicAlternativeProxyTest(
|
| MockHostResolver* host_resolver,
|
| TransportSecurityState* transport_security_state,
|
| bool set_alternative_proxy_server) {
|
| - params->enable_quic = true;
|
| - params->client_socket_factory = socket_factory;
|
| - params->host_resolver = host_resolver;
|
| - params->transport_security_state = transport_security_state;
|
| - params->proxy_service = proxy_service;
|
| - params->ssl_config_service = ssl_config_service;
|
| - params->http_server_properties = http_server_properties;
|
| - params->cert_verifier = cert_verifier;
|
| - params->ct_policy_enforcer = ct_policy_enforcer;
|
| - params->cert_transparency_verifier = ct_verifier;
|
| + session_params->enable_quic = true;
|
| +
|
| + session_context->client_socket_factory = socket_factory;
|
| + session_context->host_resolver = host_resolver;
|
| + session_context->transport_security_state = transport_security_state;
|
| + session_context->proxy_service = proxy_service;
|
| + session_context->ssl_config_service = ssl_config_service;
|
| + session_context->http_server_properties = http_server_properties;
|
| + session_context->cert_verifier = cert_verifier;
|
| + session_context->ct_policy_enforcer = ct_policy_enforcer;
|
| + session_context->cert_transparency_verifier = ct_verifier;
|
|
|
| if (set_alternative_proxy_server) {
|
| test_proxy_delegate->set_alternative_proxy_server(
|
| ProxyServer::FromPacString("QUIC badproxy:99"));
|
| }
|
| - params->proxy_delegate = test_proxy_delegate;
|
| + session_context->proxy_delegate = test_proxy_delegate;
|
| }
|
|
|
| } // namespace
|
| @@ -881,7 +886,8 @@ TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyMarkedAsBad) {
|
| for (auto mock_error : quic_proxy_test_mock_errors) {
|
| for (auto set_alternative_proxy_server :
|
| set_alternative_proxy_server_values) {
|
| - HttpNetworkSession::Params params;
|
| + HttpNetworkSession::Params session_params;
|
| + HttpNetworkSession::Context session_context;
|
| MockClientSocketFactory socket_factory;
|
| std::unique_ptr<ProxyService> proxy_service =
|
| ProxyService::CreateFixedFromPacResult(
|
| @@ -896,12 +902,14 @@ TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyMarkedAsBad) {
|
| MockHostResolver host_resolver;
|
| TransportSecurityState transport_security_state;
|
| SetupForQuicAlternativeProxyTest(
|
| - ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate,
|
| - &http_server_properties, &cert_verifier, &ct_policy_enforcer,
|
| - &ct_verifier, ssl_config_service.get(), &host_resolver,
|
| - &transport_security_state, set_alternative_proxy_server);
|
| + &session_params, &session_context, &socket_factory,
|
| + proxy_service.get(), &test_proxy_delegate, &http_server_properties,
|
| + &cert_verifier, &ct_policy_enforcer, &ct_verifier,
|
| + ssl_config_service.get(), &host_resolver, &transport_security_state,
|
| + set_alternative_proxy_server);
|
|
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
|
|
| // Before starting the test, verify that there are no proxies marked as
|
| // bad.
|
| @@ -999,7 +1007,8 @@ TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyMarkedAsBad) {
|
| // not marked as bad if only the alternative proxy server job fails.
|
| TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyNotMarkedAsBad) {
|
| for (auto mock_error : quic_proxy_test_mock_errors) {
|
| - HttpNetworkSession::Params params;
|
| + HttpNetworkSession::Params session_params;
|
| + HttpNetworkSession::Context session_context;
|
| MockClientSocketFactory socket_factory;
|
| std::unique_ptr<ProxyService> proxy_service =
|
| ProxyService::CreateFixedFromPacResult("HTTPS badproxy:99; DIRECT");
|
| @@ -1015,13 +1024,14 @@ TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyNotMarkedAsBad) {
|
| TransportSecurityState transport_security_state;
|
|
|
| SetupForQuicAlternativeProxyTest(
|
| - ¶ms, &socket_factory, proxy_service.get(), &test_proxy_delegate,
|
| - &http_server_properties, &cert_verifier, &ct_policy_enforcer,
|
| - &ct_verifier, ssl_config_service.get(), &host_resolver,
|
| - &transport_security_state, true);
|
| + &session_params, &session_context, &socket_factory, proxy_service.get(),
|
| + &test_proxy_delegate, &http_server_properties, &cert_verifier,
|
| + &ct_policy_enforcer, &ct_verifier, ssl_config_service.get(),
|
| + &host_resolver, &transport_security_state, true);
|
|
|
| HostPortPair host_port_pair("badproxy", 99);
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
|
|
| // Before starting the test, verify that there are no proxies marked as
|
| // bad.
|
| @@ -1113,12 +1123,16 @@ TEST_F(HttpStreamFactoryTest, UsePreConnectIfNoZeroRTT) {
|
| ProxyService::CreateFixed("http_proxy"));
|
|
|
| // Setup params to disable preconnect, but QUIC doesn't 0RTT.
|
| - HttpNetworkSession::Params params =
|
| + HttpNetworkSession::Params session_params =
|
| SpdySessionDependencies::CreateSessionParams(&session_deps);
|
| - params.enable_quic = true;
|
| - params.http_server_properties = &http_server_properties;
|
| + session_params.enable_quic = true;
|
| +
|
| + HttpNetworkSession::Context session_context =
|
| + SpdySessionDependencies::CreateSessionContext(&session_deps);
|
| + session_context.http_server_properties = &http_server_properties;
|
|
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
| HttpNetworkSessionPeer peer(session.get());
|
| HostPortPair proxy_host("http_proxy", 80);
|
| CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
|
| @@ -1162,13 +1176,17 @@ TEST_F(HttpStreamFactoryTest, OnlyOnePreconnectToProxyServer) {
|
| }
|
|
|
| SpdySessionDependencies session_deps;
|
| - HttpNetworkSession::Params params =
|
| + HttpNetworkSession::Params session_params =
|
| SpdySessionDependencies::CreateSessionParams(&session_deps);
|
| - params.enable_quic = true;
|
| - params.proxy_service = proxy_service.get();
|
| - params.http_server_properties = &http_server_properties;
|
| + session_params.enable_quic = true;
|
|
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + HttpNetworkSession::Context session_context =
|
| + SpdySessionDependencies::CreateSessionContext(&session_deps);
|
| + session_context.proxy_service = proxy_service.get();
|
| + session_context.http_server_properties = &http_server_properties;
|
| +
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
|
|
| HttpNetworkSessionPeer peer(session.get());
|
| HostPortPair proxy_host("myproxy.org", 443);
|
| @@ -1250,13 +1268,17 @@ TEST_F(HttpStreamFactoryTest, ProxyServerPreconnectDifferentPrivacyModes) {
|
| http_server_properties.SetSupportsSpdy(spdy_server, true);
|
|
|
| SpdySessionDependencies session_deps;
|
| - HttpNetworkSession::Params params =
|
| + HttpNetworkSession::Params session_params =
|
| SpdySessionDependencies::CreateSessionParams(&session_deps);
|
| - params.enable_quic = true;
|
| - params.proxy_service = proxy_service.get();
|
| - params.http_server_properties = &http_server_properties;
|
| + session_params.enable_quic = true;
|
| +
|
| + HttpNetworkSession::Context session_context =
|
| + SpdySessionDependencies::CreateSessionContext(&session_deps);
|
| + session_context.proxy_service = proxy_service.get();
|
| + session_context.http_server_properties = &http_server_properties;
|
|
|
| - auto session = base::MakeUnique<HttpNetworkSession>(params);
|
| + auto session =
|
| + base::MakeUnique<HttpNetworkSession>(session_params, session_context);
|
|
|
| HttpNetworkSessionPeer peer(session.get());
|
| HostPortPair proxy_host("myproxy.org", 443);
|
| @@ -2152,9 +2174,12 @@ class HttpStreamFactoryBidirectionalQuicTest
|
|
|
| void Initialize() {
|
| params_.enable_quic = true;
|
| - params_.http_server_properties = &http_server_properties_;
|
| - params_.quic_random = &random_generator_;
|
| - params_.quic_clock = &clock_;
|
| + params_.quic_supported_versions = test::SupportedVersions(GetParam());
|
| +
|
| + HttpNetworkSession::Context session_context;
|
| + session_context.http_server_properties = &http_server_properties_;
|
| + session_context.quic_random = &random_generator_;
|
| + session_context.quic_clock = &clock_;
|
|
|
| // Load a certificate that is valid for *.example.org
|
| scoped_refptr<X509Certificate> test_cert(
|
| @@ -2165,17 +2190,17 @@ class HttpStreamFactoryBidirectionalQuicTest
|
| crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_);
|
| crypto_client_stream_factory_.set_handshake_mode(
|
| MockCryptoClientStream::CONFIRM_HANDSHAKE);
|
| - params_.cert_verifier = &cert_verifier_;
|
| - params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_;
|
| - params_.quic_supported_versions = test::SupportedVersions(GetParam());
|
| - params_.transport_security_state = &transport_security_state_;
|
| - params_.cert_transparency_verifier = &ct_verifier_;
|
| - params_.ct_policy_enforcer = &ct_policy_enforcer_;
|
| - params_.host_resolver = &host_resolver_;
|
| - params_.proxy_service = proxy_service_.get();
|
| - params_.ssl_config_service = ssl_config_service_.get();
|
| - params_.client_socket_factory = &socket_factory_;
|
| - session_ = base::MakeUnique<HttpNetworkSession>(params_);
|
| + session_context.cert_verifier = &cert_verifier_;
|
| + session_context.quic_crypto_client_stream_factory =
|
| + &crypto_client_stream_factory_;
|
| + session_context.transport_security_state = &transport_security_state_;
|
| + session_context.cert_transparency_verifier = &ct_verifier_;
|
| + session_context.ct_policy_enforcer = &ct_policy_enforcer_;
|
| + session_context.host_resolver = &host_resolver_;
|
| + session_context.proxy_service = proxy_service_.get();
|
| + session_context.ssl_config_service = ssl_config_service_.get();
|
| + session_context.client_socket_factory = &socket_factory_;
|
| + session_.reset(new HttpNetworkSession(params_, session_context));
|
| session_->quic_stream_factory()->set_require_confirmation(false);
|
| }
|
|
|
|
|