| # 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", |
| ] |
| } |
| } |