# 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/chrome_build.gni") import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") import("//components/compose/features.gni") import("//components/enterprise/buildflags/buildflags.gni") import("//components/safe_browsing/buildflags.gni") import("//content/browser/devtools/features.gni") import("//pdf/features.gni") import("//printing/buildflags/buildflags.gni") import("//tools/grit/grit_rule.gni") import("//tools/grit/repack.gni") import("//ui/webui/webui_features.gni") assert(!is_ios, "Chromium/iOS shouldn't use anything in //chrome") assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome") group("resources") { public_deps = [ "contextual_tasks:resources", "glic:resources", "glic/experimental_opt_in:resources", "saved_tab_groups_unsupported:resources", "segmentation_internals:resources", "//components/enterprise/connectors/resources", ] if (enable_webui_ntp) { public_deps += [ "new_tab_page:resources", "new_tab_page/untrusted:resources", "new_tab_page_instant:resources", "new_tab_page_third_party:resources", "new_tab_shared:resources", ] } if (enable_extensions_core) { public_deps += [ ":component_extension_resources", "contextual_tasks/extension:resources", "omnibox/aim_eligibility_extension:resources", ] } if (!is_android) { public_deps += [ ":app_icon_resources", ":dev_ui_paks", "about_sys:resources", "access_code_cast:resources", "actor_overlay:resources", "app_service_internals:resources", "autofill_ml_internals:resources", "bookmarks:resources", "certificate_manager:resources", "content_settings:resources", "contextual_cueing/internals:resources", "data_sharing:resources", "downloads:resources", "drive_picker_host:resources", "drive_picker_host/untrusted:resources", "feedback:resources", "gaia_auth_host:resources", "geic:resources", "glic/selection_overlay:resources", "history:resources", "indigo:resources", "inspect:resources", "iwa_dev:resources", "key_value_pair_viewer_shared:resources", "lens/overlay:resources", "lens/shared:resources", "new_tab_footer:resources", "omnibox_everywhere:resources", "omnibox_popup:resources", "organizer_panel:resources", "password_manager:resources", "profile_internals:resources", "search_engine_choice:resources", "settings:resources", "settings_shared:resources", "side_panel/bookmarks:resources", "side_panel/comments:resources", "side_panel/commerce:resources", "side_panel/customize_chrome:resources", "side_panel/history:resources", "side_panel/history_clusters:resources", "side_panel/read_anything:resources", "side_panel/reading_list:resources", "side_panel/shared:resources", "side_panel/tabs_from_other_devices:resources", "signin:resources", "support_tool:resources", "tab_group_home:resources", "tab_search:resources", "web_app_internals:resources", "webnn_internals:resources", "webui_browser:resources", "webui_gallery:resources", "webui_toolbar:resources", "webui_toolbar_shared:resources", "whats_new:resources", "//components/browser_apis/tab_strip/resources", ] if (is_chrome_branded) { public_deps += [ ":preinstalled_web_apps_resources", "media_router/cast_feedback:resources", ] } } if (is_chromeos) { public_deps += [ "ash/extended_updates:resources", "ash/inline_login:resources", "ash/settings:resources", "chromeos:resources", "chromeos/dlp_internals:resources", ] } if (enable_extensions) { public_deps += [ "accessibility:reading_mode_gdocs_extension_resources", "extensions_zero_state_promo:resources", ] } if (is_mac) { public_deps += [ "unexportable_keys_internals:resources", "//chrome/browser/resources/media/mei_preload:component", "//components/privacy_sandbox/privacy_sandbox_attestations/preload:component", ] } if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) { public_deps += [ "discards:resources", "management:resources", "//chrome/browser/ttc/resources", ] } if (is_win || is_mac || is_linux || is_chromeos) { public_deps += [ "skills:resources" ] } if (is_win || is_mac || is_linux) { public_deps += [ "app_home:resources", "app_settings:resources", "browser_switch:resources", "on_device_translation_internals:resources", "signin/history_sync_optin:resources", "updater:resources", ] } if (!is_android && !is_chromeos) { public_deps += [ "default_browser/default_browser_modal:resources", "signin/profile_picker:resources", ] } if (is_win) { public_deps += [ "conflicts:resources", "default_browser/visual_guided_setter:resources", "inline_login:resources", ] } if (enable_dice_support || is_chromeos) { public_deps += [ "signin/batch_upload:resources" ] } if (enable_dice_support) { public_deps += [ "feature_showcase:resources", "intro:resources", "signin/signout_confirmation:resources", ] } if (enable_extensions_core) { public_deps += [ "extensions:resources" ] } if (enable_pdf) { public_deps += [ "pdf:resources" ] } if (enable_print_preview) { if (is_chromeos) { public_deps += [ "ash/print_preview:resources" ] } else { public_deps += [ "print_preview:resources" ] } } if (enable_webui_certificate_viewer) { public_deps += [ "certificate_viewer:resources" ] } if (enable_compose) { public_deps += [ "compose:resources" ] } if (enterprise_watermark) { public_deps += [ "watermark:resources" ] } if (safe_browsing_mode == 1) { public_deps += [ "reset_password:resources" ] } } if (enable_webui_generate_code_cache) { group("code_cache_resources") { public_deps = [ "side_panel/bookmarks:code_cache_resources", "side_panel/customize_chrome:code_cache_resources", "side_panel/reading_list:code_cache_resources", "side_panel/shared:code_cache_resources", "side_panel/tabs_from_other_devices:code_cache_resources", "webui_toolbar:code_cache_resources", ] } } if (enable_extensions_core) { grit("component_extension_resources") { source = "component_extension_resources.grd" inputs = [ "glic/extension/manifest.json", "network_speech_synthesis/mv3/audio.html", "network_speech_synthesis/mv3/audio.js", "network_speech_synthesis/mv3/service_worker.js", "network_speech_synthesis/mv3/tts_extension.js", "network_speech_synthesis/tts_extension.js", "reading_mode_gdocs_helper/content.js", "reading_mode_gdocs_helper/gdocs_script.js", "$root_gen_dir/chrome/browser/resources/glic/extension/tsc/background.js", ] if (is_chrome_branded || enable_hangout_services_extension) { inputs += [ "hangout_services/background.html", "hangout_services/thunk.js", ] } if (is_mac) { inputs += [ "screen_sharing/toggle_animation.json" ] } defines = chrome_grit_defines if (enable_hangout_services_extension) { defines += [ "enable_hangout_services_extension" ] } # Some resources within component_extension_resources.grd are generated at # build time so we include them as explicit dependencies here deps = [ "//chrome/browser/resources/glic/extension:build_ts" ] if (is_chromeos) { inputs += [ "chromeos/arc_input_overlay/button_placement_mode_nudge.json", "chromeos/arc_input_overlay/key_edit_nudge.json", "chromeos/arc_input_overlay/onboarding_illustration_dark.json", "chromeos/arc_input_overlay/onboarding_illustration_light.json", "chromeos/arc_support/arc_optin_focus_manager.js", "chromeos/arc_support/background.js", "chromeos/arc_support/bubble.css", "chromeos/arc_support/bubble.js", "chromeos/arc_support/bubble_button.css", "chromeos/arc_support/bubble_button.js", "chromeos/arc_support/controlled_indicator.css", "chromeos/arc_support/controlled_indicator.js", "chromeos/arc_support/cr_overlay.css", "chromeos/arc_support/event_tracker.js", "chromeos/arc_support/focus_manager.js", "chromeos/arc_support/i18n_template_no_process.js", "chromeos/arc_support/icon/192.png", "chromeos/arc_support/icon/32.png", "chromeos/arc_support/icon/playstore.svg", "chromeos/arc_support/images/error_image.png", "chromeos/arc_support/images/header.png", "chromeos/arc_support/layout_style.css", "chromeos/arc_support/main.css", "chromeos/arc_support/main.html", "chromeos/arc_support/main.js", "chromeos/arc_support/overlay.css", "chromeos/arc_support/overlay.js", "chromeos/arc_support/playstore.css", "chromeos/arc_support/playstore.js", "chromeos/arc_support/progressbar.css", "chromeos/arc_support/progressbar.js", "chromeos/arc_support/ui.js", "chromeos/desk_api/templates_icon.png", "$root_gen_dir/chrome/browser/resources/chromeos/desk_api/desk_api_bundle.js", "//ui/resources/default_100_percent/close_2.png", "//ui/resources/default_100_percent/close_2_hover.png", "//ui/resources/default_100_percent/close_2_pressed.png", "//ui/resources/default_200_percent/close_2.png", "//ui/resources/default_200_percent/close_2_hover.png", "//ui/resources/default_200_percent/close_2_pressed.png", "//ui/webui/resources/images/account_child_invert.svg", "//ui/webui/resources/images/account_circle.svg", "//ui/webui/resources/images/business.svg", "//ui/webui/resources/images/extension.svg", "//ui/webui/resources/images/group.svg", ] deps += [ "chromeos/accessibility/braille_ime:build_ts", "chromeos/desk_api:generate_desk_api_bundle", ] } outputs = [ "grit/component_extension_resources.h", "grit/component_extension_resources_map.cc", "grit/component_extension_resources_map.h", "component_extension_resources.pak", ] output_dir = "$root_gen_dir/chrome" } } if (!is_android) { grit("app_icon_resources") { source = "app_icon/app_icon_resources.grd" inputs = [ "app_icon/default_100_percent/app_icon_placeholder_cube.png", "app_icon/default_100_percent/mask/mask.png", "app_icon/default_100_percent/web_app_default_icon.png", "app_icon/default_200_percent/app_icon_placeholder_cube.png", "app_icon/default_200_percent/mask/mask.png", "app_icon/default_200_percent/web_app_default_icon.png", ] defines = chrome_grit_defines outputs = [ "grit/app_icon_resources.h", "grit/app_icon_resources_map.cc", "grit/app_icon_resources_map.h", "app_icon_resources_100_percent.pak", "app_icon_resources_200_percent.pak", ] output_dir = "$root_gen_dir/chrome" } if (is_chromeos) { grit("office_web_app_resources") { source = "office_web_app/resources.grd" inputs = [ "office_web_app/icons/office_192.png" ] defines = chrome_grit_defines outputs = [ "grit/office_web_app_resources.h", "grit/office_web_app_resources_map.cc", "grit/office_web_app_resources_map.h", "office_web_app_resources.pak", ] output_dir = "$root_gen_dir/chrome" } } if (is_chrome_branded) { grit("preinstalled_web_apps_resources") { source = "preinstalled_web_apps/resources.grd" inputs = [ "preinstalled_web_apps/internal/gmail_192.png", "preinstalled_web_apps/internal/google_chat_192.png", "preinstalled_web_apps/internal/google_docs_192.png", "preinstalled_web_apps/internal/google_drive_192.png", "preinstalled_web_apps/internal/google_sheets_192.png", "preinstalled_web_apps/internal/google_slides_192.png", "preinstalled_web_apps/internal/youtube_192.png", ] if (is_chromeos) { inputs += [ "preinstalled_web_apps/internal/gemini_192.png", "preinstalled_web_apps/internal/google_calendar_192.png", "preinstalled_web_apps/internal/notebook_lm_512.png", "preinstalled_web_apps/internal/vids_192.png", ] } defines = chrome_grit_defines outputs = [ "grit/preinstalled_web_apps_resources.h", "grit/preinstalled_web_apps_resources_map.cc", "grit/preinstalled_web_apps_resources_map.h", "preinstalled_web_apps_resources.pak", ] output_dir = "$root_gen_dir/chrome" } } } group("dev_ui_resources") { public_deps = [ "accessibility:resources", "bluetooth_internals:resources", "chrome_finds_internals:resources", "components:resources", "content_settings:resources", "context_hub:resources", "device_log:resources", "engagement:resources", "family_link_user_internals:resources", "location_internals:resources", "media:resources", "memory_internals:resources", "net_internals:resources", "omnibox:resources", "predictors:resources", "segmentation_internals:resources", "subresource_filter:resources", "suggest_internals:resources", "usb_internals:resources", "//components/actor/core/internals/resources", "//components/autofill/core/browser/autofill_and_password_manager_internals:resources", "//components/commerce/core/internals/resources", "//components/data_sharing/data_sharing_internals/resources", "//components/download/resources/download_internals:resources", "//components/enterprise/connectors/resources", "//components/gcm_driver/resources", "//components/history_clusters/history_clusters_internals/resources", "//components/metrics/debug:resources", "//components/net_log/resources", "//components/notebooks/internals/webui/resources", "//components/ntp_tiles/webui/resources", "//components/optimization_guide/optimization_guide_internals/resources", "//components/policy/resources/webui:resources", "//components/private_ai/private_ai_internals/resources", "//components/resources:dev_ui_components_resources", "//components/signin/core/browser/resources", "//components/sync/service/resources", "//components/translate/translate_internals:resources", "//components/ukm/debug:resources", "//components/webui/regional_capabilities_internals/resources", "//content/browser/resources/gpu:resources", "//content/browser/resources/indexed_db:resources", "//content/browser/resources/media:resources", "//content/browser/resources/net:resources", "//content/browser/resources/process:resources", "//content/browser/resources/quota:resources", "//content/browser/resources/service_worker:resources", "//content/browser/webrtc/resources", ] if (enable_vr) { public_deps += [ "//content/browser/resources/webxr_internals:resources" ] } if (is_android) { public_deps += [ "//chrome/browser/resources/feed_internals:resources", "//chrome/browser/resources/notifications_internals:resources", "//chrome/browser/resources/webapks:resources", ] } else { public_deps += [ "color_pipeline_internals:resources", "indigo_internals:resources", "infobar_internals:resources", "media_router/internals:resources", "multistep_filter_internals:resources", "on_device_internals:resources", "page_action_internals:resources", "user_education_internals:resources", "webnn_internals:resources", "webui_js_error:resources", ] } if (is_android || is_linux || is_chromeos || is_win) { public_deps += [ "//chrome/browser/resources/sandbox_internals:resources" ] } if (enable_session_service) { public_deps += [ "tab_strip_internals:resources" ] } if (enable_devtools_frontend) { public_deps += [ "//content/browser/devtools:devtools_resources" ] } } repack("dev_ui_paks") { output = "$root_gen_dir/chrome/dev_ui_resources.pak" sources = [ "$root_gen_dir/chrome/accessibility_resources.pak", "$root_gen_dir/chrome/bluetooth_internals_resources.pak", "$root_gen_dir/chrome/chrome_finds_internals_resources.pak", "$root_gen_dir/chrome/components_resources.pak", "$root_gen_dir/chrome/content_settings_resources.pak", "$root_gen_dir/chrome/context_hub_resources.pak", "$root_gen_dir/chrome/device_log_resources.pak", "$root_gen_dir/chrome/engagement_resources.pak", "$root_gen_dir/chrome/family_link_user_internals_resources.pak", "$root_gen_dir/chrome/location_internals_resources.pak", "$root_gen_dir/chrome/media_resources.pak", "$root_gen_dir/chrome/memory_internals_resources.pak", "$root_gen_dir/chrome/net_internals_resources.pak", "$root_gen_dir/chrome/omnibox_resources.pak", "$root_gen_dir/chrome/predictors_resources.pak", "$root_gen_dir/chrome/segmentation_internals_resources.pak", "$root_gen_dir/chrome/subresource_filter_internals_resources.pak", "$root_gen_dir/chrome/suggest_internals_resources.pak", "$root_gen_dir/chrome/usb_internals_resources.pak", "$root_gen_dir/components/actor_internals_resources.pak", "$root_gen_dir/components/autofill_and_password_manager_internals_resources.pak", "$root_gen_dir/components/commerce_internals_resources.pak", "$root_gen_dir/components/connectors_internals_resources.pak", "$root_gen_dir/components/data_sharing_internals_resources.pak", "$root_gen_dir/components/dev_ui_components_resources.pak", "$root_gen_dir/components/download_internals_resources.pak", "$root_gen_dir/components/gcm_internals_resources.pak", "$root_gen_dir/components/history_clusters_internals_resources.pak", "$root_gen_dir/components/metrics_internals_resources.pak", "$root_gen_dir/components/net_export_resources.pak", "$root_gen_dir/components/notebooks_internals_resources.pak", "$root_gen_dir/components/ntp_tiles_internals_resources.pak", "$root_gen_dir/components/optimization_guide_internals_resources.pak", "$root_gen_dir/components/policy_resources.pak", "$root_gen_dir/components/private_ai_internals_resources.pak", "$root_gen_dir/components/regional_capabilities_internals_resources.pak", "$root_gen_dir/components/signin_internals_resources.pak", "$root_gen_dir/components/sync_service_sync_internals_resources.pak", "$root_gen_dir/components/translate_internals_resources.pak", "$root_gen_dir/components/ukm_resources.pak", "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", "$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak", "$root_gen_dir/content/gpu_resources.pak", "$root_gen_dir/content/indexed_db_resources.pak", "$root_gen_dir/content/network_errors_resources.pak", "$root_gen_dir/content/process_resources.pak", "$root_gen_dir/content/quota_internals_resources.pak", "$root_gen_dir/content/service_worker_resources.pak", ] if (enable_vr) { sources += [ "$root_gen_dir/content/webxr_internals_resources.pak" ] } if (is_android) { sources += [ "$root_gen_dir/chrome/feed_internals_resources.pak", "$root_gen_dir/chrome/notifications_internals_resources.pak", "$root_gen_dir/chrome/webapks_resources.pak", ] } else { sources += [ "$root_gen_dir/chrome/color_pipeline_internals_resources.pak", "$root_gen_dir/chrome/indigo_internals_resources.pak", "$root_gen_dir/chrome/infobar_internals_resources.pak", "$root_gen_dir/chrome/media_router_internals_resources.pak", "$root_gen_dir/chrome/multistep_filter_internals_resources.pak", "$root_gen_dir/chrome/on_device_internals_resources.pak", "$root_gen_dir/chrome/page_action_internals_resources.pak", "$root_gen_dir/chrome/user_education_internals_resources.pak", "$root_gen_dir/chrome/webui_js_error_resources.pak", ] } if (is_android || is_linux || is_chromeos || is_win) { sources += [ "$root_gen_dir/chrome/sandbox_internals_resources.pak" ] } if (enable_session_service) { sources += [ "$root_gen_dir/chrome/tab_strip_internals_resources.pak" ] } if (enable_devtools_frontend) { sources += [ "$root_gen_dir/content/browser/devtools/devtools_resources.pak" ] } deps = [ ":dev_ui_resources" ] }