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