xref: /aosp_15_r20/external/cronet/url/url_features.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 #ifndef URL_URL_FEATURES_H_
6 #define URL_URL_FEATURES_H_
7 
8 #include "base/component_export.h"
9 #include "base/feature_list.h"
10 
11 namespace url {
12 
13 // If you add or remove a feature related to URLs, you may need to
14 // correspondingly update the EarlyAccess allow list in app shims
15 // (chrome/app_shim/app_shim_controller.mm). See https://crbug.com/1520386 for
16 // more details.
17 
18 COMPONENT_EXPORT(URL) BASE_DECLARE_FEATURE(kUseIDNA2008NonTransitional);
19 
20 // Returns true if Chrome is using IDNA 2008 in Non-Transitional mode.
21 COMPONENT_EXPORT(URL) bool IsUsingIDNA2008NonTransitional();
22 
23 // Returns true if Chrome is recording IDNA 2008 related metrics.
24 COMPONENT_EXPORT(URL) bool IsRecordingIDNA2008Metrics();
25 
26 // Returns true if kStandardCompliantNonSpecialSchemeURLParsing feature is
27 // enabled. See url::kStandardCompliantNonSpecialSchemeURLParsing for details.
28 COMPONENT_EXPORT(URL) bool IsUsingStandardCompliantNonSpecialSchemeURLParsing();
29 
30 // When enabled, Chrome uses standard-compliant URL parsing for non-special
31 // scheme URLs. See https://crbug.com/1416006 for details.
32 COMPONENT_EXPORT(URL)
33 BASE_DECLARE_FEATURE(kStandardCompliantNonSpecialSchemeURLParsing);
34 
35 }  // namespace url
36 
37 #endif  // URL_URL_FEATURES_H_
38