# Copyright 2018 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() {
  # Optimize parts of Chrome's UI written with web technologies (HTML/CSS/JS)
  # for runtime performance purposes. This does more work at compile time for
  # speed benefits at runtime (so we skip in debug builds).
  optimize_webui = !is_debug

  # Enable closure type-checking for Chrome's web technology-based UI. This
  # enables the webui_closure_compile target which does a no-op without this
  # flag enabled. Requires Java.
  closure_compile = is_chromeos || is_linux || is_android
}
