blob: 10bc8d313bd09731b78deba3d0d7249ea958a8e0 [file] [log] [blame]
# 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
# 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
# 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 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
# 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
}
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
}