summaryrefslogtreecommitdiffstats
path: root/net/url_request
diff options
context:
space:
mode:
authormef <mef@chromium.org>2016-02-09 12:14:23 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-09 20:15:32 +0000
commitc5da5713830e1c6ad09c75638e06f018396ca40d (patch)
tree5222c55a71bce4126118b47a3f0feefd51ff508f /net/url_request
parent11565e0ec4c1c02bddaf1ed8ac726124e5c61400 (diff)
downloadchromium_src-c5da5713830e1c6ad09c75638e06f018396ca40d.zip
chromium_src-c5da5713830e1c6ad09c75638e06f018396ca40d.tar.gz
chromium_src-c5da5713830e1c6ad09c75638e06f018396ca40d.tar.bz2
[Cronet] Expose quic_user_agent_id and quic_prefer_aes config options.
- QUIC will soon require that user agent id field is non-empty, but normal User-Agent request header is too rich and verbose to be used for this purpose. The app can override default value using 'user_agent_id' quic experimental option. - prefer_aes experimental option is needed to experiment with performance of using AES instead of ChaCha20. BUG=575771 Review URL: https://codereview.chromium.org/1665503002 Cr-Commit-Position: refs/heads/master@{#374438}
Diffstat (limited to 'net/url_request')
-rw-r--r--net/url_request/url_request_context_builder.cc5
-rw-r--r--net/url_request/url_request_context_builder.h10
2 files changed, 15 insertions, 0 deletions
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
index 156c675..769932e 100644
--- a/net/url_request/url_request_context_builder.cc
+++ b/net/url_request/url_request_context_builder.cc
@@ -186,6 +186,7 @@ URLRequestContextBuilder::HttpNetworkSessionParams::HttpNetworkSessionParams()
quic_max_server_configs_stored_in_properties(0),
quic_delay_tcp_race(false),
quic_max_number_of_lossy_connections(0),
+ quic_prefer_aes(false),
quic_packet_loss_threshold(1.0f),
quic_idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds),
quic_close_sessions_on_ip_change(false),
@@ -416,6 +417,10 @@ scoped_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
http_network_session_params_.quic_close_sessions_on_ip_change;
network_session_params.quic_migrate_sessions_on_network_change =
http_network_session_params_.quic_migrate_sessions_on_network_change;
+ network_session_params.quic_user_agent_id =
+ http_network_session_params_.quic_user_agent_id;
+ network_session_params.quic_prefer_aes =
+ http_network_session_params_.quic_prefer_aes;
storage->set_http_network_session(
make_scoped_ptr(new HttpNetworkSession(network_session_params)));
diff --git a/net/url_request/url_request_context_builder.h b/net/url_request/url_request_context_builder.h
index 4876ea2..6fdaf36 100644
--- a/net/url_request/url_request_context_builder.h
+++ b/net/url_request/url_request_context_builder.h
@@ -89,10 +89,12 @@ class NET_EXPORT URLRequestContextBuilder {
bool parse_alternative_services;
bool enable_alternative_service_with_different_host;
bool enable_quic;
+ std::string quic_user_agent_id;
int quic_max_server_configs_stored_in_properties;
bool quic_delay_tcp_race;
int quic_max_number_of_lossy_connections;
std::unordered_set<std::string> quic_host_whitelist;
+ bool quic_prefer_aes;
float quic_packet_loss_threshold;
int quic_idle_connection_timeout_seconds;
QuicTagVector quic_connection_options;
@@ -200,6 +202,10 @@ class NET_EXPORT URLRequestContextBuilder {
quic_connection_options;
}
+ void set_quic_user_agent_id(const std::string& quic_user_agent_id) {
+ http_network_session_params_.quic_user_agent_id = quic_user_agent_id;
+ }
+
void set_quic_max_server_configs_stored_in_properties(
int quic_max_server_configs_stored_in_properties) {
http_network_session_params_.quic_max_server_configs_stored_in_properties =
@@ -244,6 +250,10 @@ class NET_EXPORT URLRequestContextBuilder {
quic_migrate_sessions_on_network_change;
}
+ void set_quic_prefer_aes(bool quic_prefer_aes) {
+ http_network_session_params_.quic_prefer_aes = quic_prefer_aes;
+ }
+
void set_throttling_enabled(bool throttling_enabled) {
throttling_enabled_ = throttling_enabled;
}