| # 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/chromeos/ui_mode.gni") |
| import("//tools/grit/grit_rule.gni") |
| import("//tools/grit/repack.gni") |
| import("//ui/webui/webui_features.gni") |
| |
| group("resources") { |
| public_deps = [ |
| ":ui_resources_grd", |
| ":ui_unscaled_resources_grd", |
| ":webui_resources_grd", |
| ] |
| } |
| |
| grit("ui_resources_grd") { |
| source = "ui_resources.grd" |
| outputs = [ |
| "grit/ui_resources.h", |
| "grit/ui_resources_map.cc", |
| "grit/ui_resources_map.h", |
| "ui_resources_100_percent.pak", |
| "ui_resources_200_percent.pak", |
| "ui_resources_300_percent.pak", |
| ] |
| } |
| |
| grit("ui_unscaled_resources_grd") { |
| source = "ui_unscaled_resources.grd" |
| outputs = [ |
| "grit/ui_unscaled_resources.h", |
| "ui_unscaled_resources.rc", |
| ] |
| } |
| |
| grit("webui_resources_grd") { |
| enable_input_discovery_for_gn_analyze = false |
| source = "$root_gen_dir/ui/webui/resources/webui_resources.grd" |
| deps = [ "//ui/webui/resources:build_grd" ] |
| |
| outputs = [ |
| "grit/webui_resources.h", |
| "grit/webui_resources_map.cc", |
| "grit/webui_resources_map.h", |
| "webui_resources.pak", |
| ] |
| } |
| |
| if (!is_mac) { |
| copy("copy_ui_resources_100_percent") { |
| sources = [ "$root_gen_dir/ui/resources/ui_resources_100_percent.pak" ] |
| outputs = [ "$root_out_dir/ui_resources_100_percent.pak" ] |
| deps = [ "//ui/resources" ] |
| } |
| } |
| |
| # On iOS and Mac the string resources need to go into a locale subfolder, which |
| # introduces an extra dependency. |
| if (is_apple) { |
| group("ui_test_pak") { |
| public_deps = [ |
| ":repack_ui_test_mac_locale_pack", |
| ":repack_ui_test_pak_100_percent", |
| ] |
| } |
| |
| # This needs to be a separate target from ui_test_pak as ui_base_unittests |
| # wants the generate .pak file in the bundle to be named en.lpro/locale.pak |
| # while components_unittests wants it to be named ui_test.pak. |
| bundle_data("ui_test_pak_bundle_data_locale") { |
| testonly = true |
| visibility = [ ":ui_test_pak_bundle_data" ] |
| public_deps = [ ":ui_test_pak" ] |
| sources = [ "$root_out_dir/ui_test.pak" ] |
| outputs = [ "{{bundle_resources_dir}}/en.lproj/locale.pak" ] |
| } |
| |
| bundle_data("ui_test_pak_bundle_data_test_pak") { |
| testonly = true |
| visibility = [ ":ui_test_pak_bundle_data" ] |
| public_deps = [ ":ui_test_pak" ] |
| sources = [ "$root_out_dir/ui_test.pak" ] |
| outputs = [ "{{bundle_resources_dir}}/ui_test.pak" ] |
| } |
| |
| bundle_data("ui_test_pak_bundle_data_100_percent") { |
| testonly = true |
| visibility = [ ":ui_test_pak_bundle_data" ] |
| public_deps = [ ":ui_test_pak" ] |
| sources = [ "$root_out_dir/ui_test.pak" ] |
| outputs = [ "{{bundle_resources_dir}}/chrome_100_percent.pak" ] |
| } |
| |
| group("ui_test_pak_bundle_data") { |
| testonly = true |
| public_deps = [ |
| ":ui_test_pak_bundle_data_100_percent", |
| ":ui_test_pak_bundle_data_locale", |
| ":ui_test_pak_bundle_data_test_pak", |
| ] |
| } |
| } else { |
| copy("ui_test_pak") { |
| sources = [ "$root_out_dir/ui_test.pak" ] |
| outputs = [ "$root_out_dir/ui/en-US.pak" ] |
| public_deps = [ ":repack_ui_test_pak_100_percent" ] |
| } |
| } |
| |
| # This group exists just for targets that need the data file to exist in the |
| # build directory so it can be loaded for test purposes. If a target requires |
| # 200 percent resources it should also depend on ui_test_pak_data_200_percent. |
| group("ui_test_pak_data") { |
| data_deps = [ ":repack_ui_test_pak_100_percent" ] |
| } |
| |
| group("ui_test_pak_data_200_percent") { |
| data_deps = [ ":repack_ui_test_pak_200_percent" ] |
| } |
| |
| repack("repack_ui_test_pak_100_percent") { |
| # Depend on ui_test_pak or ui_test_pak_data instead of this one. |
| visibility = [ |
| ":ui_test_pak", |
| ":ui_test_pak_data", |
| ] |
| |
| sources = [ |
| "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", |
| "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", |
| "$root_gen_dir/ui/resources/webui_resources.pak", |
| "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak", |
| "$root_gen_dir/ui/strings/ax_strings_en-US.pak", |
| "$root_gen_dir/ui/strings/ui_strings_en-US.pak", |
| ] |
| |
| output = "$root_out_dir/ui_test.pak" |
| |
| deps = [ |
| "//mojo/public/js:resources", |
| "//ui/resources", |
| "//ui/strings", |
| ] |
| |
| if (!is_ios) { |
| deps += [ "//third_party/blink/public:resources_grit" ] |
| } |
| |
| if (!is_mac) { |
| deps += [ ":copy_ui_resources_100_percent" ] |
| } |
| |
| if (is_chromeos) { |
| sources += |
| [ "$root_gen_dir/ui/chromeos/strings/ui_chromeos_strings_en-US.pak" ] |
| deps += [ "//ui/chromeos/strings" ] |
| } |
| |
| if (is_chromeos_ash) { |
| sources += [ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_100_percent.pak" ] |
| deps += [ "//ui/chromeos/resources" ] |
| } |
| |
| if (toolkit_views) { |
| deps += [ "//ui/views/resources" ] |
| sources += [ |
| "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", |
| "$root_gen_dir/ui/views/resources/views_resources_100_percent.pak", |
| ] |
| } |
| } |
| |
| repack("repack_ui_test_pak_200_percent") { |
| visibility = [ ":ui_test_pak_data_200_percent" ] |
| |
| sources = [ "$root_gen_dir/ui/resources/ui_resources_200_percent.pak" ] |
| |
| output = "$root_out_dir/ui_test_200_percent.pak" |
| |
| deps = [ "//ui/resources" ] |
| |
| if (toolkit_views) { |
| deps += [ "//ui/views/resources" ] |
| sources += |
| [ "$root_gen_dir/ui/views/resources/views_resources_200_percent.pak" ] |
| } |
| } |
| |
| # Repack just the strings for the framework locales on Mac and iOS. This |
| # emulates repack_locales(), but just for en-US. Note ui_test.pak is not simply |
| # copied, because it causes leaks from allocations within system libraries when |
| # trying to load non-string resources. http://crbug.com/413034. |
| repack("repack_ui_test_mac_locale_pack") { |
| visibility = [ ":ui_test_pak" ] |
| |
| sources = [ |
| "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak", |
| "$root_gen_dir/ui/strings/ax_strings_en-US.pak", |
| "$root_gen_dir/ui/strings/ui_strings_en-US.pak", |
| ] |
| |
| output = "$root_out_dir/ui/en.lproj/locale.pak" |
| |
| deps = [ "//ui/strings" ] |
| } |