// 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 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 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}; const base::Feature kRecentHttpSameSiteAccessGrantsLegacyCookieSemantics{ "RecentHttpSameSiteAccessGrantsLegacyCookieSemantics", base::FEATURE_DISABLED_BY_DEFAULT}; const base::FeatureParam kRecentHttpSameSiteAccessGrantsLegacyCookieSemanticsMilliseconds{ &kRecentHttpSameSiteAccessGrantsLegacyCookieSemantics, "RecentHttpSameSiteAccessGrantsLegacyCookieSemanticsMilliseconds", 0}; const base::Feature kRecentCreationTimeGrantsLegacyCookieSemantics{ "RecentCreationTimeGrantsLegacyCookieSemantics", base::FEATURE_DISABLED_BY_DEFAULT}; const base::FeatureParam 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}; } // namespace features } // namespace net