blob: 2471836319f0d0c5fd757b2695466ab6476cbaea [file] [log] [blame]
# 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("//build/config/android/config.gni")
import("//build/config/features.gni")
import("//components/safe_browsing/buildflags.gni")
import("//components/supervised_user/buildflags.gni")
import("//pdf/features.gni")
import("//printing/buildflags/buildflags.gni")
import("//tools/grit/grit_rule.gni")
declare_args() {
# Generating the credits page requires a filesystem traversal for licenses
# that is slow in some environments.
generate_about_credits = is_official_build
}
if (is_android) {
import("//build/config/android/rules.gni")
}
if (is_ios) {
import("//build/config/ios/bundle_data_from_filelist.gni")
}
about_credits_file = "$target_gen_dir/about_credits.html"
group("resources") {
public_deps = [
":components_resources",
":components_scaled_resources",
":dev_ui_components_resources",
"../flags_ui/resources:resources",
"../version_ui/resources:resources",
]
}
grit("components_resources") {
source = "components_resources.grd"
inputs = [ about_credits_file ]
outputs = [
"grit/components_resources.h",
"components_resources.pak",
]
output_dir = "$root_gen_dir/components"
use_brotli = true
grit_flags = [
"-E",
"about_credits_file=" + rebase_path(about_credits_file, root_build_dir),
]
defines = [
"enable_pdf=$enable_pdf",
"enable_printing=$enable_printing",
"enable_print_preview=$enable_print_preview",
"enable_supervised_users=$enable_supervised_users",
"safe_browsing_mode=$safe_browsing_mode",
"is_fuchsia=$is_fuchsia",
"use_blink=$use_blink",
]
deps = [
":about_credits",
"//components/neterror/resources:bundle_js",
"//components/security_interstitials/content/resources:build_ts",
"//components/security_interstitials/core/browser/resources:bundle_js",
]
if (use_blink) {
deps += [ "//components/resources/ssl/ssl_error_assistant:make_ssl_error_assistant_protobuf" ]
}
if (safe_browsing_mode > 0) {
deps += [
"//components/safe_browsing/content/resources:make_file_types_protobuf",
]
}
if (is_android && safe_browsing_mode == 2) {
deps += [ "//components/safe_browsing/content/resources/real_time_url_checks_allowlist:make_real_time_url_allowlist_protobuf" ]
}
}
grit("dev_ui_components_resources") {
source = "dev_ui_components_resources.grd"
outputs = [
"grit/dev_ui_components_resources.h",
"dev_ui_components_resources.pak",
]
deps = [
"//components/crash/core/browser/resources:build_ts",
"//components/local_state:build",
]
output_dir = "$root_gen_dir/components"
}
grit("components_scaled_resources") {
source = "components_scaled_resources.grd"
outputs = [
"grit/components_scaled_resources.h",
"grit/components_scaled_resources_map.cc",
"grit/components_scaled_resources_map.h",
"components_resources_100_percent.pak",
"components_resources_200_percent.pak",
"components_resources_300_percent.pak",
]
output_dir = "$root_gen_dir/components"
}
if (generate_about_credits) {
action("about_credits") {
script = "//tools/licenses/licenses.py"
depfile = "$target_gen_dir/$target_name.d"
inputs = [
"../about_ui/resources/about_credits.tmpl",
"../about_ui/resources/about_credits_entry.tmpl",
"../about_ui/resources/about_credits_reciprocal.tmpl",
]
outputs = [ about_credits_file ]
args = [
"--target-os=$target_os",
"--depfile",
rebase_path(depfile, root_build_dir),
"credits",
rebase_path(about_credits_file, root_build_dir),
]
# Defined by downstream projects.
if (defined(extra_third_party_notice_dirs)) {
args += [ "--extra-third-party-dirs=$extra_third_party_notice_dirs" ]
}
}
} else {
copy("about_credits") {
sources = [ "sample_credits.html" ]
outputs = [ about_credits_file ]
}
}
if (is_android) {
source_set("android_resources") {
sources = [
"android/autofill_resource_id.h",
"android/blocked_content_resource_id.h",
"android/page_info_resource_id.h",
"android/permissions_resource_id.h",
"android/sms_resource_id.h",
"android/theme_resources.h",
"android/webxr_resource_id.h",
]
public_deps = [ "//device/vr/buildflags" ]
}
}
if (is_ios) {
bundle_data_from_filelist("terms_resources") {
# On iOS, the terms of service file need to be loaded from the application
# bundle, not from a datapack. As GetTermsOfServicePath() returns path to
# those files, they are added to the bundle resources dir.
filelist_name = "terms_resources.filelist"
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}
}