# 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("//ash/webui/media_app_ui/media_app_ui.gni")
import("//build/config/chromecast_build.gni")

# Most build code won't need to include this file. Instead you can
# unconditionally depend on "//pdf" which will be a no-op when PDF support is
# disabled.

declare_args() {
  # Enable ink libraries provided by the ChromeOS media app dependency.
  #
  # This argument indicates whether the ink libraries provided by the ChromeOS
  # media app dependency is enabled. It also determines whether the annotation
  # feature is enabled for the PDF viewer.
  enable_ink = enable_cros_media_app

  enable_pdf = !is_android && !is_ios && !is_castos
}
