| // Copyright (c) 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/base/features.h" |
| |
| #include <vector> |
| |
| #include "build/build_config.h" |
| |
| namespace net { |
| namespace features { |
| |
| const base::Feature kAcceptLanguageHeader{"AcceptLanguageHeader", |
| base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kCapReferrerToOriginOnCrossOrigin{ |
| "CapReferrerToOriginOnCrossOrigin", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kDnsHttpssvc{"DnsHttpssvc", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::FeatureParam<bool> kDnsHttpssvcUseHttpssvc{ |
| &kDnsHttpssvc, "DnsHttpssvcUseHttpssvc", false}; |
| |
| const base::FeatureParam<bool> kDnsHttpssvcUseIntegrity{ |
| &kDnsHttpssvc, "DnsHttpssvcUseIntegrity", false}; |
| |
| const base::FeatureParam<bool> kDnsHttpssvcEnableQueryOverInsecure{ |
| &kDnsHttpssvc, "DnsHttpssvcEnableQueryOverInsecure", false}; |
| |
| const base::FeatureParam<int> kDnsHttpssvcExtraTimeMs{ |
| &kDnsHttpssvc, "DnsHttpssvcExtraTimeMs", 10}; |
| |
| const base::FeatureParam<int> kDnsHttpssvcExtraTimePercent{ |
| &kDnsHttpssvc, "DnsHttpssvcExtraTimePercent", 5}; |
| |
| const base::FeatureParam<std::string> kDnsHttpssvcExperimentDomains{ |
| &kDnsHttpssvc, "DnsHttpssvcExperimentDomains", ""}; |
| |
| const base::FeatureParam<std::string> kDnsHttpssvcControlDomains{ |
| &kDnsHttpssvc, "DnsHttpssvcControlDomains", ""}; |
| |
| const base::FeatureParam<bool> kDnsHttpssvcControlDomainWildcard{ |
| &kDnsHttpssvc, "DnsHttpssvcControlDomainWildcard", false}; |
| |
| const base::Feature kAvoidH2Reprioritization{"AvoidH2Reprioritization", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| namespace dns_httpssvc_experiment { |
| base::TimeDelta GetExtraTimeAbsolute() { |
| DCHECK(base::FeatureList::IsEnabled(features::kDnsHttpssvc)); |
| return base::TimeDelta::FromMilliseconds(kDnsHttpssvcExtraTimeMs.Get()); |
| } |
| } // namespace dns_httpssvc_experiment |
| |
| const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kSplitCacheByNetworkIsolationKey{ |
| "SplitCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kSplitHostCacheByNetworkIsolationKey{ |
| "SplitHostCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kPartitionConnectionsByNetworkIsolationKey{ |
| "PartitionConnectionsByNetworkIsolationKey", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kPartitionHttpServerPropertiesByNetworkIsolationKey{ |
| "PartitionHttpServerPropertiesByNetworkIsolationKey", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kPartitionSSLSessionsByNetworkIsolationKey{ |
| "PartitionSSLSessionsByNetworkIsolationKey", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kPartitionExpectCTStateByNetworkIsolationKey{ |
| "PartitionExpectCTStateByNetworkIsolationKey", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kExpectCTPruning{"ExpectCTPruning", |
| base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| NET_EXPORT extern const base::FeatureParam<int> |
| kExpectCTPruneMax(&kExpectCTPruning, "ExpectCTPruneMax", 2000); |
| NET_EXPORT extern const base::FeatureParam<int> |
| kExpectCTPruneMin(&kExpectCTPruning, "ExpectCTPruneMin", 1800); |
| NET_EXPORT extern const base::FeatureParam<int> kExpectCTSafeFromPruneDays( |
| &kExpectCTPruning, |
| "ExpectCTSafeFromPruneDays", |
| 40); |
| NET_EXPORT extern const base::FeatureParam<int> kExpectCTMaxEntriesPerNik( |
| &kExpectCTPruning, |
| "ExpectCTMaxEntriesPerNik", |
| 20); |
| NET_EXPORT extern const base::FeatureParam<int> |
| kExpectCTPruneDelaySecs(&kExpectCTPruning, "ExpectCTPruneDelaySecs", 60); |
| |
| const base::Feature kTLS13KeyUpdate{"TLS13KeyUpdate", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kPostQuantumCECPQ2{"PostQuantumCECPQ2", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kNetUnusedIdleSocketTimeout{ |
| "NetUnusedIdleSocketTimeout", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kSameSiteByDefaultCookies{"SameSiteByDefaultCookies", |
| base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kCookiesWithoutSameSiteMustBeSecure{ |
| "CookiesWithoutSameSiteMustBeSecure", base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kShortLaxAllowUnsafeThreshold{ |
| "ShortLaxAllowUnsafeThreshold", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kSameSiteDefaultChecksMethodRigorously{ |
| "SameSiteDefaultChecksMethodRigorously", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kRecentHttpSameSiteAccessGrantsLegacyCookieSemantics{ |
| "RecentHttpSameSiteAccessGrantsLegacyCookieSemantics", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| const base::FeatureParam<int> |
| kRecentHttpSameSiteAccessGrantsLegacyCookieSemanticsMilliseconds{ |
| &kRecentHttpSameSiteAccessGrantsLegacyCookieSemantics, |
| "RecentHttpSameSiteAccessGrantsLegacyCookieSemanticsMilliseconds", 0}; |
| |
| const base::Feature kRecentCreationTimeGrantsLegacyCookieSemantics{ |
| "RecentCreationTimeGrantsLegacyCookieSemantics", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| const base::FeatureParam<int> |
| kRecentCreationTimeGrantsLegacyCookieSemanticsMilliseconds{ |
| &kRecentCreationTimeGrantsLegacyCookieSemantics, |
| "RecentCreationTimeGrantsLegacyCookieSemanticsMilliseconds", 0}; |
| |
| #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) |
| const base::Feature kCertVerifierBuiltinFeature{ |
| "CertVerifierBuiltin", base::FEATURE_DISABLED_BY_DEFAULT}; |
| #endif |
| |
| const base::Feature kAppendFrameOriginToNetworkIsolationKey{ |
| "AppendFrameOriginToNetworkIsolationKey", base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kUseRegistrableDomainInNetworkIsolationKey{ |
| "UseRegistrableDomainInNetworkIsolationKey", |
| base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kTurnOffStreamingMediaCaching{ |
| "TurnOffStreamingMediaCaching", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kLegacyTLSEnforced{"LegacyTLSEnforced", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kSchemefulSameSite{"SchemefulSameSite", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kTLSLegacyCryptoFallbackForMetrics{ |
| "TLSLegacyCryptoFallbackForMetrics", base::FEATURE_ENABLED_BY_DEFAULT}; |
| |
| const base::Feature kUseLookalikesForNavigationSuggestions{ |
| "UseLookalikesForNavigationSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| const base::Feature kReportPoorConnectivity{"ReportPoorConnectivity", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| |
| } // namespace features |
| } // namespace net |