| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/cronet/url_request_context_config.h" | 5 #include "components/cronet/url_request_context_config.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 "idle_connection_timeout_seconds"; | 42 "idle_connection_timeout_seconds"; |
| 43 const char kQuicHostWhitelist[] = "host_whitelist"; | 43 const char kQuicHostWhitelist[] = "host_whitelist"; |
| 44 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change"; | 44 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change"; |
| 45 const char kQuicMigrateSessionsOnNetworkChange[] = | 45 const char kQuicMigrateSessionsOnNetworkChange[] = |
| 46 "migrate_sessions_on_network_change"; | 46 "migrate_sessions_on_network_change"; |
| 47 const char kQuicPreferAes[] = "prefer_aes"; | 47 const char kQuicPreferAes[] = "prefer_aes"; |
| 48 const char kQuicUserAgentId[] = "user_agent_id"; | 48 const char kQuicUserAgentId[] = "user_agent_id"; |
| 49 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; | 49 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; |
| 50 const char kQuicDisableBidirectionalStreams[] = | 50 const char kQuicDisableBidirectionalStreams[] = |
| 51 "quic_disable_bidirectional_streams"; | 51 "quic_disable_bidirectional_streams"; |
| 52 const char kQuicRaceCertVerification[] = "race_cert_verification"; |
| 52 | 53 |
| 53 // AsyncDNS experiment dictionary name. | 54 // AsyncDNS experiment dictionary name. |
| 54 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; | 55 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; |
| 55 // Name of boolean to enable AsyncDNS experiment. | 56 // Name of boolean to enable AsyncDNS experiment. |
| 56 const char kAsyncDnsEnable[] = "enable"; | 57 const char kAsyncDnsEnable[] = "enable"; |
| 57 | 58 |
| 58 const char kSSLKeyLogFile[] = "ssl_key_log_file"; | 59 const char kSSLKeyLogFile[] = "ssl_key_log_file"; |
| 59 | 60 |
| 60 void ParseAndSetExperimentalOptions( | 61 void ParseAndSetExperimentalOptions( |
| 61 const std::string& experimental_options, | 62 const std::string& experimental_options, |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 context_builder->set_quic_migrate_sessions_early( | 177 context_builder->set_quic_migrate_sessions_early( |
| 177 quic_migrate_sessions_early); | 178 quic_migrate_sessions_early); |
| 178 } | 179 } |
| 179 | 180 |
| 180 bool quic_disable_bidirectional_streams = false; | 181 bool quic_disable_bidirectional_streams = false; |
| 181 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, | 182 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, |
| 182 &quic_disable_bidirectional_streams)) { | 183 &quic_disable_bidirectional_streams)) { |
| 183 context_builder->set_quic_disable_bidirectional_streams( | 184 context_builder->set_quic_disable_bidirectional_streams( |
| 184 quic_disable_bidirectional_streams); | 185 quic_disable_bidirectional_streams); |
| 185 } | 186 } |
| 187 |
| 188 bool quic_race_cert_verification = true; |
| 189 // TODO(rtenneti): Don't enable by default. |
| 190 context_builder->set_quic_race_cert_verification( |
| 191 quic_race_cert_verification); |
| 192 if (quic_args->GetBoolean(kQuicRaceCertVerification, |
| 193 &quic_race_cert_verification)) { |
| 194 context_builder->set_quic_race_cert_verification( |
| 195 quic_race_cert_verification); |
| 196 } |
| 186 } | 197 } |
| 187 | 198 |
| 188 const base::DictionaryValue* async_dns_args = nullptr; | 199 const base::DictionaryValue* async_dns_args = nullptr; |
| 189 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) { | 200 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) { |
| 190 bool async_dns_enable = false; | 201 bool async_dns_enable = false; |
| 191 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) && | 202 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) && |
| 192 async_dns_enable) { | 203 async_dns_enable) { |
| 193 if (net_log == nullptr) { | 204 if (net_log == nullptr) { |
| 194 DCHECK(false) << "AsyncDNS experiment requires NetLog."; | 205 DCHECK(false) << "AsyncDNS experiment requires NetLog."; |
| 195 } else { | 206 } else { |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 | 311 |
| 301 ParseAndSetExperimentalOptions(experimental_options, context_builder, net_log, | 312 ParseAndSetExperimentalOptions(experimental_options, context_builder, net_log, |
| 302 file_task_runner); | 313 file_task_runner); |
| 303 | 314 |
| 304 if (mock_cert_verifier) | 315 if (mock_cert_verifier) |
| 305 context_builder->SetCertVerifier(std::move(mock_cert_verifier)); | 316 context_builder->SetCertVerifier(std::move(mock_cert_verifier)); |
| 306 // TODO(mef): Use |config| to set cookies. | 317 // TODO(mef): Use |config| to set cookies. |
| 307 } | 318 } |
| 308 | 319 |
| 309 } // namespace cronet | 320 } // namespace cronet |
| OLD | NEW |