Remove EWK_BRINGUPS for M120 #3
[platform/framework/web/chromium-efl.git] / chrome / chrome_paks.gni
1 # Copyright 2016 The Chromium Authors
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import("//ash/ambient/resources/resources.gni")
6 import("//build/config/chromebox_for_meetings/buildflags.gni")
7 import("//build/config/chromeos/ui_mode.gni")
8 import("//build/config/locales.gni")
9 import("//chrome/browser/buildflags.gni")
10 import("//chrome/common/features.gni")
11 import("//components/compose/features.gni")
12 import("//components/signin/features.gni")
13 import("//extensions/buildflags/buildflags.gni")
14 import("//headless/headless.gni")
15 import("//pdf/features.gni")
16 import("//ui/base/ui_features.gni")
17 import("//ui/webui/webui_features.gni")
18 import("chrome_repack_locales.gni")
19
20 # Generates a rule to repack a set of resources, substituting a given string
21 # in for the percentage (e.g. "100", "200"). It generates the repacked files in
22 # the "gen" directory, and then introduces a copy rule to copy it to the root
23 # build directory.
24 #
25 # Argument:
26 #   percent [required]
27 #      String to substitute for the percentage.
28 template("chrome_repack_percent") {
29   percent = invoker.percent
30
31   repack(target_name) {
32     forward_variables_from(invoker,
33                            [
34                              "copy_data_to_bundle",
35                              "mark_as_data",
36                              "repack_allowlist",
37                              "visibility",
38                            ])
39
40     # All sources should also have deps for completeness.
41     sources = [
42       "$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak",
43       "$root_gen_dir/chrome/theme_resources_${percent}_percent.pak",
44       "$root_gen_dir/components/components_resources_${percent}_percent.pak",
45       "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_${percent}_percent.pak",
46       "$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
47     ]
48
49     deps = [
50       "//chrome/app/theme:theme_resources",
51       "//chrome/renderer:resources",
52       "//components/resources",
53       "//components/strings",
54       "//net:net_resources",
55       "//third_party/blink/public:scaled_resources_${percent}_percent",
56       "//ui/resources",
57     ]
58
59     if (defined(invoker.deps)) {
60       deps += invoker.deps
61     }
62
63     if (toolkit_views) {
64       sources += [
65         "$root_gen_dir/chrome/app_icon_resources_${percent}_percent.pak",
66         "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak",
67       ]
68       deps += [
69         "//chrome/browser/resources:app_icon_resources",
70         "//ui/views/resources",
71       ]
72     }
73     if (is_chromeos_ash) {
74       sources += [
75         "$root_gen_dir/ash/login/resources/login_resources_${percent}_percent.pak",
76         "$root_gen_dir/chrome/chromeos_app_icon_resources_${percent}_percent.pak",
77         "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${percent}_percent.pak",
78       ]
79       deps += [
80         "//ash/login/resources",
81         "//chrome/browser/resources/chromeos:app_icon_resources",
82         "//ui/chromeos/resources",
83       ]
84     }
85     if (enable_extensions) {
86       sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ]
87       deps += [ "//extensions:extensions_browser_resources" ]
88     }
89
90     output = "${invoker.output_dir}/chrome_${percent}_percent.pak"
91   }
92 }
93
94 template("chrome_extra_paks") {
95   repack(target_name) {
96     forward_variables_from(invoker,
97                            [
98                              "copy_data_to_bundle",
99                              "mark_as_data",
100                              "repack_allowlist",
101                              "visibility",
102                            ])
103     output = "${invoker.output_dir}/resources.pak"
104     sources = [
105       "$root_gen_dir/base/tracing/protos/tracing_proto_resources.pak",
106       "$root_gen_dir/chrome/browser_resources.pak",
107       "$root_gen_dir/chrome/chrome_unscaled_resources.pak",
108       "$root_gen_dir/chrome/common_resources.pak",
109       "$root_gen_dir/chrome/segmentation_internals_resources.pak",
110       "$root_gen_dir/components/autofill/core/browser/autofill_address_rewriter_resources.pak",
111       "$root_gen_dir/components/components_resources.pak",
112       "$root_gen_dir/components/flags_ui_resources.pak",
113       "$root_gen_dir/components/version_ui_resources.pak",
114       "$root_gen_dir/content/aggregation_service_internals_resources.pak",
115       "$root_gen_dir/content/attribution_internals_resources.pak",
116       "$root_gen_dir/content/content_resources.pak",
117       "$root_gen_dir/content/histograms_resources.pak",
118       "$root_gen_dir/content/indexed_db_resources.pak",
119       "$root_gen_dir/content/quota_internals_resources.pak",
120       "$root_gen_dir/content/traces_internals_resources.pak",
121       "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
122       "$root_gen_dir/net/net_resources.pak",
123       "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
124       "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
125       "$root_gen_dir/ui/resources/webui_resources.pak",
126     ]
127     deps = [
128       "//base/tracing/protos:chrome_track_event_resources",
129       "//chrome/app/theme:chrome_unscaled_resources",
130       "//chrome/browser:resources",
131       "//chrome/browser/resources:resources",
132       "//chrome/common:resources",
133       "//components/autofill/core/browser:autofill_address_rewriter_resources",
134       "//components/resources",
135       "//content:content_resources",
136       "//content/browser/resources:resources",
137       "//mojo/public/js:resources",
138       "//net:net_resources",
139       "//third_party/blink/public:devtools_inspector_resources",
140       "//third_party/blink/public:resources",
141       "//ui/resources",
142     ]
143     if (defined(invoker.deps)) {
144       deps += invoker.deps
145     }
146     if (defined(invoker.additional_paks)) {
147       sources += invoker.additional_paks
148     }
149
150     if (!is_android) {
151       # New paks should be added here by default.
152       sources += [
153         "$root_gen_dir/chrome/about_sys_resources.pak",
154         "$root_gen_dir/chrome/access_code_cast_resources.pak",
155         "$root_gen_dir/chrome/app_service_internals_resources.pak",
156         "$root_gen_dir/chrome/bookmarks_resources.pak",
157         "$root_gen_dir/chrome/commander_resources.pak",
158         "$root_gen_dir/chrome/component_extension_resources.pak",
159         "$root_gen_dir/chrome/dev_ui_resources.pak",
160         "$root_gen_dir/chrome/downloads_resources.pak",
161         "$root_gen_dir/chrome/feed_resources.pak",
162         "$root_gen_dir/chrome/feedback_resources.pak",
163         "$root_gen_dir/chrome/gaia_auth_host_resources.pak",
164         "$root_gen_dir/chrome/hats_resources.pak",
165         "$root_gen_dir/chrome/history_resources.pak",
166         "$root_gen_dir/chrome/identity_internals_resources.pak",
167         "$root_gen_dir/chrome/inline_login_resources.pak",
168         "$root_gen_dir/chrome/management_resources.pak",
169         "$root_gen_dir/chrome/new_tab_page_instant_resources.pak",
170         "$root_gen_dir/chrome/new_tab_page_resources.pak",
171         "$root_gen_dir/chrome/new_tab_page_third_party_resources.pak",
172         "$root_gen_dir/chrome/omnibox_popup_resources.pak",
173         "$root_gen_dir/chrome/password_manager_resources.pak",
174         "$root_gen_dir/chrome/privacy_sandbox_resources.pak",
175         "$root_gen_dir/chrome/profile_internals_resources.pak",
176         "$root_gen_dir/chrome/settings_resources.pak",
177         "$root_gen_dir/chrome/side_panel_bookmarks_resources.pak",
178         "$root_gen_dir/chrome/side_panel_commerce_resources.pak",
179         "$root_gen_dir/chrome/side_panel_companion_resources.pak",
180         "$root_gen_dir/chrome/side_panel_customize_chrome_resources.pak",
181         "$root_gen_dir/chrome/side_panel_history_clusters_resources.pak",
182         "$root_gen_dir/chrome/side_panel_performance_resources.pak",
183         "$root_gen_dir/chrome/side_panel_read_anything_resources.pak",
184         "$root_gen_dir/chrome/side_panel_reading_list_resources.pak",
185         "$root_gen_dir/chrome/side_panel_shared_resources.pak",
186         "$root_gen_dir/chrome/side_panel_user_notes_resources.pak",
187         "$root_gen_dir/chrome/signin_resources.pak",
188         "$root_gen_dir/chrome/suggest_internals_resources.pak",
189         "$root_gen_dir/chrome/support_tool_resources.pak",
190         "$root_gen_dir/chrome/tab_search_resources.pak",
191         "$root_gen_dir/chrome/web_app_internals_resources.pak",
192         "$root_gen_dir/chrome/webui_gallery_resources.pak",
193         "$root_gen_dir/chrome/whats_new_resources.pak",
194         "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
195         "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
196       ]
197       deps += [
198         "//chrome/browser/resources:component_extension_resources",
199         "//chrome/browser/resources:dev_ui_paks",
200         "//content/browser/devtools:devtools_resources",
201         "//content/browser/tracing:resources",
202       ]
203       if (is_chrome_branded) {
204         sources += [
205           "$root_gen_dir/chrome/lens_resources.pak",
206           "$root_gen_dir/chrome/lens_untrusted_resources.pak",
207           "$root_gen_dir/chrome/media_router_feedback_resources.pak",
208           "$root_gen_dir/chrome/preinstalled_web_apps_resources.pak",
209         ]
210         deps += [
211           "//chrome/browser/resources:preinstalled_web_apps_resources",
212           "//chrome/browser/resources/lens:resources",
213           "//chrome/browser/resources/lens:untrusted_resources",
214           "//chrome/browser/resources/media_router/cast_feedback:resources",
215         ]
216       }
217       if (!optimize_webui) {
218         # Only add when optimize_webui=false, since in other cases the same
219         # resources are already bundled within the UIs that use them.
220         sources += [ "$root_gen_dir/chrome/settings_shared_resources.pak" ]
221         deps += [ "//chrome/browser/resources/settings_shared:resources" ]
222       }
223     }
224     if (is_chromeos_ash) {
225       sources += [
226         "$root_gen_dir/ash/public/cpp/resources/ash_public_unscaled_resources.pak",
227         "$root_gen_dir/ash/webui/ash_camera_app_resources.pak",
228         "$root_gen_dir/ash/webui/ash_color_internals_resources.pak",
229         "$root_gen_dir/ash/webui/ash_demo_mode_app_resources.pak",
230         "$root_gen_dir/ash/webui/ash_diagnostics_app_resources.pak",
231         "$root_gen_dir/ash/webui/ash_eche_app_resources.pak",
232         "$root_gen_dir/ash/webui/ash_eche_bundle_resources.pak",
233         "$root_gen_dir/ash/webui/ash_face_ml_app_bundle_resources.pak",
234         "$root_gen_dir/ash/webui/ash_face_ml_app_resources.pak",
235         "$root_gen_dir/ash/webui/ash_face_ml_app_untrusted_resources.pak",
236         "$root_gen_dir/ash/webui/ash_files_internals_resources.pak",
237         "$root_gen_dir/ash/webui/ash_firmware_update_app_resources.pak",
238         "$root_gen_dir/ash/webui/ash_guest_os_installer_resources.pak",
239         "$root_gen_dir/ash/webui/ash_help_app_resources.pak",
240         "$root_gen_dir/ash/webui/ash_media_app_resources.pak",
241         "$root_gen_dir/ash/webui/ash_multidevice_debug_resources.pak",
242         "$root_gen_dir/ash/webui/ash_os_feedback_resources.pak",
243         "$root_gen_dir/ash/webui/ash_os_feedback_untrusted_resources.pak",
244         "$root_gen_dir/ash/webui/ash_personalization_app_resources.pak",
245         "$root_gen_dir/ash/webui/ash_print_management_resources.pak",
246         "$root_gen_dir/ash/webui/ash_projector_annotator_untrusted_resources.pak",
247         "$root_gen_dir/ash/webui/ash_projector_app_untrusted_resources.pak",
248         "$root_gen_dir/ash/webui/ash_projector_common_resources.pak",
249         "$root_gen_dir/ash/webui/ash_scanning_app_resources.pak",
250         "$root_gen_dir/ash/webui/ash_shimless_rma_resources.pak",
251         "$root_gen_dir/ash/webui/ash_shortcut_customization_app_resources.pak",
252         "$root_gen_dir/ash/webui/ash_status_area_internals_resources.pak",
253         "$root_gen_dir/ash/webui/ash_system_extensions_internals_resources.pak",
254         "$root_gen_dir/ash/webui/ash_webui_common_resources.pak",
255         "$root_gen_dir/ash/webui/connectivity_diagnostics_resources.pak",
256         "$root_gen_dir/ash/webui/file_manager/resources/file_manager_swa_resources.pak",
257         "$root_gen_dir/ash/webui/file_manager/untrusted_resources/file_manager_untrusted_resources.pak",
258         "$root_gen_dir/chrome/add_supervision_resources.pak",
259         "$root_gen_dir/chrome/arc_account_picker_resources.pak",
260         "$root_gen_dir/chrome/assistant_optin_resources.pak",
261         "$root_gen_dir/chrome/audio_resources.pak",
262         "$root_gen_dir/chrome/bluetooth_pairing_dialog_resources.pak",
263         "$root_gen_dir/chrome/borealis_installer_resources.pak",
264         "$root_gen_dir/chrome/cloud_upload_resources.pak",
265         "$root_gen_dir/chrome/cros_styles_resources.pak",
266         "$root_gen_dir/chrome/desk_api_resources.pak",
267         "$root_gen_dir/chrome/edu_coexistence_resources.pak",
268         "$root_gen_dir/chrome/emoji_picker_resources.pak",
269         "$root_gen_dir/chrome/enterprise_reporting_resources.pak",
270         "$root_gen_dir/chrome/gaia_action_buttons_resources.pak",
271         "$root_gen_dir/chrome/healthd_internals_resources.pak",
272         "$root_gen_dir/chrome/internet_config_dialog_resources.pak",
273         "$root_gen_dir/chrome/internet_detail_dialog_resources.pak",
274         "$root_gen_dir/chrome/launcher_internals_resources.pak",
275         "$root_gen_dir/chrome/lock_screen_reauth_resources.pak",
276         "$root_gen_dir/chrome/manage_mirrorsync_resources.pak",
277         "$root_gen_dir/chrome/multidevice_internals_resources.pak",
278         "$root_gen_dir/chrome/multidevice_setup_resources.pak",
279         "$root_gen_dir/chrome/nearby_internals_resources.pak",
280         "$root_gen_dir/chrome/nearby_share_dialog_resources.pak",
281         "$root_gen_dir/chrome/network_ui_resources.pak",
282         "$root_gen_dir/chrome/notification_tester_resources.pak",
283         "$root_gen_dir/chrome/office_fallback_resources.pak",
284         "$root_gen_dir/chrome/oobe_conditional_resources.pak",
285         "$root_gen_dir/chrome/oobe_unconditional_resources.pak",
286         "$root_gen_dir/chrome/orca_resources.pak",
287         "$root_gen_dir/chrome/os_settings_resources.pak",
288         "$root_gen_dir/chrome/parent_access_resources.pak",
289         "$root_gen_dir/chrome/password_change_resources.pak",
290         "$root_gen_dir/chrome/remote_maintenance_curtain_resources.pak",
291         "$root_gen_dir/chrome/sensor_info_resources.pak",
292         "$root_gen_dir/chrome/supervision_resources.pak",
293         "$root_gen_dir/chrome/vc_tray_tester_resources.pak",
294         "$root_gen_dir/chrome/web_app_install_resources.pak",
295         "$root_gen_dir/chromeos/ash/ash_resources.pak",
296         "$root_gen_dir/chromeos/chromeos_help_app_bundle_resources.pak",
297         "$root_gen_dir/chromeos/chromeos_help_app_kids_magazine_bundle_resources.pak",
298         "$root_gen_dir/chromeos/chromeos_media_app_bundle_resources.pak",
299         "$root_gen_dir/chromeos/chromeos_projector_app_bundle_resources.pak",
300         "$root_gen_dir/chromeos/chromeos_resources.pak",
301         "$root_gen_dir/components/arc/input_overlay_resources.pak",
302         "$root_gen_dir/ui/file_manager/file_manager_gen_resources.pak",
303         "$root_gen_dir/ui/file_manager/file_manager_resources.pak",
304       ]
305       deps += [
306         "//ash/components/arc/input_overlay/resources",
307         "//ash/public/cpp/resources:ash_public_unscaled_resources",
308         "//ash/webui/color_internals/resources:resources",
309         "//ash/webui/common/resources:resources",
310         "//ash/webui/common/resources/office_fallback:resources",
311         "//ash/webui/file_manager/resources:file_manager_swa_resources",
312         "//ash/webui/file_manager/untrusted_resources:file_manager_untrusted_resources",
313         "//ash/webui/firmware_update_ui/resources:resources",
314         "//ash/webui/guest_os_installer/resources:resources",
315         "//ash/webui/personalization_app/resources:resources",
316         "//ash/webui/print_management/resources:resources",
317         "//ash/webui/resources:camera_app_resources",
318         "//ash/webui/resources:connectivity_diagnostics_resources",
319         "//ash/webui/resources:demo_mode_app_resources",
320         "//ash/webui/resources:diagnostics_app_resources",
321         "//ash/webui/resources:eche_app_resources",
322         "//ash/webui/resources:eche_bundle_resources",
323         "//ash/webui/resources:face_ml_app_bundle_resources",
324         "//ash/webui/resources:face_ml_app_resources",
325         "//ash/webui/resources:face_ml_app_resources",
326         "//ash/webui/resources:face_ml_app_untrusted_resources",
327         "//ash/webui/resources:files_internals_resources",
328         "//ash/webui/resources:help_app_bundle_resources",
329         "//ash/webui/resources:help_app_kids_magazine_bundle_resources",
330         "//ash/webui/resources:help_app_resources",
331         "//ash/webui/resources:media_app_bundle_resources",
332         "//ash/webui/resources:media_app_resources",
333         "//ash/webui/resources:multidevice_debug_resources",
334         "//ash/webui/resources:os_feedback_resources",
335         "//ash/webui/resources:os_feedback_untrusted_resources",
336         "//ash/webui/resources:projector_annotator_untrusted_resources",
337         "//ash/webui/resources:projector_app_bundle_resources",
338         "//ash/webui/resources:projector_app_untrusted_resources",
339         "//ash/webui/resources:projector_common_resources",
340         "//ash/webui/resources:shimless_rma_resources",
341         "//ash/webui/resources:shortcut_customization_app_resources",
342         "//ash/webui/resources:system_extensions_internals_resources",
343         "//ash/webui/scanning/resources:resources",
344         "//ash/webui/status_area_internals/resources:resources",
345         "//chromeos/ash/resources",
346         "//chromeos/resources",
347         "//ui/chromeos/styles:cros_styles_resources",
348         "//ui/file_manager:file_manager_gen_resources",
349         "//ui/file_manager:resources",
350       ]
351
352       if (!is_official_build) {
353         sources += [
354           "$root_gen_dir/ash/webui/ash_sample_system_web_app_resources.pak",
355           "$root_gen_dir/ash/webui/ash_sample_system_web_app_untrusted_resources.pak",
356         ]
357         deps += [
358           "//ash/webui/resources:sample_system_web_app_resources",
359           "//ash/webui/resources:sample_system_web_app_untrusted_resources",
360         ]
361       }
362
363       if (include_ash_ambient_animation_resources) {
364         sources += [ "$root_gen_dir/ash/ambient/resources/ash_ambient_lottie_resources.pak" ]
365         deps += [ "//ash/ambient/resources:lottie_resources" ]
366       }
367     }
368     if (is_chromeos) {
369       sources += [
370         "$root_gen_dir/chrome/common/chromeos/extensions/chromeos_system_extensions_resources.pak",
371         "$root_gen_dir/chrome/kerberos_resources.pak",
372       ]
373       deps += [
374         "//chrome/browser/resources/chromeos/kerberos:resources",
375         "//chrome/common/chromeos/extensions:resources",
376       ]
377     }
378     if (is_linux || is_chromeos) {
379       sources += [ "$root_gen_dir/chrome/webui_js_error_resources.pak" ]
380       deps += [ "//chrome/browser/resources/webui_js_error:resources" ]
381     }
382     if (!is_android && !is_chromeos_ash) {
383       sources += [
384         "$root_gen_dir/chrome/intro_resources.pak",
385         "$root_gen_dir/chrome/profile_picker_resources.pak",
386         "$root_gen_dir/chrome/welcome_resources.pak",
387       ]
388       deps += [
389         "//chrome/browser/resources/intro:resources",
390         "//chrome/browser/resources/signin/profile_picker:resources",
391         "//chrome/browser/resources/welcome:resources",
392       ]
393     }
394
395     if (enable_search_engine_choice) {
396       sources += [ "$root_gen_dir/chrome/search_engine_choice_resources.pak" ]
397       deps += [ "//chrome/browser/resources/search_engine_choice:resources" ]
398     }
399
400     if (is_win || is_mac || is_linux || is_fuchsia) {
401       sources += [ "$root_gen_dir/chrome/app_home_resources.pak" ]
402       deps += [ "//chrome/browser/resources/app_home:resources" ]
403     }
404
405     if (is_win || is_mac || is_linux || is_tizen) {
406       sources += [ "$root_gen_dir/chrome/app_settings_resources.pak" ]
407       deps += [ "//chrome/browser/resources/app_settings:resources" ]
408     }
409
410     if (is_win || is_mac || is_linux || is_chromeos_ash) {
411       sources += [ "$root_gen_dir/chrome/connectors_internals_resources.pak" ]
412       deps += [ "//chrome/browser/resources/connectors_internals:resources" ]
413     }
414
415     if (is_chromeos) {
416       sources += [ "$root_gen_dir/chrome/dlp_internals_resources.pak" ]
417       deps += [ "//chrome/browser/resources/dlp_internals:resources" ]
418     }
419
420     if (is_win || is_mac || is_linux || is_chromeos_lacros || is_fuchsia) {
421       sources += [ "$root_gen_dir/chrome/browser_switch_resources.pak" ]
422       deps += [ "//chrome/browser/resources/browser_switch:resources" ]
423     }
424
425     if (is_win || is_mac || is_linux || is_chromeos || is_fuchsia) {
426       sources += [ "$root_gen_dir/chrome/discards_resources.pak" ]
427       deps += [ "//chrome/browser/resources/discards:resources" ]
428     }
429
430     if (enable_extensions) {
431       sources += [
432         "$root_gen_dir/chrome/extensions_resources.pak",
433         "$root_gen_dir/chrome/sync_file_system_internals_resources.pak",
434         "$root_gen_dir/extensions/extensions_renderer_resources.pak",
435         "$root_gen_dir/extensions/extensions_resources.pak",
436       ]
437       deps += [
438         "//chrome/browser/resources/extensions:resources",
439         "//chrome/browser/resources/sync_file_system_internals:resources",
440         "//extensions:extensions_resources",
441       ]
442     }
443     if (enable_pdf) {
444       sources += [ "$root_gen_dir/chrome/pdf_resources.pak" ]
445       deps += [ "//chrome/browser/resources/pdf:resources" ]
446     }
447     if (enable_print_preview) {
448       sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ]
449       deps += [ "//chrome/browser/resources/print_preview:resources" ]
450     }
451     if (enable_webui_tab_strip) {
452       sources += [ "$root_gen_dir/chrome/tab_strip_resources.pak" ]
453       deps += [ "//chrome/browser/resources/tab_strip:resources" ]
454     }
455     if (is_cfm) {
456       sources += [ "$root_gen_dir/chrome/cfm_network_settings_resources.pak" ]
457       deps += [
458         "//chrome/browser/resources/chromeos/chromebox_for_meetings:resources",
459       ]
460     }
461
462     if (headless_enable_commands && !is_android) {
463       sources += [ "$root_gen_dir/components/headless/command_handler/headless_command_resources.pak" ]
464       deps += [ "//components/headless/command_handler" ]
465     }
466
467     if (enable_webui_certificate_viewer) {
468       sources += [ "$root_gen_dir/chrome/certificate_viewer_resources.pak" ]
469       deps += [ "//chrome/browser/resources/certificate_viewer:resources" ]
470     }
471     if (enable_compose) {
472       sources += [ "$root_gen_dir/chrome/compose_resources.pak" ]
473       deps += [ "//chrome/browser/resources/compose:resources" ]
474     }
475   }
476 }
477
478 # Defines repack() targets used by Chrome. Specifically:
479 # * chrome_100_percent.pak
480 # * chrome_200_percent.pak (optionally)
481 # * resources.pak
482 # * locale .pak files
483 #
484 # Parameters:
485 #   output_dir [required]: Directory to output .pak files. Locale .pak files
486 #       will always be place in $output_dir/locales
487 #   additional_extra_paks: List of extra .pak sources for resources.pak.
488 #   locale_allowlist: if set, override repack_allowlist for locale .pak files.
489 #   files_to_hash: if set, a list of pak file names to generate SHA256 hashes
490 #     for.
491 #   copy_data_to_bundle:
492 #   deps:
493 #   mark_as_data:
494 #   output_dir:
495 #   public_deps:
496 #   repack_allowlist:
497 #   visibility:
498 #     Normal meanings.
499 #
500 template("chrome_paks") {
501   chrome_repack_percent("${target_name}_100_percent") {
502     percent = "100"
503     forward_variables_from(invoker,
504                            [
505                              "copy_data_to_bundle",
506                              "deps",
507                              "mark_as_data",
508                              "output_dir",
509                              "repack_allowlist",
510                              "visibility",
511                            ])
512   }
513
514   if (enable_hidpi) {
515     chrome_repack_percent("${target_name}_200_percent") {
516       percent = "200"
517       forward_variables_from(invoker,
518                              [
519                                "copy_data_to_bundle",
520                                "deps",
521                                "mark_as_data",
522                                "output_dir",
523                                "repack_allowlist",
524                                "visibility",
525                              ])
526     }
527   }
528
529   chrome_extra_paks("${target_name}_extra") {
530     forward_variables_from(invoker,
531                            [
532                              "copy_data_to_bundle",
533                              "deps",
534                              "mark_as_data",
535                              "output_dir",
536                              "repack_allowlist",
537                              "visibility",
538                            ])
539     if (defined(invoker.additional_extra_paks)) {
540       additional_paks = invoker.additional_extra_paks
541     }
542   }
543
544   chrome_repack_locales("${target_name}_locales") {
545     forward_variables_from(invoker,
546                            [
547                              "copy_data_to_bundle",
548                              "deps",
549                              "mark_as_data",
550                              "visibility",
551                            ])
552     if (defined(invoker.locale_allowlist)) {
553       repack_allowlist = invoker.locale_allowlist
554     } else if (defined(invoker.repack_allowlist)) {
555       repack_allowlist = invoker.repack_allowlist
556     }
557
558     input_locales = platform_pak_locales
559     output_dir = "${invoker.output_dir}/locales"
560
561     if (is_mac) {
562       output_locales = locales_as_apple_outputs
563     } else {
564       output_locales = platform_pak_locales
565     }
566   }
567
568   group(target_name) {
569     forward_variables_from(invoker, [ "deps" ])
570     public_deps = [
571       ":${target_name}_100_percent",
572       ":${target_name}_extra",
573       ":${target_name}_locales",
574     ]
575     if (enable_hidpi) {
576       public_deps += [ ":${target_name}_200_percent" ]
577     }
578     if (defined(invoker.public_deps)) {
579       public_deps += invoker.public_deps
580     }
581   }
582
583   if (defined(invoker.files_to_hash)) {
584     _prefix = "$target_gen_dir/app/${target_name}_integrity"
585     _integrity_outputs = [
586       "$_prefix.cc",
587       "$_prefix.h",
588     ]
589
590     action("${target_name}_integrity_hash") {
591       script = "tools/build/sha256_file.py"
592       outputs = _integrity_outputs
593       inputs = []
594       foreach(file, invoker.files_to_hash) {
595         inputs += [ "${invoker.output_dir}/$file" ]
596       }
597
598       args = rebase_path([ _prefix ] + inputs, root_build_dir)
599
600       deps = [ ":${invoker.target_name}" ]
601     }
602
603     source_set("${target_name}_integrity") {
604       sources = _integrity_outputs
605       deps = [ ":${target_name}_hash" ]
606     }
607   }
608 }