# Copyright 2016 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/cronet/config.gni") import("//build/config/features.gni") declare_args() { # Disables support for file URLs. File URL support requires use of icu. # Cronet does not support file URLs. disable_file_support = is_cronet_build # WebSockets and socket stream code are not used when blink is not used # and are optional in cronet. enable_websockets = use_blink # Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia # and Chromecast, at least for now. This feature needs configuration # (krb5.conf and so on). # TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there. use_kerberos = !is_ios && !is_fuchsia && !is_castos && !is_cast_android # Do not disable brotli filter by default. disable_brotli_filter = false # Do not disable zstd filter by default, except for Cronet builds. disable_zstd_filter = is_cronet_build # Multicast DNS. enable_mdns = is_win || is_linux || is_chromeos || is_fuchsia || is_apple # Reporting not used on iOS. enable_reporting = !is_ios # Includes the transport security state preload list. This list includes # mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant # set of hardcoded domains. While this list has a several hundred KB of binary # size footprint, this flag should not be disabled unless the embedder is # willing to take the responsibility to make sure that all important # connections use HTTPS. include_transport_security_state_preload_list = true # Platforms for which certificate verification can be performed either using # the builtin cert verifier with the Chrome Root Store, or with the platform # verifier. # # Currently this is used only for Android because WebView does not use the # builtin cert verifier, but uses the Android cert verifier. chrome_root_store_optional = false # Platforms for which certificate verification can only be performed using # the builtin cert verifier with the Chrome Root Store. chrome_root_store_only = is_win || is_mac || is_linux || is_chromeos || is_android # DBSC is only supported on windows for now enable_device_bound_sessions = is_win # Bracketed URIs parsing is only available for debug builds. # TODO(crbug.com/365771838): Ensure tests are updated if needed if this # feature is changed at all. enable_bracketed_proxy_uris = is_debug # General QUIC proxy support is only available for debug builds. # TODO(crbug.com/367400641): If flag is changed or removed, ensure all # TODOs for this bug are correctly modified. enable_quic_proxy_support = is_debug } assert(!chrome_root_store_optional || !chrome_root_store_only, "at most one of chrome_root_store_optional and chrome_root_store_only " + "may be true") # Needs to be in a separate declare_args since it refers to args set in the # previous declare_args block. declare_args() { # All platforms for which certificate verification can be performed using the # builtin cert verifier with the Chrome Root Store. This includes both # platforms where use of the Chrome Root Store is optional and platforms # where it is the only supported method. chrome_root_store_supported = chrome_root_store_optional || chrome_root_store_only }