| # Copyright 2018 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("//chrome/common/features.gni") |
| import("//crypto/features.gni") |
| import("//third_party/closure_compiler/compile_js.gni") |
| import("//ui/webui/resources/tools/build_webui.gni") |
| import("//ui/webui/webui_features.gni") |
| import("./settings.gni") |
| |
| assert(!is_android, "Android does not use these settings") |
| |
| if (is_chromeos_ash) { |
| group("closure_compile") { |
| deps = [ "chromeos:closure_compile_module" ] |
| } |
| } |
| |
| build_webui("build") { |
| grd_prefix = "settings" |
| |
| static_files = [ |
| "images/ad_privacy_banner_dark.svg", |
| "images/ad_privacy_banner.svg", |
| "images/cookies_banner_dark.svg", |
| "images/cookies_banner.svg", |
| "images/googleg_standard_clr_32px.svg", |
| "images/password_check_neutral_dark.svg", |
| "images/password_check_neutral.svg", |
| "images/password_check_positive_dark.svg", |
| "images/password_check_positive.svg", |
| "images/permissions_banner_dark.svg", |
| "images/permissions_banner.svg", |
| "images/privacy_guide/clouds_graphic_dark.svg", |
| "images/privacy_guide/clouds_graphic.svg", |
| "images/privacy_guide/completion_banner_circle.svg", |
| "images/privacy_guide/completion_banner_dark_v2.svg", |
| "images/privacy_guide/completion_banner_pill.svg", |
| "images/privacy_guide/completion_banner_square.svg", |
| "images/privacy_guide/completion_banner_triangle.svg", |
| "images/privacy_guide/completion_banner_v2.svg", |
| "images/privacy_guide/cookies_graphic_dark_v2.svg", |
| "images/privacy_guide/cookies_graphic_v2.svg", |
| "images/privacy_guide/hills_graphic_dark.svg", |
| "images/privacy_guide/hills_graphic.svg", |
| "images/privacy_guide/history_sync_graphic_dark_v2.svg", |
| "images/privacy_guide/history_sync_graphic_v2.svg", |
| "images/privacy_guide/horizon_graphic_dark.svg", |
| "images/privacy_guide/horizon_graphic.svg", |
| "images/privacy_guide/msbb_graphic_dark_v2.svg", |
| "images/privacy_guide/msbb_graphic_v2.svg", |
| "images/privacy_guide/privacy_sandbox_graphic_dark.svg", |
| "images/privacy_guide/privacy_sandbox_graphic.svg", |
| "images/privacy_guide/promo_banner_dark.svg", |
| "images/privacy_guide/promo_banner.svg", |
| "images/privacy_guide/safe_browsing_graphic_dark_v2.svg", |
| "images/privacy_guide/safe_browsing_graphic_v2.svg", |
| "images/privacy_guide/waa_graphic_dark.svg", |
| "images/privacy_guide/waa_graphic.svg", |
| "images/privacy_guide/welcome_banner_dark.svg", |
| "images/privacy_guide/welcome_banner.svg", |
| "images/privacy_sandbox_banner_v3_dark.svg", |
| "images/privacy_sandbox_banner_v3.svg", |
| "images/privacy_sandbox_floc_banner_dark.svg", |
| "images/privacy_sandbox_floc_banner.svg", |
| "images/safe_browsing_banner_dark.svg", |
| "images/safe_browsing_banner.svg", |
| "images/sync_banner_dark.svg", |
| "images/sync_banner.svg", |
| "privacy_sandbox/privacy_sandbox.html", |
| "settings.html", |
| ] |
| |
| # -----------------web_component_files start --------------------------------- |
| web_component_files = [ |
| "a11y_page/a11y_page.ts", |
| "a11y_page/live_caption_section.ts", |
| "about_page/about_page.ts", |
| "appearance_page/appearance_fonts_page.ts", |
| "appearance_page/appearance_page.ts", |
| "appearance_page/home_url_input.ts", |
| "autofill_page/address_edit_dialog.ts", |
| "autofill_page/address_remove_confirmation_dialog.ts", |
| "autofill_page/autofill_page.ts", |
| "autofill_page/autofill_section.ts", |
| "autofill_page/avatar_icon.ts", |
| "autofill_page/credit_card_edit_dialog.ts", |
| "autofill_page/credit_card_list_entry.ts", |
| "autofill_page/iban_edit_dialog.ts", |
| "autofill_page/iban_list_entry.ts", |
| "autofill_page/password_check_edit_disclaimer_dialog.ts", |
| "autofill_page/password_check_list_item.ts", |
| "autofill_page/password_check.ts", |
| "autofill_page/password_edit_dialog.ts", |
| "autofill_page/password_list_item.ts", |
| "autofill_page/password_move_multiple_passwords_to_account_dialog.ts", |
| "autofill_page/password_move_to_account_dialog.ts", |
| "autofill_page/password_remove_confirmation_dialog.ts", |
| "autofill_page/password_remove_dialog.ts", |
| "autofill_page/password_view.ts", |
| "autofill_page/passwords_device_section.ts", |
| "autofill_page/passwords_export_dialog.ts", |
| "autofill_page/passwords_import_dialog.ts", |
| "autofill_page/passwords_list_handler.ts", |
| "autofill_page/passwords_section.ts", |
| "autofill_page/payments_list.ts", |
| "autofill_page/payments_section.ts", |
| "autofill_page/upi_id_list_entry.ts", |
| "autofill_page/virtual_card_unenroll_dialog.ts", |
| "basic_page/basic_page.ts", |
| "clear_browsing_data_dialog/clear_browsing_data_dialog.ts", |
| "clear_browsing_data_dialog/history_deletion_dialog.ts", |
| "clear_browsing_data_dialog/passwords_deletion_dialog.ts", |
| "controls/controlled_button.ts", |
| "controls/controlled_radio_button.ts", |
| "controls/extension_controlled_indicator.ts", |
| "controls/settings_checkbox.ts", |
| "controls/settings_dropdown_menu.ts", |
| "controls/settings_radio_group.ts", |
| "controls/settings_slider.ts", |
| "controls/settings_toggle_button.ts", |
| "downloads_page/downloads_page.ts", |
| "on_startup_page/on_startup_page.ts", |
| "on_startup_page/startup_url_dialog.ts", |
| "on_startup_page/startup_url_entry.ts", |
| "on_startup_page/startup_urls_page.ts", |
| "performance_page/battery_page.ts", |
| "performance_page/performance_page.ts", |
| "performance_page/tab_discard_exception_dialog.ts", |
| "performance_page/tab_discard_exception_entry.ts", |
| "performance_page/tab_discard_exception_list.ts", |
| "people_page/people_page.ts", |
| "people_page/signout_dialog.ts", |
| "people_page/sync_account_control.ts", |
| "people_page/sync_controls.ts", |
| "people_page/sync_encryption_options.ts", |
| "people_page/sync_page.ts", |
| "privacy_page/collapse_radio_button.ts", |
| "privacy_page/cookies_page.ts", |
| "privacy_page/disable_safebrowsing_dialog.ts", |
| "privacy_page/do_not_track_toggle.ts", |
| "privacy_page/personalization_options.ts", |
| "privacy_page/preloading_page.ts", |
| "privacy_page/privacy_guide_promo.ts", |
| "privacy_page/privacy_guide/privacy_guide_completion_fragment.ts", |
| "privacy_page/privacy_guide/privacy_guide_completion_link_row.ts", |
| "privacy_page/privacy_guide/privacy_guide_cookies_fragment.ts", |
| "privacy_page/privacy_guide/privacy_guide_description_item.ts", |
| "privacy_page/privacy_guide/privacy_guide_dialog.ts", |
| "privacy_page/privacy_guide/privacy_guide_history_sync_fragment.ts", |
| "privacy_page/privacy_guide/privacy_guide_msbb_fragment.ts", |
| "privacy_page/privacy_guide/privacy_guide_page.ts", |
| "privacy_page/privacy_guide/privacy_guide_safe_browsing_fragment.ts", |
| "privacy_page/privacy_guide/privacy_guide_welcome_fragment.ts", |
| "privacy_page/privacy_guide/step_indicator.ts", |
| "privacy_page/privacy_page.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_ad_measurement_subpage.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_fledge_subpage.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_interest_item.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_page.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_topics_subpage.ts", |
| "privacy_page/secure_dns.ts", |
| "privacy_page/secure_dns_input.ts", |
| "privacy_page/security_keys_bio_enroll_dialog.ts", |
| "privacy_page/security_keys_credential_management_dialog.ts", |
| "privacy_page/security_keys_pin_field.ts", |
| "privacy_page/security_keys_reset_dialog.ts", |
| "privacy_page/security_keys_set_pin_dialog.ts", |
| "privacy_page/security_keys_subpage.ts", |
| "privacy_page/security_keys_phones_subpage.ts", |
| "privacy_page/security_keys_phones_list.ts", |
| "privacy_page/security_keys_phones_dialog.ts", |
| "privacy_page/security_page.ts", |
| "privacy_sandbox/app.ts", |
| "privacy_sandbox/interest_item.ts", |
| "reset_page/reset_page.ts", |
| "reset_page/reset_profile_banner.ts", |
| "reset_page/reset_profile_dialog.ts", |
| "safety_check_page/safety_check_child.ts", |
| "safety_check_page/safety_check_extensions_child.ts", |
| "safety_check_page/safety_check_notification_permissions.ts", |
| "safety_check_page/safety_check_page.ts", |
| "safety_check_page/safety_check_passwords_child.ts", |
| "safety_check_page/safety_check_safe_browsing_child.ts", |
| "safety_check_page/safety_check_unused_site_permissions.ts", |
| "safety_check_page/safety_check_updates_child.ts", |
| "search_engines_page/omnibox_extension_entry.ts", |
| "search_engines_page/search_engine_delete_confirmation_dialog.ts", |
| "search_engines_page/search_engine_edit_dialog.ts", |
| "search_engines_page/search_engine_entry.ts", |
| "search_engines_page/search_engines_list.ts", |
| "search_engines_page/search_engines_page.ts", |
| "search_page/search_page.ts", |
| "settings_main/settings_main.ts", |
| "settings_menu/settings_menu.ts", |
| "settings_page/settings_animated_pages.ts", |
| "settings_page/settings_section.ts", |
| "settings_page/settings_subpage.ts", |
| "settings_ui/settings_ui.ts", |
| "site_favicon.ts", |
| "site_settings/add_site_dialog.ts", |
| "site_settings/all_sites.ts", |
| "site_settings/category_default_setting.ts", |
| "site_settings/category_setting_exceptions.ts", |
| "site_settings/chooser_exception_list_entry.ts", |
| "site_settings/chooser_exception_list.ts", |
| "site_settings/site_details_permission_device_entry.ts", |
| "site_settings/edit_exception_dialog.ts", |
| "site_settings/media_picker.ts", |
| "site_settings/review_notification_permissions.ts", |
| "site_settings_page/recent_site_permissions.ts", |
| "site_settings_page/site_settings_list.ts", |
| "site_settings_page/site_settings_page.ts", |
| "site_settings_page/unused_site_permissions.ts", |
| "site_settings/pdf_documents.ts", |
| "site_settings/protocol_handlers.ts", |
| "site_settings/settings_category_default_radio_group.ts", |
| "site_settings/site_data.ts", |
| "site_settings/site_details_permission.ts", |
| "site_settings/site_details.ts", |
| "site_settings/site_entry.ts", |
| "site_settings/site_list_entry.ts", |
| "site_settings/site_list.ts", |
| "site_settings/zoom_levels.ts", |
| ] |
| |
| if (!is_chromeos_ash) { |
| web_component_files += [ |
| "people_page/manage_profile.ts", |
| "relaunch_confirmation_dialog.ts", |
| "languages_page/add_languages_dialog.ts", |
| "languages_page/languages_page.ts", |
| "languages_page/spell_check_page.ts", |
| "languages_page/translate_page.ts", |
| "system_page/system_page.ts", |
| ] |
| } |
| |
| if (!is_chromeos) { |
| web_component_files += [ |
| "default_browser_page/default_browser_page.ts", |
| "people_page/import_data_dialog.ts", |
| ] |
| } |
| |
| if (!is_chromeos_ash && !is_mac) { |
| web_component_files += [ "languages_page/edit_dictionary_page.ts" ] |
| } |
| |
| if (!is_mac) { |
| web_component_files += [ "a11y_page/captions_subpage.ts" ] |
| } else { |
| web_component_files += [ "autofill_page/passkey_edit_dialog.ts" ] |
| } |
| |
| if (is_win) { |
| web_component_files += [ |
| "incompatible_applications_page/incompatible_application_item.ts", |
| "incompatible_applications_page/incompatible_applications_page.ts", |
| ] |
| } |
| if (is_win || is_mac) { |
| web_component_files += [ |
| "autofill_page/passkeys_subpage.ts", |
| "autofill_page/passkeys_delete_confirmation_dialog.ts", |
| ] |
| } |
| if (is_chromeos) { |
| web_component_files += [ "controls/password_prompt_dialog.ts" ] |
| } |
| |
| # -----------------web_component_files end ---------------------------------- |
| |
| # -----------------non_web_component_files start ---------------------------- |
| |
| non_web_component_files = [ |
| "a11y_page/captions_browser_proxy.ts", |
| "about_page/about_page_browser_proxy.ts", |
| "appearance_page/appearance_browser_proxy.ts", |
| "appearance_page/fonts_browser_proxy.ts", |
| "autofill_page/address_edit_dialog_components.ts", |
| "autofill_page/autofill_manager_proxy.ts", |
| "autofill_page/merge_passwords_store_copies_mixin.ts", |
| "autofill_page/user_util_mixin.ts", |
| "autofill_page/password_check_mixin.ts", |
| "autofill_page/password_manager_proxy.ts", |
| "autofill_page/password_removal_mixin.ts", |
| "autofill_page/password_requestor_mixin.ts", |
| "autofill_page/payments_manager_proxy.ts", |
| "autofill_page/show_password_mixin.ts", |
| "base_mixin.ts", |
| "clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts", |
| "controls/cr_policy_pref_mixin.ts", |
| "controls/pref_control_mixin.ts", |
| "controls/settings_boolean_control_mixin.ts", |
| "controls/settings_idle_load.ts", |
| "downloads_page/downloads_browser_proxy.ts", |
| "ensure_lazy_loaded.ts", |
| "extension_control_browser_proxy.ts", |
| "focus_config.ts", |
| "global_scroll_target_mixin.ts", |
| "hats_browser_proxy.ts", |
| "i18n_setup.ts", |
| "lazy_load.ts", |
| "lifetime_browser_proxy.ts", |
| "metrics_browser_proxy.ts", |
| "on_startup_page/on_startup_browser_proxy.ts", |
| "on_startup_page/startup_urls_page_browser_proxy.ts", |
| "page_visibility.ts", |
| "people_page/sync_browser_proxy.ts", |
| "people_page/profile_info_browser_proxy.ts", |
| "performance_page/performance_browser_proxy.ts", |
| "performance_page/performance_metrics_proxy.ts", |
| "prefs/prefs_mixin.ts", |
| "prefs/prefs.ts", |
| "prefs/prefs_types.ts", |
| "prefs/pref_util.ts", |
| "privacy_page/privacy_guide/constants.ts", |
| "privacy_page/privacy_guide/privacy_guide_browser_proxy.ts", |
| "privacy_page/privacy_page_browser_proxy.ts", |
| "privacy_page/privacy_sandbox/privacy_sandbox_browser_proxy.ts", |
| "privacy_page/security_keys_browser_proxy.ts", |
| "privacy_sandbox/icons.html.ts", |
| "relaunch_mixin.ts", |
| "reset_page/reset_browser_proxy.ts", |
| "route.ts", |
| "router.ts", |
| "safety_check_page/safety_check_browser_proxy.ts", |
| "search_engines_page/search_engines_browser_proxy.ts", |
| "search_settings.ts", |
| "settings.ts", |
| "settings_page/main_page_mixin.ts", |
| "site_settings/constants.ts", |
| "site_settings/site_settings_mixin.ts", |
| "site_settings/site_settings_permissions_browser_proxy.ts", |
| "site_settings/site_settings_prefs_browser_proxy.ts", |
| "site_settings/website_usage_browser_proxy.ts", |
| "site_settings_page/site_settings_page_util.ts", |
| "tooltip_mixin.ts", |
| ] |
| |
| if (is_chromeos) { |
| non_web_component_files += [ "autofill_page/blocking_request_manager.ts" ] |
| } |
| |
| if (is_chromeos_ash) { |
| non_web_component_files += [ |
| "people_page/account_manager_browser_proxy.ts", |
| "site_settings/android_info_browser_proxy.ts", |
| ] |
| } else { |
| if (!is_chromeos_lacros) { |
| non_web_component_files += [ |
| "default_browser_page/default_browser_browser_proxy.ts", |
| "people_page/import_data_browser_proxy.ts", |
| ] |
| } |
| non_web_component_files += [ |
| "languages_page/languages.ts", |
| "languages_page/languages_browser_proxy.ts", |
| "languages_page/languages_settings_metrics_proxy.ts", |
| "languages_page/languages_types.ts", |
| "people_page/manage_profile_browser_proxy.ts", |
| "system_page/system_page_browser_proxy.ts", |
| ] |
| } |
| |
| if (is_win) { |
| non_web_component_files += [ "incompatible_applications_page/incompatible_applications_browser_proxy.ts" ] |
| } |
| if (is_win || is_mac) { |
| non_web_component_files += [ "autofill_page/passkeys_browser_proxy.ts" ] |
| } |
| |
| # -----------------non_web_component_files end ------------------------------- |
| |
| icons_html_files = [ |
| "icons.html", |
| "site_settings/all_sites_icons.html", |
| ] |
| |
| css_files = [ |
| "settings_page_styles.css", |
| "settings_shared.css", |
| "settings_vars.css", |
| |
| # subfolder files |
| "autofill_page/passwords_shared.css", |
| "privacy_page/privacy_guide/privacy_guide_fragment_shared.css", |
| "search_engines_page/search_engine_entry.css", |
| "site_settings/clear_storage_dialog_shared.css", |
| "site_settings_page/site_review_shared.css", |
| ] |
| |
| ts_composite = true |
| ts_definitions = [ |
| "//tools/typescript/definitions/autofill_private.d.ts", |
| "//tools/typescript/definitions/chrome_send.d.ts", |
| "//tools/typescript/definitions/language_settings_private.d.ts", |
| "//tools/typescript/definitions/management.d.ts", |
| "//tools/typescript/definitions/metrics_private.d.ts", |
| "//tools/typescript/definitions/passwords_private.d.ts", |
| "//tools/typescript/definitions/pending.d.ts", |
| "//tools/typescript/definitions/runtime.d.ts", |
| "//tools/typescript/definitions/settings_private.d.ts", |
| "//tools/typescript/definitions/tabs.d.ts", |
| ] |
| if (is_chromeos) { |
| ts_definitions += |
| [ "//tools/typescript/definitions/quick_unlock_private.d.ts" ] |
| } |
| |
| ts_deps = [ |
| "//third_party/polymer/v3_0:library", |
| "//ui/webui/resources/cr_components/help_bubble:build_ts", |
| "//ui/webui/resources/cr_components/localized_link:build_ts", |
| "//ui/webui/resources/cr_components/managed_dialog:build_ts", |
| "//ui/webui/resources/cr_components/managed_footnote:build_ts", |
| "//ui/webui/resources/cr_elements:build_ts", |
| "//ui/webui/resources/js:build_ts", |
| ] |
| |
| if (!is_chromeos_ash) { |
| ts_deps += |
| [ "//ui/webui/resources/cr_components/customize_themes:build_ts" ] |
| } |
| |
| if (use_nss_certs) { |
| ts_deps += |
| [ "//ui/webui/resources/cr_components/certificate_manager:build_ts" ] |
| } |
| |
| if (is_chromeos_ash) { |
| # TODO(crbug.com/1013466): Browser Settings should not depend on ash/webui/ |
| # code. The codepath needing this (in people_page.ts) should be removed when |
| # the SplitSettings effort makes progress (unclear status as of this |
| # writing, unfortunately). |
| ts_extra_deps = [ "//ash/webui/common/resources:generate_definitions" ] |
| } |
| |
| if (optimize_webui) { |
| extra_grdp_deps = [ "privacy_sandbox:build_grdp" ] |
| extra_grdp_files = [ "$target_gen_dir/privacy_sandbox/resources.grdp" ] |
| } |
| |
| optimize = optimize_webui |
| if (optimize) { |
| optimize_webui_host = "settings" |
| optimize_webui_in_files = [ |
| "settings.js", |
| "lazy_load.js", |
| ] |
| optimize_webui_excludes = |
| [ "chrome://resources/mojo/skia/public/mojom/skcolor.mojom-webui.js" ] |
| } |
| } |