# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/features.gni")

declare_args() {
  # If true, prune things down as needed for proto-quic build.
  is_proto_quic = false

  # Disables support for file URLs.  File URL support requires use of icu.
  disable_file_support = false

  # WebSockets and socket stream code are not used on iOS and are optional in
  # cronet.
  enable_websockets = !is_ios
  disable_ftp_support = is_ios || is_chromecast

  # 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). On Chrome OS it is only supported on Active
  # Directory managed devices.
  # TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there.
  use_kerberos = !is_ios && !is_chromecast && !is_fuchsia

  # Do not disable brotli filter by default.
  disable_brotli_filter = false

  # Multicast DNS.
  enable_mdns = is_win || is_linux

  # 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
}

declare_args() {
  enable_net_mojo = !is_ios && !is_proto_quic
}