chromium/ash/resources/BUILD.gn

# Copyright 2014 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/ambient/resources/resources.gni")
import("//build/config/chrome_build.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//chromeos/ash/components/scalable_iph/scalable_iph.gni")
import("//tools/grit/repack.gni")
import("//ui/base/ui_features.gni")

assert(is_chromeos_ash)

assert(enable_hidpi)

repack("ash_test_resources_unscaled") {
  output = "$root_build_dir/ash_test_resources_unscaled.pak"
  sources = [
    "$root_gen_dir/ash/public/cpp/resources/ash_public_unscaled_resources.pak",
    "$root_gen_dir/ash/system/mahi/resources/mahi_resources.pak",
    "$root_gen_dir/ash/system/video_conference/resources/vc_resources.pak",
  ]
  deps = [
    "//ash/public/cpp/resources:ash_public_unscaled_resources",
    "//ash/system/mahi/resources:mahi_resources",
    "//ash/system/video_conference/resources:vc_resources",
  ]

  if (include_ash_ambient_animation_resources) {
    sources += [
      "$root_gen_dir/ash/ambient/resources/ash_ambient_lottie_resources.pak",
    ]
    deps += [ "//ash/ambient/resources:lottie_resources" ]
  }

  if (enable_cros_scalable_iph) {
    sources += [ "$root_gen_dir/chromeos/ash/ash_resources.pak" ]
    deps += [ "//chromeos/ash/resources" ]
  }
}

# Repacks resources needed for ash_unittests, etc. at a given scale.
# TODO(msw): Use ui_test.pak instead of its pieces? (no 200% support?)
template("ash_test_resources") {
  percent = invoker.percent

  repack("ash_test_resources_${target_name}") {
    output = "$root_build_dir/${target_name}.pak"

    sources = [
      "$root_gen_dir/ash/login/resources/login_resources_${percent}_percent.pak",
      "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${percent}_percent.pak",
      "$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
      "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak",
    ]

    if (percent == "100") {
      sources += [
        "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
        "$root_gen_dir/ui/resources/webui_resources.pak",
      ]
    }

    if (defined(invoker.sources)) {
      sources += invoker.sources
    }

    deps = [
      "//ash/login/resources",
      "//mojo/public/js:resources",
      "//ui/chromeos/resources",
      "//ui/resources",
      "//ui/views/resources",
    ]

    if (defined(invoker.deps)) {
      deps += invoker.deps
    }

    if (is_chrome_branded) {
      sources += [ "$root_gen_dir/chromeos/ash/resources/internal/ash_internal_resources_${percent}_percent.pak" ]
      deps +=
          [ "//chromeos/ash/resources/internal:ash_internal_scaled_resources" ]
    }

    if (percent == "100") {
      # TODO(msw): This seems bad, but follows repack_ui_test_pak's example.
      deps += [ "//third_party/blink/public:resources_grit" ]
      sources += [
        "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
      ]
    }
  }
}

ash_test_resources("100_percent") {
  percent = "100"
}

ash_test_resources("200_percent") {
  percent = "200"
}