Fix for Geolocation webTCT failures
[platform/framework/web/chromium-efl.git] / url / url_features.cc
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"
6 #include "base/feature_list.h"
7
8 namespace url {
9
10 BASE_FEATURE(kUseIDNA2008NonTransitional,
11              "UseIDNA2008NonTransitional",
12              base::FEATURE_ENABLED_BY_DEFAULT);
13
14 // Kill switch for crbug.com/1362507.
15 BASE_FEATURE(kRecordIDNA2008Metrics,
16              "RecordIDNA2008Metrics",
17              base::FEATURE_ENABLED_BY_DEFAULT);
18
19 // Kill switch for crbug.com/1220361.
20 BASE_FEATURE(kResolveBareFragmentWithColonOnNonHierarchical,
21              "ResolveBareFragmentWithColonOnNonHierarchical",
22              base::FEATURE_ENABLED_BY_DEFAULT);
23
24 // Kill switch for https://crbug.com/1416013.
25 BASE_FEATURE(kStandardCompliantHostCharacters,
26              "StandardCompliantHostCharacters",
27              base::FEATURE_ENABLED_BY_DEFAULT);
28
29 bool IsUsingIDNA2008NonTransitional() {
30   // If the FeatureList isn't available yet, fall back to the feature's default
31   // state. This may happen during early startup, see crbug.com/1441956.
32   if (!base::FeatureList::GetInstance()) {
33     return kUseIDNA2008NonTransitional.default_state ==
34            base::FEATURE_ENABLED_BY_DEFAULT;
35   }
36
37   return base::FeatureList::IsEnabled(kUseIDNA2008NonTransitional);
38 }
39
40 bool IsUsingStandardCompliantHostCharacters() {
41   // If the FeatureList isn't available yet, fall back to the feature's default
42   // state. This may happen during early startup, see crbug.com/1441956.
43   if (!base::FeatureList::GetInstance()) {
44     return kStandardCompliantHostCharacters.default_state ==
45            base::FEATURE_ENABLED_BY_DEFAULT;
46   }
47
48   return base::FeatureList::IsEnabled(kStandardCompliantHostCharacters);
49 }
50
51 bool IsRecordingIDNA2008Metrics() {
52   return base::FeatureList::IsEnabled(kRecordIDNA2008Metrics);
53 }
54
55 }  // namespace url