Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 1 | // Copyright 2022 The Chromium Authors |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "url/url_features.h" |
François Doray | 0bb59e0 | 2023-05-05 14:35:14 | [diff] [blame] | 6 | #include "base/feature_list.h" |
Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 7 | |
| 8 | namespace url { |
| 9 | |
| 10 | BASE_FEATURE(kUseIDNA2008NonTransitional, |
| 11 | "UseIDNA2008NonTransitional", |
Mustafa Emre Acer | 6557c80 | 2022-12-08 23:36:44 | [diff] [blame] | 12 | base::FEATURE_ENABLED_BY_DEFAULT); |
Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 13 | |
Mustafa Emre Acer | ee1a5bd | 2022-12-15 22:17:36 | [diff] [blame] | 14 | // Kill switch for crbug.com/1362507. |
| 15 | BASE_FEATURE(kRecordIDNA2008Metrics, |
| 16 | "RecordIDNA2008Metrics", |
| 17 | base::FEATURE_ENABLED_BY_DEFAULT); |
| 18 | |
Jiacheng Guo | ed519e44 | 2023-02-17 05:46:23 | [diff] [blame] | 19 | BASE_FEATURE(kStrictIPv4EmbeddedIPv6AddressParsing, |
| 20 | "StrictIPv4EmbeddedIPv6AddressParsing", |
Hayato Ito | 31c0574b4 | 2023-07-24 06:05:08 | [diff] [blame] | 21 | base::FEATURE_ENABLED_BY_DEFAULT); |
Jiacheng Guo | ed519e44 | 2023-02-17 05:46:23 | [diff] [blame] | 22 | |
Fredrik Söderquist | 62840e7fc | 2023-04-03 10:05:47 | [diff] [blame] | 23 | // Kill switch for crbug.com/1220361. |
| 24 | BASE_FEATURE(kResolveBareFragmentWithColonOnNonHierarchical, |
| 25 | "ResolveBareFragmentWithColonOnNonHierarchical", |
| 26 | base::FEATURE_ENABLED_BY_DEFAULT); |
| 27 | |
Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 28 | bool IsUsingIDNA2008NonTransitional() { |
François Doray | 0bb59e0 | 2023-05-05 14:35:14 | [diff] [blame] | 29 | // If the FeatureList isn't available yet, fall back to the feature's default |
| 30 | // state. This may happen during early startup, see crbug.com/1441956. |
| 31 | if (!base::FeatureList::GetInstance()) { |
| 32 | return kUseIDNA2008NonTransitional.default_state == |
| 33 | base::FEATURE_ENABLED_BY_DEFAULT; |
| 34 | } |
| 35 | |
Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 36 | return base::FeatureList::IsEnabled(kUseIDNA2008NonTransitional); |
| 37 | } |
Mustafa Emre Acer | ee1a5bd | 2022-12-15 22:17:36 | [diff] [blame] | 38 | |
| 39 | bool IsRecordingIDNA2008Metrics() { |
| 40 | return base::FeatureList::IsEnabled(kRecordIDNA2008Metrics); |
| 41 | } |
| 42 | |
Mustafa Emre Acer | 5812f474 | 2022-11-17 20:13:24 | [diff] [blame] | 43 | } // namespace url |