// 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 #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 kDnsTransactionDynamicTimeouts{ "DnsTransactionDynamicTimeouts", base::FEATURE_DISABLED_BY_DEFAULT}; const base::FeatureParam kDnsTransactionTimeoutMultiplier{ &kDnsTransactionDynamicTimeouts, "DnsTransactionTimeoutMultiplier", 7.5}; const base::FeatureParam kDnsMinTransactionTimeout{ &kDnsTransactionDynamicTimeouts, "DnsMinTransactionTimeout", base::TimeDelta::FromSeconds(12)}; const base::Feature kDnsHttpssvc{"DnsHttpssvc", base::FEATURE_DISABLED_BY_DEFAULT}; const base::FeatureParam kDnsHttpssvcUseHttpssvc{ &kDnsHttpssvc, "DnsHttpssvcUseHttpssvc", false}; const base::FeatureParam kDnsHttpssvcUseIntegrity{ &kDnsHttpssvc, "DnsHttpssvcUseIntegrity", false}; const base::FeatureParam kDnsHttpssvcEnableQueryOverInsecure{ &kDnsHttpssvc, "DnsHttpssvcEnableQueryOverInsecure", false}; const base::FeatureParam kDnsHttpssvcExtraTimeMs{ &kDnsHttpssvc, "DnsHttpssvcExtraTimeMs", 10}; const base::FeatureParam kDnsHttpssvcExtraTimePercent{ &kDnsHttpssvc, "DnsHttpssvcExtraTimePercent", 5}; const base::FeatureParam kDnsHttpssvcExperimentDomains{ &kDnsHttpssvc, "DnsHttpssvcExperimentDomains", ""}; const base::FeatureParam kDnsHttpssvcControlDomains{ &kDnsHttpssvc, "DnsHttpssvcControlDomains", ""}; const base::FeatureParam 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 kPartitionNelAndReportingByNetworkIsolationKey{ "PartitionNelAndReportingByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kExpectCTPruning{"ExpectCTPruning", base::FEATURE_ENABLED_BY_DEFAULT}; NET_EXPORT extern const base::FeatureParam kExpectCTPruneMax(&kExpectCTPruning, "ExpectCTPruneMax", 2000); NET_EXPORT extern const base::FeatureParam kExpectCTPruneMin(&kExpectCTPruning, "ExpectCTPruneMin", 1800); NET_EXPORT extern const base::FeatureParam kExpectCTSafeFromPruneDays( &kExpectCTPruning, "ExpectCTSafeFromPruneDays", 40); NET_EXPORT extern const base::FeatureParam kExpectCTMaxEntriesPerNik( &kExpectCTPruning, "ExpectCTMaxEntriesPerNik", 20); NET_EXPORT extern const base::FeatureParam 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}; #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 kTurnOffStreamingMediaCachingOnBattery{ "TurnOffStreamingMediaCachingOnBattery", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kTurnOffStreamingMediaCachingAlways{ "TurnOffStreamingMediaCachingAlways", 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}; const base::Feature kPreemptiveMobileNetworkActivation{ "PreemptiveMobileNetworkActivation", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kLimitOpenUDPSockets{"LimitOpenUDPSockets", base::FEATURE_ENABLED_BY_DEFAULT}; extern const base::FeatureParam kLimitOpenUDPSocketsMax( &kLimitOpenUDPSockets, "LimitOpenUDPSocketsMax", 6000); const base::Feature kTimeoutTcpConnectAttempt{ "TimeoutTcpConnectAttempt", base::FEATURE_DISABLED_BY_DEFAULT}; extern const base::FeatureParam kTimeoutTcpConnectAttemptRTTMultiplier( &kTimeoutTcpConnectAttempt, "TimeoutTcpConnectAttemptRTTMultiplier", 5.0); extern const base::FeatureParam kTimeoutTcpConnectAttemptMin( &kTimeoutTcpConnectAttempt, "TimeoutTcpConnectAttemptMin", base::TimeDelta::FromSeconds(8)); extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( &kTimeoutTcpConnectAttempt, "TimeoutTcpConnectAttemptMax", base::TimeDelta::FromSeconds(30)); } // namespace features } // namespace net