| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//chrome/common/features.gni") |
| import("//chromeos/dbus/config/use_real_dbus_clients.gni") |
| import("//components/enterprise/buildflags/buildflags.gni") |
| import("//components/safe_browsing/buildflags.gni") |
| import("//components/signin/features.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//tools/metrics/generate_allowlist_from_histograms_file.gni") |
| |
| generate_allowlist_from_histograms_file("webui_url_hashes") { |
| namespace = "webui_metrics" |
| input_xml_file = "//tools/metrics/histograms/metadata/ui/enums.xml" |
| tag = "enum" |
| output_file = "webui_url_hashes.h" |
| allow_list_name = "WebUIUrlHashes" |
| } |
| |
| generate_allowlist_from_histograms_file("webui_hosts") { |
| namespace = "webui_metrics" |
| input_xml_file = "//tools/metrics/histograms/metadata/page/histograms.xml" |
| output_file = "webui_hosts.h" |
| tag = "variant" |
| allow_list_name = "WebUIHost" |
| } |
| |
| source_set("configs") { |
| sources = [ |
| "chrome_untrusted_web_ui_configs.cc", |
| "chrome_untrusted_web_ui_configs.h", |
| "chrome_web_ui_configs.cc", |
| "chrome_web_ui_configs.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| if (!is_android) { |
| public_deps = [ |
| "//chrome/browser/ui/tabs/tab_group_home", |
| "//chrome/browser/ui/webui/commerce", |
| ] |
| } |
| |
| deps = [ |
| ":webui", |
| "//chrome/browser/optimization_guide", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui/webui/about", |
| "//chrome/browser/ui/webui/accessibility", |
| "//chrome/browser/ui/webui/autofill_and_password_manager_internals", |
| "//chrome/browser/ui/webui/internal_debug_pages_disabled", |
| "//chrome/browser/ui/webui/regional_capabilities_internals", |
| "//components/compose:buildflags", |
| "//components/lens:buildflags", |
| "//components/security_interstitials/content:security_interstitial_page", |
| "//content/public/browser", |
| "//extensions/buildflags", |
| "//printing/buildflags", |
| "//skia", |
| "//third_party/abseil-cpp:absl", |
| ] |
| |
| if (!is_android) { |
| deps += [ |
| "//chrome/browser/actor/ui", |
| "//chrome/browser/contextual_tasks:ui", |
| "//chrome/browser/ui/webui/access_code_cast", |
| "//chrome/browser/ui/webui/actor_internals", |
| "//chrome/browser/ui/webui/app_service_internals", |
| "//chrome/browser/ui/webui/autofill_ml_internals", |
| "//chrome/browser/ui/webui/color_pipeline_internals", |
| "//chrome/browser/ui/webui/infobar_internals", |
| "//chrome/browser/ui/webui/legion_internals", |
| "//chrome/browser/ui/webui/new_tab_footer", |
| "//chrome/browser/ui/webui/privacy_sandbox", |
| "//chrome/browser/ui/webui/reload_button", |
| "//chrome/browser/ui/webui_browser", |
| ] |
| |
| if (!is_chromeos) { |
| deps += [ "//chrome/browser/ui/webui/app_home" ] |
| } |
| } else { |
| #is_android |
| deps += [ "//chrome/browser/ui/webui/notifications_internals" ] |
| } |
| |
| if (safe_browsing_mode != 0) { |
| deps += [ "//chrome/browser/ui/webui/safe_browsing" ] |
| } |
| |
| if (is_win || is_mac || is_linux || is_chromeos) { |
| deps += [ |
| "//chrome/browser/ui/lens", |
| "//chrome/browser/ui/views/side_panel", |
| "//chrome/browser/ui/webui/signin", |
| ] |
| |
| if (!is_chromeos) { |
| deps += [ |
| "//chrome/browser/ui/webui/app_settings", |
| "//chrome/browser/ui/webui/signin:profile", |
| "//chrome/browser/ui/webui/whats_new", |
| ] |
| } |
| } |
| |
| if (is_chromeos) { |
| deps += [ |
| "//chrome/browser/ui/webui/ash/config", |
| "//chromeos/constants", |
| ] |
| } |
| |
| if (enterprise_watermark) { |
| deps += [ |
| "//chrome/browser/enterprise/watermark:watermark_view_lib", |
| "//chrome/browser/ui/webui/watermark", |
| ] |
| } |
| |
| if (enable_dice_support) { |
| deps += [ "//chrome/browser/ui/webui/signin/signout_confirmation" ] |
| } |
| |
| if (enable_glic) { |
| deps += [ "//chrome/browser/glic" ] |
| } |
| |
| if (enable_session_service) { |
| deps += [ "//chrome/browser/ui/webui/tab_strip_internals" ] |
| } |
| } |
| |
| source_set("webui") { |
| sources = [ |
| "constrained_web_dialog_ui.cc", |
| "constrained_web_dialog_ui.h", |
| "current_channel_logo.cc", |
| "current_channel_logo.h", |
| ] |
| |
| sources += get_target_outputs(":webui_hosts") |
| sources += get_target_outputs(":webui_url_hashes") |
| |
| public_deps = [ "//content/public/browser" ] |
| |
| deps = [ |
| ":webui_hosts", |
| ":webui_url_hashes", |
| "//chrome/common", |
| "//extensions/buildflags", |
| ] |
| if (enable_extensions_core) { |
| deps += [ "//chrome/browser/extensions" ] |
| } |
| if (!is_android) { |
| deps += [ "//ui/web_dialogs" ] |
| } |
| } |
| |
| if (!is_android) { |
| source_set("webui_util") { |
| sources = [ |
| "webui_embedding_context.cc", |
| "webui_embedding_context.h", |
| ] |
| |
| deps = [ |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/tabs:tabs_public", |
| ] |
| } |
| } |