1# Copyright 2016 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 5import("//build/config/cronet/config.gni") 6import("//build/config/features.gni") 7 8declare_args() { 9 # Disables support for file URLs. File URL support requires use of icu. 10 # Cronet does not support file URLs. 11 disable_file_support = is_cronet_build 12 13 # WebSockets and socket stream code are not used when blink is not used 14 # and are optional in cronet. 15 enable_websockets = use_blink 16 17 # Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia 18 # and Chromecast, at least for now. This feature needs configuration 19 # (krb5.conf and so on). 20 # TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there. 21 use_kerberos = !is_ios && !is_fuchsia && !is_castos && !is_cast_android 22 23 # Do not disable brotli filter by default. 24 disable_brotli_filter = false 25 26 # Do not disable zstd filter by default, except for Cronet builds. 27 disable_zstd_filter = is_cronet_build 28 29 # Multicast DNS. 30 enable_mdns = is_win || is_linux || is_chromeos || is_fuchsia || is_apple 31 32 # Reporting not used on iOS. 33 enable_reporting = !is_ios 34 35 # Includes the transport security state preload list. This list includes 36 # mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant 37 # set of hardcoded domains. While this list has a several hundred KB of binary 38 # size footprint, this flag should not be disabled unless the embedder is 39 # willing to take the responsibility to make sure that all important 40 # connections use HTTPS. 41 include_transport_security_state_preload_list = true 42 43 # Platforms for which certificate verification can be performed either using 44 # the builtin cert verifier with the Chrome Root Store, or with the platform 45 # verifier. 46 # 47 # Currently this is used only for Android because WebView does not use the 48 # builtin cert verifier, but uses the Android cert verifier. 49 chrome_root_store_optional = is_android && !is_cronet_build 50 51 # Platforms for which certificate verification can only be performed using 52 # the builtin cert verifier with the Chrome Root Store. 53 chrome_root_store_only = is_win || is_mac || is_linux || is_chromeos 54 55 # DBSC is only supported on windows for now 56 enable_device_bound_sessions = is_win 57} 58 59assert(!chrome_root_store_optional || !chrome_root_store_only, 60 "at most one of chrome_root_store_optional and chrome_root_store_only " + 61 "may be true") 62 63# Needs to be in a separate declare_args since it refers to args set in the 64# previous declare_args block. 65declare_args() { 66 # All platforms for which certificate verification can be performed using the 67 # builtin cert verifier with the Chrome Root Store. This includes both 68 # platforms where use of the Chrome Root Store is optional and platforms 69 # where it is the only supported method. 70 chrome_root_store_supported = 71 chrome_root_store_optional || chrome_root_store_only 72} 73