# Copyright 2024 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/chromebox_for_meetings/buildflags.gni") import("//build/config/cuttlefish/buildflags.gni") import("//build/config/squid/buildflags.gni") assert(is_chromeos) static_library("dbus") { sources = [ "arc_crosh_service_provider.cc", "arc_crosh_service_provider.h", "arc_tracing_service_provider.cc", "arc_tracing_service_provider.h", "ash_dbus_helper.cc", "ash_dbus_helper.h", "chrome_features_service_provider.cc", "chrome_features_service_provider.h", "component_updater_service_provider.cc", "component_updater_service_provider.h", "cryptohome_key_delegate_service_provider.cc", "cryptohome_key_delegate_service_provider.h", "dlp_files_policy_service_provider.cc", "dlp_files_policy_service_provider.h", "drive_file_stream_service_provider.cc", "drive_file_stream_service_provider.h", "encrypted_reporting_service_provider.cc", "encrypted_reporting_service_provider.h", "fusebox_service_provider.cc", "fusebox_service_provider.h", "kiosk_info_service_provider.cc", "kiosk_info_service_provider.h", "libvda_service_provider.cc", "libvda_service_provider.h", "lock_to_single_user_service_provider.cc", "lock_to_single_user_service_provider.h", "machine_learning_decision_service_provider.cc", "machine_learning_decision_service_provider.h", "mojo_connection_service_provider.cc", "mojo_connection_service_provider.h", "printers_service_provider.cc", "printers_service_provider.h", "proxy_resolution_service_provider.cc", "proxy_resolution_service_provider.h", "screen_lock_service_provider.cc", "screen_lock_service_provider.h", "service_util.cc", "service_util.h", "smb_fs_service_provider.cc", "smb_fs_service_provider.h", "virtual_file_request_service_provider.cc", "virtual_file_request_service_provider.h", ] if (is_cuttlefish || is_squid) { sources += [ "fjord_oobe_service_provider.cc", "fjord_oobe_service_provider.h", ] } public_deps = [ "//base", "//chrome/browser:browser_public_dependencies", "//chrome/browser/ash/fusebox", "//chrome/browser/policy/messaging_layer/storage_selector", "//chromeos/ash/components/dbus/services", "//chromeos/dbus/missive", "//components/reporting/proto:record_proto", "//components/reporting/resources:resource_manager", "//dbus", "//mojo/public/cpp/platform", "//mojo/public/cpp/system", "//net", "//storage/browser", ] deps = [ "//ash/constants", "//ash/webui/shimless_rma", "//build/config/chromebox_for_meetings:buildflags", "//build/config/cuttlefish:buildflags", "//build/config/squid:buildflags", "//chrome/browser/ash/app_mode", "//chrome/browser/ash/arc/fileapi", "//chrome/browser/ash/arc/session", "//chrome/browser/ash/arc/tracing", "//chrome/browser/ash/bruschetta", "//chrome/browser/ash/certificate_provider", "//chrome/browser/ash/crostini", "//chrome/browser/ash/login", "//chrome/browser/ash/login/lock", "//chrome/browser/ash/net", "//chrome/browser/ash/net/rollback_network_config", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/policy/handlers", "//chrome/browser/ash/power/ml", "//chrome/browser/ash/printing", "//chrome/browser/ash/profiles", "//chrome/browser/ash/settings", "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/component_updater", "//chrome/browser/profiles:profile", "//chrome/browser/profiles:profile_manager", "//chrome/common:chrome_features", "//chrome/common:constants", "//chromeos/ash/components/attestation", "//chromeos/ash/components/browser_context_helper", "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/dbus", "//chromeos/ash/components/dbus/anomaly_detector", "//chromeos/ash/components/dbus/arc", "//chromeos/ash/components/dbus/attestation", "//chromeos/ash/components/dbus/audio", "//chromeos/ash/components/dbus/beam", "//chromeos/ash/components/dbus/biod", "//chromeos/ash/components/dbus/cdm_factory_daemon", "//chromeos/ash/components/dbus/cec_service", "//chromeos/ash/components/dbus/chaps", "//chromeos/ash/components/dbus/chunneld", "//chromeos/ash/components/dbus/cicerone", "//chromeos/ash/components/dbus/concierge", "//chromeos/ash/components/dbus/cros_disks", "//chromeos/ash/components/dbus/cryptohome:cryptohome_proto", "//chromeos/ash/components/dbus/debug_daemon", "//chromeos/ash/components/dbus/device_management", "//chromeos/ash/components/dbus/dlcservice", "//chromeos/ash/components/dbus/easy_unlock", "//chromeos/ash/components/dbus/featured", "//chromeos/ash/components/dbus/gnubby", "//chromeos/ash/components/dbus/hermes", "//chromeos/ash/components/dbus/human_presence", "//chromeos/ash/components/dbus/image_burner", "//chromeos/ash/components/dbus/image_loader", "//chromeos/ash/components/dbus/kerberos", "//chromeos/ash/components/dbus/lorgnette_manager", "//chromeos/ash/components/dbus/media_analytics", "//chromeos/ash/components/dbus/oobe_config", "//chromeos/ash/components/dbus/os_install", "//chromeos/ash/components/dbus/patchpanel", "//chromeos/ash/components/dbus/pciguard", "//chromeos/ash/components/dbus/printscanmgr", "//chromeos/ash/components/dbus/private_computing", "//chromeos/ash/components/dbus/resourced", "//chromeos/ash/components/dbus/rgbkbd", "//chromeos/ash/components/dbus/rmad", "//chromeos/ash/components/dbus/runtime_probe", "//chromeos/ash/components/dbus/seneschal", "//chromeos/ash/components/dbus/session_manager", "//chromeos/ash/components/dbus/shill", "//chromeos/ash/components/dbus/smbprovider", "//chromeos/ash/components/dbus/spaced", "//chromeos/ash/components/dbus/swap_management", "//chromeos/ash/components/dbus/system_clock", "//chromeos/ash/components/dbus/system_proxy", "//chromeos/ash/components/dbus/typecd", "//chromeos/ash/components/dbus/update_engine", "//chromeos/ash/components/dbus/upstart", "//chromeos/ash/components/dbus/userdataauth", "//chromeos/ash/components/dbus/virtual_file_provider", "//chromeos/ash/components/install_attributes", "//chromeos/ash/components/language_packs", "//chromeos/ash/components/settings", "//chromeos/ash/experiences/arc:arc_features", "//chromeos/ash/experiences/arc/session", "//chromeos/ash/experiences/arc/video", "//chromeos/ash/services/rollback_network_config/public/mojom", "//chromeos/components/mojo_bootstrap", "//chromeos/dbus/constants", "//chromeos/dbus/dissidia", "//chromeos/dbus/dlp", "//chromeos/dbus/dlp:dlp_proto", "//chromeos/dbus/init", "//chromeos/dbus/ip_peripheral", "//chromeos/dbus/machine_learning", "//chromeos/dbus/missive:history_tracker", "//chromeos/dbus/permission_broker", "//chromeos/dbus/power", "//chromeos/dbus/regmon", "//chromeos/dbus/tpm_manager", "//chromeos/dbus/u2f", "//components/account_id", "//components/prefs", "//components/reporting/proto:interface_proto", "//components/reporting/proto:status_proto", "//components/reporting/util:status", "//components/user_manager", "//content/public/browser", "//device/bluetooth", "//extensions/common", "//mojo/public/cpp/bindings", "//services/network/public/mojom", "//third_party/boringssl", "//ui/aura", "//url", ] data_deps = [ ":dbus_service_files" ] if (is_cfm) { deps += [ "//chromeos/ash/components/chromebox_for_meetings", "//chromeos/ash/components/dbus/chromebox_for_meetings", ] } if (is_cuttlefish || is_squid) { deps += [ "//chrome/browser/ash/login/fjord_oobe", "//chrome/browser/ash/login/fjord_oobe/proto", ] } } action("dbus_service_files") { sources = [ "org.chromium.ArcCroshServiceProvider.conf", "org.chromium.ArcTracing.conf", "org.chromium.ChromeFeaturesService.conf", "org.chromium.ComponentUpdaterService.conf", "org.chromium.CryptohomeKeyDelegate.conf", "org.chromium.DlpFilesPolicyService.conf", "org.chromium.DriveFileStreamService.conf", "org.chromium.EncryptedReportingUploadService.conf", "org.chromium.FjordOobeService.conf", "org.chromium.FuseBoxService.conf", "org.chromium.KioskAppService.conf", "org.chromium.LibvdaService.conf", "org.chromium.LockToSingleUser.conf", "org.chromium.MachineLearningDecisionService.conf", "org.chromium.MojoConnectionService.conf", "org.chromium.NetworkProxyService.conf", "org.chromium.PrintersService.conf", "org.chromium.ProfilerStatusService.conf", "org.chromium.ScreenLockService.conf", "org.chromium.SmbFsService.conf", "org.chromium.VirtualFileRequestService.conf", "vm/org.chromium.VmApplicationsService.conf", "vm/org.chromium.VmLaunchService.conf", "vm/org.chromium.VmManagementService.conf", "vm/org.chromium.VmPermissionService.conf", "vm/org.chromium.VmSKForwardingService.conf", "vm/org.chromium.VmWlService.conf", ] output_conf_file = "$root_out_dir/dbus/chrome_dbus_services.conf" outputs = [ output_conf_file ] script = "//chromeos/tools/concat_dbus_conf_files.py" args = [ rebase_path(output_conf_file, root_build_dir) ] args += rebase_path(sources, root_build_dir) } source_set("unit_tests") { testonly = true sources = [ "arc_crosh_service_provider_unittest.cc", "arc_tracing_service_provider_unittest.cc", "chrome_features_service_provider_unittest.cc", "dlp_files_policy_service_provider_unittest.cc", "encrypted_reporting_service_provider_unittest.cc", "proxy_resolution_service_provider_unittest.cc", ] deps = [ ":dbus", "//ash/constants", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser/ash/arc/session", "//chrome/browser/ash/arc/test:arc_test_support", "//chrome/browser/ash/arc/tracing", "//chrome/browser/ash/arc/tracing/test:test_support", "//chrome/browser/ash/net", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/policy/dlp/test:test_support", "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/chromeos/policy/dlp/test:test_support", "//chrome/browser/policy:test_support", "//chrome/test:test_support", "//chromeos/ash/components/dbus/services:test_support", "//chromeos/ash/components/dbus/system_proxy", "//chromeos/ash/components/dbus/upstart", "//chromeos/ash/components/install_attributes:test_support", "//chromeos/ash/components/network:test_support", "//chromeos/ash/experiences/arc:arc_test_support", "//chromeos/dbus/dlp:dlp_proto", "//chromeos/dbus/missive", "//components/exo", "//components/policy/core/common:test_support", "//components/reporting/proto:interface_proto", "//components/session_manager/core", "//components/session_manager/core:test_support", "//components/session_manager/test:test_support", "//content/test:test_support", "//dbus", "//google_apis", "//mojo/public/cpp/bindings", "//net", "//services/network:test_support", "//services/network/public/mojom", "//testing/gmock", "//testing/gtest", ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "cryptohome_key_delegate_service_provider_browsertest.cc", "proxy_resolution_service_provider_browsertest.cc", ] deps = [ ":dbus", "//ash/constants", "//base", "//base/test:test_support", "//chrome/browser", "//chrome/browser:browser_process", "//chrome/browser/ash/certificate_provider", "//chrome/browser/ash/certificate_provider:test_support", "//chrome/browser/ash/login:test_support", "//chrome/browser/ash/net", "//chrome/browser/policy:extension_force_install_mixin", "//chrome/browser/profiles:profile", "//chrome/browser/ui", "//chrome/common:non_code_constants", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/dbus/constants", "//chromeos/ash/components/dbus/cryptohome:cryptohome_proto", "//chromeos/ash/components/dbus/services:test_support", "//components/account_id", "//components/user_manager", "//content/public/browser", "//content/public/common", "//content/test:test_support", "//crypto", "//dbus", "//extensions/common", "//net", "//testing/gtest", ] }