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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 "idle_connection_timeout_seconds"; | 46 "idle_connection_timeout_seconds"; |
47 const char kQuicHostWhitelist[] = "host_whitelist"; | 47 const char kQuicHostWhitelist[] = "host_whitelist"; |
48 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change"; | 48 const char kQuicCloseSessionsOnIpChange[] = "close_sessions_on_ip_change"; |
49 const char kQuicMigrateSessionsOnNetworkChange[] = | 49 const char kQuicMigrateSessionsOnNetworkChange[] = |
50 "migrate_sessions_on_network_change"; | 50 "migrate_sessions_on_network_change"; |
51 const char kQuicPreferAes[] = "prefer_aes"; | 51 const char kQuicPreferAes[] = "prefer_aes"; |
52 const char kQuicUserAgentId[] = "user_agent_id"; | 52 const char kQuicUserAgentId[] = "user_agent_id"; |
53 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; | 53 const char kQuicMigrateSessionsEarly[] = "migrate_sessions_early"; |
54 const char kQuicDisableBidirectionalStreams[] = | 54 const char kQuicDisableBidirectionalStreams[] = |
55 "quic_disable_bidirectional_streams"; | 55 "quic_disable_bidirectional_streams"; |
| 56 const char kQuicRaceCertVerification[] = "race_cert_verification"; |
56 | 57 |
57 // AsyncDNS experiment dictionary name. | 58 // AsyncDNS experiment dictionary name. |
58 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; | 59 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; |
59 // Name of boolean to enable AsyncDNS experiment. | 60 // Name of boolean to enable AsyncDNS experiment. |
60 const char kAsyncDnsEnable[] = "enable"; | 61 const char kAsyncDnsEnable[] = "enable"; |
61 | 62 |
62 const char kSSLKeyLogFile[] = "ssl_key_log_file"; | 63 const char kSSLKeyLogFile[] = "ssl_key_log_file"; |
63 | 64 |
64 void ParseAndSetExperimentalOptions( | 65 void ParseAndSetExperimentalOptions( |
65 const std::string& experimental_options, | 66 const std::string& experimental_options, |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 context_builder->set_quic_migrate_sessions_early( | 181 context_builder->set_quic_migrate_sessions_early( |
181 quic_migrate_sessions_early); | 182 quic_migrate_sessions_early); |
182 } | 183 } |
183 | 184 |
184 bool quic_disable_bidirectional_streams = false; | 185 bool quic_disable_bidirectional_streams = false; |
185 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, | 186 if (quic_args->GetBoolean(kQuicDisableBidirectionalStreams, |
186 &quic_disable_bidirectional_streams)) { | 187 &quic_disable_bidirectional_streams)) { |
187 context_builder->set_quic_disable_bidirectional_streams( | 188 context_builder->set_quic_disable_bidirectional_streams( |
188 quic_disable_bidirectional_streams); | 189 quic_disable_bidirectional_streams); |
189 } | 190 } |
| 191 |
| 192 bool quic_race_cert_verification = false; |
| 193 if (quic_args->GetBoolean(kQuicRaceCertVerification, |
| 194 &quic_race_cert_verification)) { |
| 195 context_builder->set_quic_race_cert_verification( |
| 196 quic_race_cert_verification); |
| 197 } |
190 } | 198 } |
191 | 199 |
192 const base::DictionaryValue* async_dns_args = nullptr; | 200 const base::DictionaryValue* async_dns_args = nullptr; |
193 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) { | 201 if (dict->GetDictionary(kAsyncDnsFieldTrialName, &async_dns_args)) { |
194 bool async_dns_enable = false; | 202 bool async_dns_enable = false; |
195 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) && | 203 if (async_dns_args->GetBoolean(kAsyncDnsEnable, &async_dns_enable) && |
196 async_dns_enable) { | 204 async_dns_enable) { |
197 if (net_log == nullptr) { | 205 if (net_log == nullptr) { |
198 DCHECK(false) << "AsyncDNS experiment requires NetLog."; | 206 DCHECK(false) << "AsyncDNS experiment requires NetLog."; |
199 } else { | 207 } else { |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 std::move(mock_cert_verifier)); | 326 std::move(mock_cert_verifier)); |
319 } else { | 327 } else { |
320 // net::CertVerifier::CreateDefault() returns a CachingCertVerifier. | 328 // net::CertVerifier::CreateDefault() returns a CachingCertVerifier. |
321 cert_verifier = net::CertVerifier::CreateDefault(); | 329 cert_verifier = net::CertVerifier::CreateDefault(); |
322 } | 330 } |
323 context_builder->SetCertVerifier(std::move(cert_verifier)); | 331 context_builder->SetCertVerifier(std::move(cert_verifier)); |
324 // TODO(mef): Use |config| to set cookies. | 332 // TODO(mef): Use |config| to set cookies. |
325 } | 333 } |
326 | 334 |
327 } // namespace cronet | 335 } // namespace cronet |
OLD | NEW |