# Copyright 2017 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.

declare_args() {
  # Control whether cronet is build (this is usually set by the script
  # components/cronet/tools/cr_cronet.py as cronet requires specific
  # gn args to build correctly).
  is_cronet_build = false

  # Control whether only WebKit is build. This is used by bots building
  # WebKit for mac but incorrectly setting `target_os="ios"`.
  is_webkit_only_build = false

  # Controls whether universal links are blocked from opening native apps
  # when the user is browsing in off the record mode.
  block_universal_links_in_off_the_record_mode = true

  # Controls whether unreleased WebKit native session restore is built.
  webkit_session_restore = false
}
