• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 using the
44  # builtin cert verifier with the Chrome Root Store, and this can be
45  # configured using the ChromeRootStoreUsed feature flag. When the feature
46  # flag is false, verification may be done with the platform verifier or the
47  # builtin verifier using platform roots, depending on the platform.
48  # See https://crbug.com/1216547 for status.
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
56assert(!chrome_root_store_optional || !chrome_root_store_only,
57       "at most one of chrome_root_store_optional and chrome_root_store_only " +
58           "may be true")
59
60# Needs to be in a separate declare_args since it refers to args set in the
61# previous declare_args block.
62declare_args() {
63  # All platforms for which certificate verification can be performed using the
64  # builtin cert verifier with the Chrome Root Store. This includes both
65  # platforms where use of the Chrome Root Store is optional and platforms
66  # where it is the only supported method.
67  chrome_root_store_supported =
68      chrome_root_store_optional || chrome_root_store_only
69}
70