Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Unified Diff: net/http/http_network_session.cc

Issue 2907463002: Split HttpNetworkSession::Params into two structs. (Closed)
Patch Set: Response to comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_network_transaction.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_network_session.cc
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 6f5a1e5a661ad3af7f54555e0eee67eff2db1cea..71482083a039ae358a2528f85763e2add1059bd7 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -49,19 +49,19 @@ base::StaticAtomicSequenceNumber g_next_shard_id;
ClientSocketPoolManager* CreateSocketPoolManager(
HttpNetworkSession::SocketPoolType pool_type,
- const HttpNetworkSession::Params& params,
+ const HttpNetworkSession::Context& context,
const std::string& ssl_session_cache_shard) {
// TODO(yutak): Differentiate WebSocket pool manager and allow more
// simultaneous connections for WebSockets.
return new ClientSocketPoolManagerImpl(
- params.net_log,
- params.client_socket_factory ? params.client_socket_factory
- : ClientSocketFactory::GetDefaultFactory(),
- params.socket_performance_watcher_factory, params.host_resolver,
- params.cert_verifier, params.channel_id_service,
- params.transport_security_state, params.cert_transparency_verifier,
- params.ct_policy_enforcer, ssl_session_cache_shard,
- params.ssl_config_service, pool_type);
+ context.net_log,
+ context.client_socket_factory ? context.client_socket_factory
+ : ClientSocketFactory::GetDefaultFactory(),
+ context.socket_performance_watcher_factory, context.host_resolver,
+ context.cert_verifier, context.channel_id_service,
+ context.transport_security_state, context.cert_transparency_verifier,
+ context.ct_policy_enforcer, ssl_session_cache_shard,
+ context.ssl_config_service, pool_type);
}
} // unnamed namespace
@@ -97,19 +97,7 @@ SettingsMap AddDefaultHttp2Settings(SettingsMap http2_settings) {
} // unnamed namespace
HttpNetworkSession::Params::Params()
- : client_socket_factory(nullptr),
- host_resolver(nullptr),
- cert_verifier(nullptr),
- enable_server_push_cancellation(false),
- channel_id_service(nullptr),
- transport_security_state(nullptr),
- cert_transparency_verifier(nullptr),
- ct_policy_enforcer(nullptr),
- proxy_service(nullptr),
- ssl_config_service(nullptr),
- http_auth_handler_factory(nullptr),
- net_log(nullptr),
- socket_performance_watcher_factory(nullptr),
+ : enable_server_push_cancellation(false),
ignore_certificate_errors(false),
testing_fixed_http_port(0),
testing_fixed_https_port(0),
@@ -122,10 +110,6 @@ HttpNetworkSession::Params::Params()
enable_http2_alternative_service(false),
enable_quic(false),
quic_max_packet_length(kDefaultMaxPacketSize),
- quic_clock(nullptr),
- quic_random(nullptr),
- quic_crypto_client_stream_factory(
- QuicCryptoClientStreamFactory::GetDefaultFactory()),
quic_max_server_configs_stored_in_properties(0u),
mark_quic_broken_when_network_blackholes(false),
retry_without_alt_svc_on_quic_errors(false),
@@ -142,7 +126,6 @@ HttpNetworkSession::Params::Params()
quic_race_cert_verification(false),
quic_do_not_fragment(false),
quic_estimate_initial_rtt(false),
- proxy_delegate(nullptr),
enable_token_binding(false),
http_09_on_non_default_ports_enabled(false) {
quic_supported_versions.push_back(QUIC_VERSION_37);
@@ -152,33 +135,57 @@ HttpNetworkSession::Params::Params(const Params& other) = default;
HttpNetworkSession::Params::~Params() {}
+HttpNetworkSession::Context::Context()
+ : client_socket_factory(nullptr),
+ host_resolver(nullptr),
+ cert_verifier(nullptr),
+ channel_id_service(nullptr),
+ transport_security_state(nullptr),
+ cert_transparency_verifier(nullptr),
+ ct_policy_enforcer(nullptr),
+ proxy_service(nullptr),
+ ssl_config_service(nullptr),
+ http_auth_handler_factory(nullptr),
+ net_log(nullptr),
+ socket_performance_watcher_factory(nullptr),
+ quic_clock(nullptr),
+ quic_random(nullptr),
+ quic_crypto_client_stream_factory(
+ QuicCryptoClientStreamFactory::GetDefaultFactory()),
+ proxy_delegate(nullptr) {}
+
+HttpNetworkSession::Context::Context(const Context& other) = default;
+
+HttpNetworkSession::Context::~Context() {}
+
// TODO(mbelshe): Move the socket factories into HttpStreamFactory.
-HttpNetworkSession::HttpNetworkSession(const Params& params)
- : net_log_(params.net_log),
- http_server_properties_(params.http_server_properties),
- cert_verifier_(params.cert_verifier),
- http_auth_handler_factory_(params.http_auth_handler_factory),
- proxy_service_(params.proxy_service),
- ssl_config_service_(params.ssl_config_service),
+HttpNetworkSession::HttpNetworkSession(const Params& params,
+ const Context& context)
+ : net_log_(context.net_log),
+ http_server_properties_(context.http_server_properties),
+ cert_verifier_(context.cert_verifier),
+ http_auth_handler_factory_(context.http_auth_handler_factory),
+ proxy_service_(context.proxy_service),
+ ssl_config_service_(context.ssl_config_service),
push_delegate_(nullptr),
quic_stream_factory_(
- params.net_log,
- params.host_resolver,
- params.ssl_config_service,
- params.client_socket_factory
- ? params.client_socket_factory
+ context.net_log,
+ context.host_resolver,
+ context.ssl_config_service,
+ context.client_socket_factory
+ ? context.client_socket_factory
: ClientSocketFactory::GetDefaultFactory(),
- params.http_server_properties,
- params.cert_verifier,
- params.ct_policy_enforcer,
- params.channel_id_service,
- params.transport_security_state,
- params.cert_transparency_verifier,
- params.socket_performance_watcher_factory,
- params.quic_crypto_client_stream_factory,
- params.quic_random ? params.quic_random : QuicRandom::GetInstance(),
- params.quic_clock ? params.quic_clock
- : QuicChromiumClock::GetInstance(),
+ context.http_server_properties,
+ context.cert_verifier,
+ context.ct_policy_enforcer,
+ context.channel_id_service,
+ context.transport_security_state,
+ context.cert_transparency_verifier,
+ context.socket_performance_watcher_factory,
+ context.quic_crypto_client_stream_factory,
+ context.quic_random ? context.quic_random : QuicRandom::GetInstance(),
+ context.quic_clock ? context.quic_clock
+ : QuicChromiumClock::GetInstance(),
params.quic_max_packet_length,
params.quic_user_agent_id,
params.quic_supported_versions,
@@ -197,19 +204,20 @@ HttpNetworkSession::HttpNetworkSession(const Params& params)
params.quic_estimate_initial_rtt,
params.quic_connection_options,
params.enable_token_binding),
- spdy_session_pool_(params.host_resolver,
- params.ssl_config_service,
- params.http_server_properties,
- params.transport_security_state,
+ spdy_session_pool_(context.host_resolver,
+ context.ssl_config_service,
+ context.http_server_properties,
+ context.transport_security_state,
params.enable_spdy_ping_based_connection_checking,
params.spdy_session_max_recv_window_size,
AddDefaultHttp2Settings(params.http2_settings),
params.time_func,
- params.proxy_delegate),
+ context.proxy_delegate),
http_stream_factory_(new HttpStreamFactoryImpl(this, false)),
http_stream_factory_for_websocket_(new HttpStreamFactoryImpl(this, true)),
network_stream_throttler_(new NetworkThrottleManagerImpl()),
- params_(params) {
+ params_(params),
+ context_(context) {
DCHECK(proxy_service_);
DCHECK(ssl_config_service_.get());
CHECK(http_server_properties_);
@@ -217,9 +225,9 @@ HttpNetworkSession::HttpNetworkSession(const Params& params)
const std::string ssl_session_cache_shard =
"http_network_session/" + base::IntToString(g_next_shard_id.GetNext());
normal_socket_pool_manager_.reset(CreateSocketPoolManager(
- NORMAL_SOCKET_POOL, params, ssl_session_cache_shard));
+ NORMAL_SOCKET_POOL, context, ssl_session_cache_shard));
websocket_socket_pool_manager_.reset(CreateSocketPoolManager(
- WEBSOCKET_SOCKET_POOL, params, ssl_session_cache_shard));
+ WEBSOCKET_SOCKET_POOL, context, ssl_session_cache_shard));
if (params_.enable_http2) {
next_protos_.push_back(kProtoHTTP2);
@@ -401,7 +409,7 @@ void HttpNetworkSession::GetSSLConfig(const HttpRequestInfo& request,
*proxy_config = *server_config;
if (request.privacy_mode == PRIVACY_MODE_ENABLED) {
server_config->channel_id_enabled = false;
- } else if (params_.enable_token_binding && params_.channel_id_service) {
+ } else if (params_.enable_token_binding && context_.channel_id_service) {
server_config->token_binding_params.push_back(TB_PARAM_ECDSAP256);
}
}
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_network_transaction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698