xref: /aosp_15_r20/external/cronet/url/url_features.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2022 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #ifndef URL_URL_FEATURES_H_
6*6777b538SAndroid Build Coastguard Worker #define URL_URL_FEATURES_H_
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker #include "base/component_export.h"
9*6777b538SAndroid Build Coastguard Worker #include "base/feature_list.h"
10*6777b538SAndroid Build Coastguard Worker 
11*6777b538SAndroid Build Coastguard Worker namespace url {
12*6777b538SAndroid Build Coastguard Worker 
13*6777b538SAndroid Build Coastguard Worker // If you add or remove a feature related to URLs, you may need to
14*6777b538SAndroid Build Coastguard Worker // correspondingly update the EarlyAccess allow list in app shims
15*6777b538SAndroid Build Coastguard Worker // (chrome/app_shim/app_shim_controller.mm). See https://crbug.com/1520386 for
16*6777b538SAndroid Build Coastguard Worker // more details.
17*6777b538SAndroid Build Coastguard Worker 
18*6777b538SAndroid Build Coastguard Worker COMPONENT_EXPORT(URL) BASE_DECLARE_FEATURE(kUseIDNA2008NonTransitional);
19*6777b538SAndroid Build Coastguard Worker 
20*6777b538SAndroid Build Coastguard Worker // Returns true if Chrome is using IDNA 2008 in Non-Transitional mode.
21*6777b538SAndroid Build Coastguard Worker COMPONENT_EXPORT(URL) bool IsUsingIDNA2008NonTransitional();
22*6777b538SAndroid Build Coastguard Worker 
23*6777b538SAndroid Build Coastguard Worker // Returns true if Chrome is recording IDNA 2008 related metrics.
24*6777b538SAndroid Build Coastguard Worker COMPONENT_EXPORT(URL) bool IsRecordingIDNA2008Metrics();
25*6777b538SAndroid Build Coastguard Worker 
26*6777b538SAndroid Build Coastguard Worker // Returns true if kStandardCompliantNonSpecialSchemeURLParsing feature is
27*6777b538SAndroid Build Coastguard Worker // enabled. See url::kStandardCompliantNonSpecialSchemeURLParsing for details.
28*6777b538SAndroid Build Coastguard Worker COMPONENT_EXPORT(URL) bool IsUsingStandardCompliantNonSpecialSchemeURLParsing();
29*6777b538SAndroid Build Coastguard Worker 
30*6777b538SAndroid Build Coastguard Worker // When enabled, Chrome uses standard-compliant URL parsing for non-special
31*6777b538SAndroid Build Coastguard Worker // scheme URLs. See https://crbug.com/1416006 for details.
32*6777b538SAndroid Build Coastguard Worker COMPONENT_EXPORT(URL)
33*6777b538SAndroid Build Coastguard Worker BASE_DECLARE_FEATURE(kStandardCompliantNonSpecialSchemeURLParsing);
34*6777b538SAndroid Build Coastguard Worker 
35*6777b538SAndroid Build Coastguard Worker }  // namespace url
36*6777b538SAndroid Build Coastguard Worker 
37*6777b538SAndroid Build Coastguard Worker #endif  // URL_URL_FEATURES_H_
38