blob: 3602bdd84c659730551c4719b744443672e5ab59 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "url/url_features.h"
#include "polyfills/base/feature_list.h"
namespace url {
BASE_FEATURE(kUseIDNA2008NonTransitional,
"UseIDNA2008NonTransitional",
gurl_base::FEATURE_ENABLED_BY_DEFAULT);
// Kill switch for crbug.com/1362507.
BASE_FEATURE(kRecordIDNA2008Metrics,
"RecordIDNA2008Metrics",
gurl_base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kStrictIPv4EmbeddedIPv6AddressParsing,
"StrictIPv4EmbeddedIPv6AddressParsing",
gurl_base::FEATURE_DISABLED_BY_DEFAULT);
// Kill switch for crbug.com/1220361.
BASE_FEATURE(kResolveBareFragmentWithColonOnNonHierarchical,
"ResolveBareFragmentWithColonOnNonHierarchical",
gurl_base::FEATURE_ENABLED_BY_DEFAULT);
bool IsUsingIDNA2008NonTransitional() {
// If the FeatureList isn't available yet, fall back to the feature's default
// state. This may happen during early startup, see crbug.com/1441956.
if (!gurl_base::FeatureList::GetInstance()) {
return kUseIDNA2008NonTransitional.default_state ==
gurl_base::FEATURE_ENABLED_BY_DEFAULT;
}
return gurl_base::FeatureList::IsEnabled(kUseIDNA2008NonTransitional);
}
bool IsRecordingIDNA2008Metrics() {
return gurl_base::FeatureList::IsEnabled(kRecordIDNA2008Metrics);
}
} // namespace url