# 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() {
  # If debug_devtools is set to true, JavaScript files for DevTools are stored
  # as is and loaded from disk. Otherwise, a concatenated file is stored in
  # resources.pak. It is still possible to load JS files from disk by passing
  # --debug-devtools cmdline switch.
  debug_devtools = false
}

# Unhandled Tap enable means Contextual Search aka Tap to Search.
enable_unhandled_tap = is_android

use_default_render_theme = use_aura

# Use Minikin hyphenation engine.
use_minikin_hyphenation = is_android
