| # 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. |
| disable_file_support = false |
| |
| # WebSockets and socket stream code are not used when blink is not used |
| # and are optional in cronet. |
| enable_websockets = use_blink || true |
| |
| # 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 && false |
| |
| # Do not disable brotli filter by default. |
| disable_brotli_filter = false |
| |
| # 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 = false |
| |
| # Platforms where the cert verifier comparison trial is supported. |
| # See https://crbug.com/649026. |
| trial_comparison_cert_verifier_supported = |
| (is_android && !is_cronet_build) || is_linux || is_chromeos |
| |
| # Platforms for which certificate verification can be performed using the |
| # builtin cert verifier with the Chrome Root Store, and this can be |
| # configured using the ChromeRootStoreUsed feature flag. When the feature |
| # flag is false, verification may be done with the platform verifier or the |
| # builtin verifier using platform roots, depending on the platform. |
| # See https://crbug.com/1216547 for status. |
| chrome_root_store_optional = |
| ((is_android && !is_cronet_build) || is_linux || is_chromeos) && !is_starboard |
| |
| # 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_starboard |
| } |
| |
| 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 |
| } |