# 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/ui.gni")

declare_args() {
  # Optional system library.
  use_xkbcommon = false

  # Whether the platform provides a native accessibility toolkit.
  has_native_accessibility = use_atk || is_win || is_mac

  # Whether the message center should be included for displaying notifications.
  enable_message_center = is_win || is_mac || is_linux || is_chromeos

  # Set to true to if mus (aka the window service) is enabled.
  enable_mus = is_chromeos
}

enable_hidpi = is_mac || is_win || is_linux
