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