chrome_paks.gni 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. # Copyright 2016 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//ash/ambient/resources/resources.gni")
  5. import("//build/config/chromeos/ui_mode.gni")
  6. import("//build/config/locales.gni")
  7. import("//chrome/browser/buildflags.gni")
  8. import("//chrome/common/features.gni")
  9. import("//chromeos/components/chromebox_for_meetings/buildflags/buildflags.gni")
  10. import("//extensions/buildflags/buildflags.gni")
  11. import("//pdf/features.gni")
  12. import("//ui/base/ui_features.gni")
  13. import("chrome_repack_locales.gni")
  14. # Generates a rule to repack a set of resources, substituting a given string
  15. # in for the percentage (e.g. "100", "200"). It generates the repacked files in
  16. # the "gen" directory, and then introduces a copy rule to copy it to the root
  17. # build directory.
  18. #
  19. # Argument:
  20. # percent [required]
  21. # String to substitute for the percentage.
  22. template("chrome_repack_percent") {
  23. percent = invoker.percent
  24. repack(target_name) {
  25. forward_variables_from(invoker,
  26. [
  27. "copy_data_to_bundle",
  28. "mark_as_data",
  29. "repack_allowlist",
  30. "visibility",
  31. ])
  32. # All sources should also have deps for completeness.
  33. sources = [
  34. "$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak",
  35. "$root_gen_dir/chrome/theme_resources_${percent}_percent.pak",
  36. "$root_gen_dir/components/components_resources_${percent}_percent.pak",
  37. "$root_gen_dir/content/app/resources/content_resources_${percent}_percent.pak",
  38. "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_${percent}_percent.pak",
  39. "$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
  40. ]
  41. deps = [
  42. "//chrome/app/theme:theme_resources",
  43. "//chrome/renderer:resources",
  44. "//components/resources",
  45. "//components/strings",
  46. "//content/app/resources",
  47. "//net:net_resources",
  48. "//third_party/blink/public:scaled_resources_${percent}_percent",
  49. "//ui/resources",
  50. ]
  51. if (defined(invoker.deps)) {
  52. deps += invoker.deps
  53. }
  54. if (toolkit_views) {
  55. sources += [ "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak" ]
  56. deps += [ "//ui/views/resources" ]
  57. }
  58. if (is_chromeos_ash) {
  59. sources += [
  60. "$root_gen_dir/ash/app_list/resources/app_list_resources_${percent}_percent.pak",
  61. "$root_gen_dir/ash/login/resources/login_resources_${percent}_percent.pak",
  62. "$root_gen_dir/chrome/app_icon_resources_${percent}_percent.pak",
  63. "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${percent}_percent.pak",
  64. ]
  65. deps += [
  66. "//ash/app_list/resources",
  67. "//ash/login/resources",
  68. "//chrome/browser/resources/chromeos:app_icon_resources",
  69. "//ui/chromeos/resources",
  70. ]
  71. }
  72. if (enable_extensions) {
  73. sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ]
  74. deps += [ "//extensions:extensions_browser_resources" ]
  75. }
  76. output = "${invoker.output_dir}/nw_${percent}_percent.pak"
  77. }
  78. }
  79. template("chrome_extra_paks") {
  80. repack(target_name) {
  81. forward_variables_from(invoker,
  82. [
  83. "copy_data_to_bundle",
  84. "mark_as_data",
  85. "repack_allowlist",
  86. "visibility",
  87. ])
  88. output = "${invoker.output_dir}/resources.pak"
  89. sources = [
  90. "$root_gen_dir/base/tracing/protos/tracing_proto_resources.pak",
  91. "$root_gen_dir/chrome/browser_resources.pak",
  92. "$root_gen_dir/chrome/chrome_unscaled_resources.pak",
  93. "$root_gen_dir/chrome/common_resources.pak",
  94. "$root_gen_dir/chrome/segmentation_internals_resources.pak",
  95. "$root_gen_dir/components/autofill/core/browser/autofill_address_rewriter_resources.pak",
  96. "$root_gen_dir/components/components_resources.pak",
  97. "$root_gen_dir/content/content_resources.pak",
  98. "$root_gen_dir/content/quota_internals_resources.pak",
  99. "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
  100. "$root_gen_dir/net/net_resources.pak",
  101. "$root_gen_dir/skia/skia_resources.pak",
  102. "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
  103. "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
  104. "$root_gen_dir/ui/resources/webui_generated_resources.pak",
  105. ]
  106. deps = [
  107. "//base/tracing/protos:chrome_track_event_resources",
  108. "//chrome/app/theme:chrome_unscaled_resources",
  109. "//chrome/browser:resources",
  110. "//chrome/browser/resources/segmentation_internals:resources",
  111. "//chrome/common:resources",
  112. "//components/autofill/core/browser:autofill_address_rewriter_resources",
  113. "//components/history_clusters/history_clusters_internals/resources",
  114. "//components/optimization_guide/optimization_guide_internals/resources",
  115. "//components/resources",
  116. "//content:content_resources",
  117. "//content/browser/resources/quota:resources",
  118. "//mojo/public/js:resources",
  119. "//net:net_resources",
  120. "//skia:skia_resources",
  121. "//third_party/blink/public:devtools_inspector_resources",
  122. "//third_party/blink/public:resources",
  123. "//ui/resources",
  124. ]
  125. if (defined(invoker.deps)) {
  126. deps += invoker.deps
  127. }
  128. if (defined(invoker.additional_paks)) {
  129. sources += invoker.additional_paks
  130. }
  131. if (nwjs_sdk) {
  132. sources += [
  133. "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
  134. "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
  135. ]
  136. }
  137. if (!is_android) {
  138. # New paks should be added here by default.
  139. sources += [
  140. "$root_gen_dir/chrome/access_code_cast_resources.pak",
  141. "$root_gen_dir/chrome/app_service_internals_resources.pak",
  142. "$root_gen_dir/chrome/bookmarks_resources.pak",
  143. "$root_gen_dir/chrome/commander_resources.pak",
  144. "$root_gen_dir/chrome/component_extension_resources.pak",
  145. "$root_gen_dir/chrome/dev_ui_resources.pak",
  146. "$root_gen_dir/chrome/download_shelf_resources.pak",
  147. "$root_gen_dir/chrome/downloads_resources.pak",
  148. "$root_gen_dir/chrome/feed_resources.pak",
  149. "$root_gen_dir/chrome/feedback_webui_resources.pak",
  150. "$root_gen_dir/chrome/gaia_auth_host_resources.pak",
  151. "$root_gen_dir/chrome/history_resources.pak",
  152. "$root_gen_dir/chrome/image_editor_resources.pak",
  153. "$root_gen_dir/chrome/image_editor_untrusted_resources.pak",
  154. "$root_gen_dir/chrome/management_resources.pak",
  155. "$root_gen_dir/chrome/new_tab_page_instant_resources.pak",
  156. "$root_gen_dir/chrome/new_tab_page_resources.pak",
  157. "$root_gen_dir/chrome/new_tab_page_third_party_resources.pak",
  158. "$root_gen_dir/chrome/privacy_sandbox_resources.pak",
  159. "$root_gen_dir/chrome/settings_resources.pak",
  160. "$root_gen_dir/chrome/side_panel_resources.pak",
  161. "$root_gen_dir/chrome/signin_resources.pak",
  162. "$root_gen_dir/chrome/support_tool_resources.pak",
  163. "$root_gen_dir/chrome/tab_search_resources.pak",
  164. "$root_gen_dir/chrome/webid_resources_100_percent.pak",
  165. "$root_gen_dir/chrome/whats_new_resources.pak",
  166. ]
  167. deps += [
  168. "//chrome/browser/resources:component_extension_resources",
  169. "//chrome/browser/resources:dev_ui_paks",
  170. "//chrome/browser/resources:webid_resources",
  171. "//chrome/browser/resources/access_code_cast:resources",
  172. "//chrome/browser/resources/app_service_internals:resources",
  173. "//chrome/browser/resources/bookmarks:resources",
  174. "//chrome/browser/resources/commander:resources",
  175. "//chrome/browser/resources/download_shelf:resources",
  176. "//chrome/browser/resources/downloads:resources",
  177. "//chrome/browser/resources/feed:resources",
  178. "//chrome/browser/resources/feedback_webui:resources",
  179. "//chrome/browser/resources/gaia_auth_host:resources",
  180. "//chrome/browser/resources/history:resources",
  181. "//chrome/browser/resources/image_editor:trusted_resources",
  182. "//chrome/browser/resources/image_editor:untrusted_resources",
  183. "//chrome/browser/resources/management:resources",
  184. "//chrome/browser/resources/new_tab_page:resources",
  185. "//chrome/browser/resources/new_tab_page_instant:resources",
  186. "//chrome/browser/resources/new_tab_page_third_party:resources",
  187. "//chrome/browser/resources/privacy_sandbox:resources",
  188. "//chrome/browser/resources/settings:resources",
  189. "//chrome/browser/resources/side_panel:resources",
  190. "//chrome/browser/resources/signin:resources",
  191. "//chrome/browser/resources/support_tool:resources",
  192. "//chrome/browser/resources/tab_search:resources",
  193. "//chrome/browser/resources/whats_new:resources",
  194. "//content/browser/devtools:devtools_resources",
  195. "//content/browser/tracing:resources",
  196. ]
  197. if (is_chrome_branded) {
  198. sources += [
  199. "$root_gen_dir/chrome/media_router_feedback_resources.pak",
  200. "$root_gen_dir/chrome/preinstalled_web_apps_resources.pak",
  201. ]
  202. deps += [
  203. "//chrome/browser/resources:preinstalled_web_apps_resources",
  204. "//chrome/browser/resources/media_router:cast_feedback_ui_resources",
  205. ]
  206. }
  207. }
  208. if (is_chromeos_ash) {
  209. sources += [
  210. "$root_gen_dir/ash/ash_resources.pak",
  211. "$root_gen_dir/ash/public/cpp/resources/ash_public_unscaled_resources.pak",
  212. "$root_gen_dir/ash/webui/ash_camera_app_resources.pak",
  213. "$root_gen_dir/ash/webui/ash_color_internals_resources.pak",
  214. "$root_gen_dir/ash/webui/ash_diagnostics_app_resources.pak",
  215. "$root_gen_dir/ash/webui/ash_eche_app_resources.pak",
  216. "$root_gen_dir/ash/webui/ash_eche_bundle_resources.pak",
  217. "$root_gen_dir/ash/webui/ash_firmware_update_app_resources.pak",
  218. "$root_gen_dir/ash/webui/ash_help_app_resources.pak",
  219. "$root_gen_dir/ash/webui/ash_media_app_resources.pak",
  220. "$root_gen_dir/ash/webui/ash_multidevice_debug_resources.pak",
  221. "$root_gen_dir/ash/webui/ash_os_feedback_resources.pak",
  222. "$root_gen_dir/ash/webui/ash_os_feedback_untrusted_resources.pak",
  223. "$root_gen_dir/ash/webui/ash_personalization_app_resources.pak",
  224. "$root_gen_dir/ash/webui/ash_print_management_resources.pak",
  225. "$root_gen_dir/ash/webui/ash_projector_app_trusted_resources.pak",
  226. "$root_gen_dir/ash/webui/ash_projector_app_untrusted_resources.pak",
  227. "$root_gen_dir/ash/webui/ash_scanning_app_resources.pak",
  228. "$root_gen_dir/ash/webui/ash_shimless_rma_resources.pak",
  229. "$root_gen_dir/ash/webui/ash_shortcut_customization_app_resources.pak",
  230. "$root_gen_dir/ash/webui/ash_system_extensions_internals_resources.pak",
  231. "$root_gen_dir/ash/webui/connectivity_diagnostics_resources.pak",
  232. "$root_gen_dir/ash/webui/file_manager/resources/file_manager_swa_resources.pak",
  233. "$root_gen_dir/ash/webui/file_manager/untrusted_resources/file_manager_untrusted_resources.pak",
  234. "$root_gen_dir/chrome/arc_account_picker_resources.pak",
  235. "$root_gen_dir/chrome/assistant_optin_resources.pak",
  236. "$root_gen_dir/chrome/audio_resources.pak",
  237. "$root_gen_dir/chrome/bluetooth_pairing_dialog_resources.pak",
  238. "$root_gen_dir/chrome/browser/supervised_user/supervised_user_unscaled_resources.pak",
  239. "$root_gen_dir/chrome/common/chromeos/extensions/chromeos_system_extensions_resources.pak",
  240. "$root_gen_dir/chrome/emoji_picker_resources.pak",
  241. "$root_gen_dir/chrome/internet_config_dialog_resources.pak",
  242. "$root_gen_dir/chrome/internet_detail_dialog_resources.pak",
  243. "$root_gen_dir/chrome/launcher_internals_resources.pak",
  244. "$root_gen_dir/chrome/multidevice_internals_resources.pak",
  245. "$root_gen_dir/chrome/multidevice_setup_resources.pak",
  246. "$root_gen_dir/chrome/nearby_internals_resources.pak",
  247. "$root_gen_dir/chrome/nearby_share_dialog_resources.pak",
  248. "$root_gen_dir/chrome/network_ui_resources.pak",
  249. "$root_gen_dir/chrome/oobe_conditional_resources.pak",
  250. "$root_gen_dir/chrome/oobe_unconditional_resources.pak",
  251. "$root_gen_dir/chrome/os_settings_resources.pak",
  252. "$root_gen_dir/chromeos/chromeos_help_app_bundle_resources.pak",
  253. "$root_gen_dir/chromeos/chromeos_help_app_kids_magazine_bundle_resources.pak",
  254. "$root_gen_dir/chromeos/chromeos_media_app_bundle_resources.pak",
  255. "$root_gen_dir/chromeos/chromeos_projector_app_bundle_resources.pak",
  256. "$root_gen_dir/chromeos/chromeos_resources.pak",
  257. "$root_gen_dir/components/arc/input_overlay_resources.pak",
  258. "$root_gen_dir/ui/file_manager/file_manager_gen_resources.pak",
  259. "$root_gen_dir/ui/file_manager/file_manager_resources.pak",
  260. ]
  261. deps += [
  262. "//ash/components/arc/input_overlay/resources",
  263. "//ash/public/cpp/resources:ash_public_unscaled_resources",
  264. "//ash/resources:resources_grit",
  265. "//ash/webui/file_manager/resources:file_manager_swa_resources",
  266. "//ash/webui/file_manager/untrusted_resources:file_manager_untrusted_resources",
  267. "//ash/webui/resources:camera_app_resources",
  268. "//ash/webui/resources:color_internals_resources",
  269. "//ash/webui/resources:connectivity_diagnostics_resources",
  270. "//ash/webui/resources:diagnostics_app_resources",
  271. "//ash/webui/resources:eche_app_resources",
  272. "//ash/webui/resources:eche_bundle_resources",
  273. "//ash/webui/resources:firmware_update_app_resources",
  274. "//ash/webui/resources:help_app_bundle_resources",
  275. "//ash/webui/resources:help_app_kids_magazine_bundle_resources",
  276. "//ash/webui/resources:help_app_resources",
  277. "//ash/webui/resources:media_app_bundle_resources",
  278. "//ash/webui/resources:media_app_resources",
  279. "//ash/webui/resources:multidevice_debug_resources",
  280. "//ash/webui/resources:os_feedback_resources",
  281. "//ash/webui/resources:os_feedback_untrusted_resources",
  282. "//ash/webui/resources:personalization_app_resources",
  283. "//ash/webui/resources:print_management_resources",
  284. "//ash/webui/resources:projector_app_bundle_resources",
  285. "//ash/webui/resources:projector_app_trusted_resources",
  286. "//ash/webui/resources:projector_app_untrusted_resources",
  287. "//ash/webui/resources:scanning_app_resources",
  288. "//ash/webui/resources:shimless_rma_resources",
  289. "//ash/webui/resources:shortcut_customization_app_resources",
  290. "//ash/webui/resources:system_extensions_internals_resources",
  291. "//chrome/browser/resources:bluetooth_pairing_dialog_resources",
  292. "//chrome/browser/resources:internet_config_dialog_resources",
  293. "//chrome/browser/resources:internet_detail_dialog_resources",
  294. "//chrome/browser/resources/chromeos:multidevice_setup_resources",
  295. "//chrome/browser/resources/chromeos/arc_account_picker:resources",
  296. "//chrome/browser/resources/chromeos/assistant_optin:resources",
  297. "//chrome/browser/resources/chromeos/audio:resources",
  298. "//chrome/browser/resources/chromeos/emoji_picker:resources",
  299. "//chrome/browser/resources/chromeos/launcher_internals:resources",
  300. "//chrome/browser/resources/chromeos/login:conditional_resources",
  301. "//chrome/browser/resources/chromeos/login:unconditional_resources",
  302. "//chrome/browser/resources/chromeos/multidevice_internals:resources",
  303. "//chrome/browser/resources/chromeos/network_ui:resources",
  304. "//chrome/browser/resources/nearby_internals:resources",
  305. "//chrome/browser/resources/nearby_share:resources",
  306. "//chrome/browser/resources/settings/chromeos:resources",
  307. "//chrome/browser/supervised_user:supervised_user_unscaled_resources",
  308. "//chrome/common/chromeos/extensions:resources",
  309. "//chromeos/resources",
  310. "//ui/file_manager:file_manager_gen_resources",
  311. "//ui/file_manager:resources",
  312. ]
  313. if (!is_official_build) {
  314. sources += [
  315. "$root_gen_dir/ash/webui/ash_demo_mode_app_resources.pak",
  316. "$root_gen_dir/ash/webui/ash_sample_system_web_app_resources.pak",
  317. "$root_gen_dir/ash/webui/ash_sample_system_web_app_untrusted_resources.pak",
  318. ]
  319. deps += [
  320. "//ash/webui/resources:demo_mode_app_resources",
  321. "//ash/webui/resources:sample_system_web_app_resources",
  322. "//ash/webui/resources:sample_system_web_app_untrusted_resources",
  323. ]
  324. }
  325. if (include_ash_ambient_animation_resources) {
  326. sources += [ "$root_gen_dir/ash/ambient/resources/ash_ambient_lottie_resources.pak" ]
  327. deps += [ "//ash/ambient/resources:lottie_resources" ]
  328. }
  329. }
  330. if (is_linux || is_chromeos) {
  331. sources += [ "$root_gen_dir/chrome/webui_js_error_resources.pak" ]
  332. deps += [ "//chrome/browser/resources/webui_js_error:resources" ]
  333. }
  334. if (!is_android && !is_chromeos_ash) {
  335. sources += [
  336. "$root_gen_dir/chrome/apps_resources.pak",
  337. "$root_gen_dir/chrome/profile_picker_resources.pak",
  338. "$root_gen_dir/chrome/welcome_resources.pak",
  339. ]
  340. deps += [
  341. "//chrome/browser/resources/ntp4:apps_resources",
  342. "//chrome/browser/resources/signin/profile_picker:resources",
  343. "//chrome/browser/resources/welcome:resources",
  344. ]
  345. }
  346. if (is_win || is_mac || is_linux) {
  347. sources += [ "$root_gen_dir/chrome/app_settings_resources.pak" ]
  348. deps += [ "//chrome/browser/resources/app_settings:resources" ]
  349. }
  350. if (is_win || is_mac || is_linux || is_chromeos_ash) {
  351. sources += [ "$root_gen_dir/chrome/connectors_internals_resources.pak" ]
  352. deps += [ "//chrome/browser/resources/connectors_internals:resources" ]
  353. }
  354. if (is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia) {
  355. sources += [ "$root_gen_dir/chrome/browser_switch_resources.pak" ]
  356. deps += [ "//chrome/browser/resources/browser_switch:resources" ]
  357. }
  358. if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
  359. sources += [ "$root_gen_dir/chrome/discards_resources.pak" ]
  360. deps += [ "//chrome/browser/resources/discards:resources" ]
  361. }
  362. if (enable_extensions) {
  363. sources += [
  364. "$root_gen_dir/chrome/extensions_resources.pak",
  365. "$root_gen_dir/chrome/sync_file_system_internals_resources.pak",
  366. "$root_gen_dir/extensions/extensions_renderer_resources.pak",
  367. "$root_gen_dir/extensions/extensions_resources.pak",
  368. ]
  369. deps += [
  370. "//chrome/browser/resources/extensions:resources",
  371. "//chrome/browser/resources/sync_file_system_internals:resources",
  372. "//extensions:extensions_resources",
  373. ]
  374. }
  375. if (enable_pdf) {
  376. sources += [ "$root_gen_dir/chrome/pdf_resources.pak" ]
  377. deps += [ "//chrome/browser/resources/pdf:resources" ]
  378. }
  379. if (enable_print_preview) {
  380. sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ]
  381. deps += [ "//chrome/browser/resources/print_preview:resources" ]
  382. }
  383. if (enable_webui_tab_strip) {
  384. sources += [ "$root_gen_dir/chrome/tab_strip_resources.pak" ]
  385. deps += [ "//chrome/browser/resources/tab_strip:resources" ]
  386. }
  387. if (is_cfm) {
  388. sources += [ "$root_gen_dir/chrome/cfm_network_settings_resources.pak" ]
  389. deps += [
  390. "//chrome/browser/resources/chromeos/chromebox_for_meetings:resources",
  391. ]
  392. }
  393. }
  394. }
  395. # Defines repack() targets used by Chrome. Specifically:
  396. # * chrome_100_percent.pak
  397. # * chrome_200_percent.pak (optionally)
  398. # * resources.pak
  399. # * locale .pak files
  400. #
  401. # Parameters:
  402. # output_dir [required]: Directory to output .pak files. Locale .pak files
  403. # will always be place in $output_dir/locales
  404. # additional_extra_paks: List of extra .pak sources for resources.pak.
  405. # locale_allowlist: if set, override repack_allowlist for locale .pak files.
  406. # files_to_hash: if set, a list of pak file names to generate SHA256 hashes
  407. # for.
  408. # copy_data_to_bundle:
  409. # deps:
  410. # mark_as_data:
  411. # output_dir:
  412. # public_deps:
  413. # repack_allowlist:
  414. # visibility:
  415. # Normal meanings.
  416. #
  417. template("chrome_paks") {
  418. chrome_repack_percent("${target_name}_100_percent") {
  419. percent = "100"
  420. forward_variables_from(invoker,
  421. [
  422. "copy_data_to_bundle",
  423. "deps",
  424. "mark_as_data",
  425. "output_dir",
  426. "repack_allowlist",
  427. "visibility",
  428. ])
  429. }
  430. if (enable_hidpi) {
  431. chrome_repack_percent("${target_name}_200_percent") {
  432. percent = "200"
  433. forward_variables_from(invoker,
  434. [
  435. "copy_data_to_bundle",
  436. "deps",
  437. "mark_as_data",
  438. "output_dir",
  439. "repack_allowlist",
  440. "visibility",
  441. ])
  442. }
  443. }
  444. chrome_extra_paks("${target_name}_extra") {
  445. forward_variables_from(invoker,
  446. [
  447. "copy_data_to_bundle",
  448. "deps",
  449. "mark_as_data",
  450. "output_dir",
  451. "repack_allowlist",
  452. "visibility",
  453. ])
  454. if (defined(invoker.additional_extra_paks)) {
  455. additional_paks = invoker.additional_extra_paks
  456. }
  457. }
  458. chrome_repack_locales("${target_name}_locales") {
  459. forward_variables_from(invoker,
  460. [
  461. "copy_data_to_bundle",
  462. "deps",
  463. "mark_as_data",
  464. "visibility",
  465. ])
  466. if (defined(invoker.locale_allowlist)) {
  467. repack_allowlist = invoker.locale_allowlist
  468. } else if (defined(invoker.repack_allowlist)) {
  469. repack_allowlist = invoker.repack_allowlist
  470. }
  471. input_locales = platform_pak_locales
  472. output_dir = "${invoker.output_dir}/locales"
  473. if (is_mac) {
  474. output_locales = locales_as_apple_outputs
  475. } else {
  476. output_locales = platform_pak_locales
  477. }
  478. }
  479. group(target_name) {
  480. forward_variables_from(invoker, [ "deps" ])
  481. public_deps = [
  482. ":${target_name}_100_percent",
  483. ":${target_name}_extra",
  484. ":${target_name}_locales",
  485. ]
  486. if (enable_hidpi) {
  487. public_deps += [ ":${target_name}_200_percent" ]
  488. }
  489. if (defined(invoker.public_deps)) {
  490. public_deps += invoker.public_deps
  491. }
  492. }
  493. if (defined(invoker.files_to_hash)) {
  494. _prefix = "$target_gen_dir/app/${target_name}_integrity"
  495. _integrity_outputs = [
  496. "$_prefix.cc",
  497. "$_prefix.h",
  498. ]
  499. action("${target_name}_integrity_hash") {
  500. script = "tools/build/sha256_file.py"
  501. outputs = _integrity_outputs
  502. inputs = []
  503. foreach(file, invoker.files_to_hash) {
  504. inputs += [ "${invoker.output_dir}/$file" ]
  505. }
  506. args = rebase_path([ _prefix ] + inputs, root_build_dir)
  507. deps = [ ":${invoker.target_name}" ]
  508. }
  509. source_set("${target_name}_integrity") {
  510. sources = _integrity_outputs
  511. deps = [ ":${target_name}_hash" ]
  512. }
  513. }
  514. }