blob: 1d9b1bf142401b7042f9c080fa2b217ad699c6ab [file] [log] [blame]
# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//crypto/features.gni")
import("//tools/grit/grit_rule.gni")
import("//ui/webui/resources/tools/generate_grd.gni")
import("//ui/webui/webui_features.gni")
if (use_blink) {
import("//chrome/common/features.gni")
}
generate_grd("build_grd") {
grd_prefix = "webui"
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
input_files = [ "test_loader.html" ]
input_files_base_dir = rebase_path(".", "//")
if (is_linux) {
# Only need to include on Linux.
# - Android: Roboto-Regular and Roboto-Light is already available on
# Android, and Roboto-Medium is not used on Android.
# - CrOS: All 6 weights of Roboto are available on Chrome OS.
# - Win/Mac: Use system UI fonts for WebUI surfaces and don't need Roboto.
input_files += [
"roboto/roboto-bold.woff2",
"roboto/roboto-medium.woff2",
"roboto/roboto-regular.woff2",
]
}
public_deps = [
"cr_components/commerce:build_grdp",
"cr_elements:build_grdp",
"css:build_grdp",
"images:build_grdp",
"js:build_grdp",
"mojo:build_grdp",
"//third_party/lit/v3_0:build_grdp",
]
grdp_files = [
"$root_gen_dir/third_party/lit/v3_0/resources.grdp",
"$target_gen_dir/cr_components/commerce/resources.grdp",
"$target_gen_dir/cr_elements/resources.grdp",
"$target_gen_dir/css/resources.grdp",
"$target_gen_dir/images/resources.grdp",
"$target_gen_dir/js/resources.grdp",
"$target_gen_dir/mojo/resources.grdp",
]
if ((!is_android && !is_ios) || is_desktop_android) {
public_deps += [
"cr_components/cr_shortcut_input:build_grdp",
"cr_components/managed_footnote:build_grdp",
]
grdp_files += [
"$target_gen_dir/cr_components/cr_shortcut_input/resources.grdp",
"$target_gen_dir/cr_components/managed_footnote/resources.grdp",
]
}
if (!is_android && !is_ios) {
public_deps += [
"cr_components/app_management:build_grdp",
"cr_components/customize_color_scheme_mode:build_grdp",
"cr_components/help_bubble:build_grdp",
"cr_components/localized_link:build_grdp",
"cr_components/managed_dialog:build_grdp",
"cr_components/most_visited:build_grdp",
"cr_components/theme_color_picker:build_grdp",
"//third_party/d3:build_grdp",
"//third_party/polymer/v3_0:build_grdp",
]
grdp_files += [
"$root_gen_dir/third_party/d3/d3_resources.grdp",
"$root_gen_dir/third_party/polymer/v3_0/polymer_3_0_resources.grdp",
"$target_gen_dir/cr_components/app_management/resources.grdp",
"$target_gen_dir/cr_components/theme_color_picker/resources.grdp",
"$target_gen_dir/cr_components/customize_color_scheme_mode/resources.grdp",
"$target_gen_dir/cr_components/help_bubble/resources.grdp",
"$target_gen_dir/cr_components/localized_link/resources.grdp",
"$target_gen_dir/cr_components/managed_dialog/resources.grdp",
"$target_gen_dir/cr_components/most_visited/resources.grdp",
]
if (use_blink) {
if (use_nss_certs || chrome_root_store_cert_management_ui) {
public_deps += [ "cr_components/certificate_manager:build_grdp" ]
grdp_files += [
"$target_gen_dir/cr_components/certificate_manager/resources.grdp",
]
}
}
if (!is_android) {
public_deps += [
"cr_components/history:build_grdp",
"cr_components/history_clusters:build_grdp",
"cr_components/history_embeddings:build_grdp",
"cr_components/searchbox:build_grdp",
"cr_components/searchbox/icons:build_grdp",
]
grdp_files += [
"$target_gen_dir/cr_components/history/resources.grdp",
"$target_gen_dir/cr_components/history_clusters/resources.grdp",
"$target_gen_dir/cr_components/history_embeddings/resources.grdp",
"$target_gen_dir/cr_components/searchbox/resources.grdp",
"$target_gen_dir/cr_components/searchbox/icons/resources.grdp",
]
if (is_chrome_branded) {
public_deps +=
[ "cr_components/searchbox/icons:chrome_branded_build_grdp" ]
grdp_files += [ "$target_gen_dir/cr_components/searchbox/icons/chrome_branded_resources.grdp" ]
}
}
}
if (is_chromeos) {
# NOTE: Do not add any new Ash-only grdp files below.
# TODO(crbug.com/40233082): Move remaining Ash-only shared resources to
# ash/webui/common/resources:build_grd
public_deps += [ ":build_cros_styles_grdp" ]
grdp_files += [ "$target_gen_dir/cros_styles_resources.grdp" ]
}
if (!is_android && !is_ios) {
public_deps += [
"cr_components/color_change_listener:build_grdp",
"cr_components/page_image_service:build_grdp",
"//third_party/lottie:build_grdp",
]
grdp_files += [
"$root_gen_dir/third_party/lottie/resources.grdp",
"$root_gen_dir/ui/webui/resources/cr_components/color_change_listener/resources.grdp",
"$root_gen_dir/ui/webui/resources/cr_components/page_image_service/resources.grdp",
]
}
}
if (is_chromeos) {
generate_grd("build_cros_styles_grdp") {
grd_prefix = "webui"
out_grd = "$target_gen_dir/cros_styles_resources.grdp"
public_deps = [ "//ui/chromeos/styles:cros_styles_css" ]
input_files_base_dir = rebase_path("$root_gen_dir/", root_build_dir)
input_files = [ "ui/chromeos/styles/cros_styles.css" ]
resource_path_rewrites =
[ "ui/chromeos/styles/cros_styles.css|chromeos/colors/cros_styles.css" ]
}
}
grit("resources") {
enable_input_discovery_for_gn_analyze = false
source = "$target_gen_dir/webui_resources.grd"
deps = [ ":build_grd" ]
outputs = [
"grit/webui_resources.h",
"grit/webui_resources_map.cc",
"grit/webui_resources_map.h",
"webui_resources.pak",
]
grit_flags = [
"-E",
"add_filepath_to_resource_map=${load_webui_from_disk}",
]
}
if (enable_webui_generate_code_cache) {
generate_grd("build_code_cache_grd") {
grd_prefix = "webui_code_cache"
out_grd = "$target_gen_dir/${grd_prefix}_resources.grd"
grdp_files = [
"$root_gen_dir/mojo/public/js/code_cache_resources.grdp",
"$root_gen_dir/third_party/lit/v3_0/code_cache_resources.grdp",
"$root_gen_dir/third_party/polymer/v3_0/code_cache_resources.grdp",
"$target_gen_dir/cr_elements/code_cache_resources.grdp",
"$target_gen_dir/cr_components/color_change_listener/code_cache_resources.grdp",
"$target_gen_dir/cr_components/commerce/code_cache_resources.grdp",
"$target_gen_dir/cr_components/customize_color_scheme_mode/code_cache_resources.grdp",
"$target_gen_dir/cr_components/help_bubble/code_cache_resources.grdp",
"$target_gen_dir/cr_components/managed_dialog/code_cache_resources.grdp",
"$target_gen_dir/cr_components/theme_color_picker/code_cache_resources.grdp",
]
public_deps = [
"cr_components/color_change_listener:build_code_cache_grdp",
"cr_components/commerce:build_code_cache_grdp",
"cr_components/customize_color_scheme_mode:build_code_cache_grdp",
"cr_components/help_bubble:build_code_cache_grdp",
"cr_components/managed_dialog:build_code_cache_grdp",
"cr_components/theme_color_picker:build_code_cache_grdp",
"cr_elements:build_code_cache_grdp",
"//mojo/public/js:build_code_cache_grdp",
"//third_party/lit/v3_0:build_code_cache_grdp",
"//third_party/polymer/v3_0:build_code_cache_grdp",
]
}
grit("code_cache_resources") {
enable_input_discovery_for_gn_analyze = false
source = "$target_gen_dir/webui_code_cache_resources.grd"
deps = [ ":build_code_cache_grd" ]
outputs = [
"grit/webui_code_cache_resources.h",
"grit/webui_code_cache_resources_map.cc",
"grit/webui_code_cache_resources_map.h",
"webui_code_cache_resources.pak",
]
}
}