blob: 41a4fd6ab6b1d376eab5411b6badad9f1d2648b7 [file] [log] [blame]
# 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/features.gni")
import("//components/services/on_device_translation/buildflags/features.gni")
import("//components/signin/features.gni")
import("//extensions/buildflags/buildflags.gni")
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
source_set("path_parser") {
sources = [ "policy_path_parser.h" ]
if (is_chromeos || is_linux) {
sources += [ "policy_path_parser_linux.cc" ]
} else if (is_mac) {
sources += [ "policy_path_parser_mac.mm" ]
} else if (is_win) {
sources += [ "policy_path_parser_win.cc" ]
}
deps = [
"//base",
"//chrome/common:constants",
"//components/policy:generated",
]
if (is_mac) {
deps += [ "//build:branding_buildflags" ]
} else if (is_win) {
deps += [ "//chrome/install_static:install_static_util" ]
}
if (is_win) {
libs = [ "wtsapi32.lib" ]
}
}
source_set("onc") {
sources = []
if (is_chromeos) {
sources += [
"networking/device_network_configuration_updater_ash.cc",
"networking/device_network_configuration_updater_ash.h",
"networking/network_configuration_updater.cc",
"networking/network_configuration_updater.h",
"networking/policy_cert_service.cc",
"networking/policy_cert_service.h",
"networking/policy_cert_service_factory.cc",
"networking/policy_cert_service_factory.h",
"networking/user_network_configuration_updater.cc",
"networking/user_network_configuration_updater.h",
"networking/user_network_configuration_updater_ash.cc",
"networking/user_network_configuration_updater_ash.h",
"networking/user_network_configuration_updater_factory.cc",
"networking/user_network_configuration_updater_factory.h",
]
}
deps = []
if (is_chromeos) {
deps += [
"//ash/constants",
"//base",
"//chrome/browser:browser_process",
"//chrome/browser/ash/login",
"//chrome/browser/ash/login/session",
"//chrome/browser/ash/policy/core",
"//chrome/browser/ash/profiles",
"//chrome/browser/extensions",
"//chrome/browser/profiles",
"//chrome/browser/profiles:profile",
"//chrome/common:constants",
"//chromeos/ash/components/browser_context_helper",
"//chromeos/ash/components/install_attributes",
"//chromeos/ash/components/network",
"//chromeos/ash/components/settings",
"//chromeos/ash/components/system",
"//chromeos/components/onc",
"//components/keyed_service/content",
"//components/onc",
"//components/policy/core/common",
"//components/policy/core/common:common_constants",
"//components/prefs",
"//components/user_manager",
"//dbus",
"//extensions/browser",
"//net",
]
allow_circular_includes_from = [
"//chrome/browser/ash/login",
"//chrome/browser/ash/policy/core",
]
}
}
source_set("system_features_disable_list") {
sources = []
if (is_chromeos) {
sources += [
"system_features_disable_list_policy_handler.cc",
"system_features_disable_list_policy_handler.h",
]
public_deps = [
"//base",
"//components/policy/core/browser",
"//components/prefs",
]
deps = [
"//ash/constants",
"//components/policy:generated",
"//components/policy:policy_code_generate",
"//components/policy/core/common:common_constants",
]
}
}
source_set("policy_util") {
sources = [
"policy_util.cc",
"policy_util.h",
]
public_deps = [ "//base" ]
deps = [
"//components/content_settings/core/common",
"//components/invalidation",
"//components/policy/core/common",
"//components/policy/core/common:common_constants",
"//components/prefs",
"//url",
]
}
source_set("test_support") {
testonly = true
sources = [
"cloud/cloud_policy_test_utils.cc",
"cloud/cloud_policy_test_utils.h",
"policy_test_utils.cc",
"policy_test_utils.h",
"safe_browsing_policy_test.cc",
"safe_browsing_policy_test.h",
]
deps = [
"//base",
"//chrome/browser/lifetime:termination_notification",
"//chrome/test:test_support",
"//components/policy/core/common",
"//components/policy/core/common:common_constants",
"//components/safe_search_api",
"//components/security_interstitials/content:security_interstitial_page",
"//url",
]
if (is_android) {
sources += [ "policy_test_utils_android.cc" ]
}
if (is_chromeos) {
deps += [
"//ash",
"//ash/public/cpp",
]
}
if (enable_dice_support) {
sources += [
"cloud/user_policy_signin_service_test_util.cc",
"cloud/user_policy_signin_service_test_util.h",
]
}
if (enable_extensions_core) {
sources += [
"extension_policy_test_base.cc",
"extension_policy_test_base.h",
]
}
if (!is_android) {
sources += [
"policy_test_utils_desktop.cc",
"safe_search_policy_test.cc",
"safe_search_policy_test.h",
"url_blocking_policy_test_utils.cc",
"url_blocking_policy_test_utils.h",
]
deps += [
"//chrome/browser/preloading:test_support",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui",
"//chrome/browser/ui/location_bar",
"//chrome/common:constants",
"//chrome/common/net",
"//components/omnibox/browser",
"//components/policy/core/browser",
"//components/policy/core/common:test_support",
"//components/security_interstitials/core",
"//components/variations:test_support",
"//content/public/browser",
"//content/public/common",
"//content/test:test_support",
"//mojo/public/cpp/bindings",
"//net",
"//net:test_support",
"//services/network/public/mojom",
"//ui/snapshot",
]
}
}
# Browser tests for specific policies.
source_set("policy_specific_browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"policy_network_browsertest.cc",
"site_isolation_policy_browsertest.cc",
"test/back_forward_cache_policy_browsertest.cc",
"test/certificate_transparency_policy_browsertest.cc",
"test/force_permission_policy_unload_default_enabled_policy_browsertest.cc",
"test/hsts_policy_browsertest.cc",
"test/network_prediction_policy_browsertest.cc",
"test/policy_statistics_collector_browsertest.cc",
"test/proxy_policies_browsertest.cc",
"test/safe_browsing_policy_browsertest.cc",
"test/shared_clipboard_enabled_browsertest.cc",
"test/ssl_error_overriding_allowed_policy_browsertest.cc",
"test/standardized_browser_zoom_browsertest.cc",
"test/url_keyed_anonymized_data_collection_enabled_browsertest.cc",
"test/web_rtc_udp_port_range_policy_browsertest.cc",
]
if (is_chromeos) {
sources += [ "test/policy_certs_browsertest.cc" ]
}
deps = [
":test_support",
"//base",
"//build:android_buildflags",
"//chrome/app:command_ids",
"//chrome/browser",
"//chrome/browser/media/webrtc",
"//chrome/browser/preloading:prefs",
"//chrome/browser/ui/autofill",
"//chrome/common",
"//chrome/test:test_support",
"//components/policy/core/common",
"//components/prefs",
"//components/proxy_config",
"//components/safe_browsing/core/common",
"//components/security_interstitials/content:security_interstitial_page",
"//components/site_isolation",
"//components/unified_consent",
"//content/test:test_support",
"//testing/gmock",
]
if (is_chromeos) {
deps += [
"//chrome/browser/ash/login/lock:test_support",
"//chrome/browser/ash/login/saml:test_support",
"//chrome/browser/ash/net",
"//chrome/browser/policy:onc",
"//chromeos:test_support",
"//chromeos/components/onc:test_support",
"//components/onc",
"//components/session_manager/core",
"//components/user_manager",
"//crypto:test_support",
]
}
if (!is_android) {
sources += [
"test/autofill_ai_policy_browsertest.cc",
"test/autofill_policy_browsertest.cc",
"test/automatic_fullscreen_policy_browsertest.cc",
"test/autoplay_policy_browsertest.cc",
"test/bookmark_bar_enabled_browsertest.cc",
"test/clear_window_name_for_new_browsing_context_group_browsertest.cc",
"test/component_updater_policy_browsertest.cc",
"test/data_url_policy_browsertest.cc",
"test/developer_tools_policy_browsertest.cc",
"test/download_directory_browsertest.cc",
"test/happy_eyeballs_v3_enabled_policy_browsertest.cc",
"test/ipv6_reachability_override_policy_browsertest.cc",
"test/legacy_cookie_scope_browsertest.cc",
"test/local_fonts_policy_browsertest.cc",
"test/media_stream_policy_browsertest.cc",
"test/partitioned_blob_url_browsertest.cc",
"test/quic_allowed_browsertest.cc",
"test/shared_dictionary_policy_browsertest.cc",
"test/signed_exchange_browsertest.cc",
"test/task_manager_end_process_enabled_browsertest.cc",
"test/web_rtc_event_log_collection_allowed_policy_browsertest.cc",
"test/web_rtc_local_ips_allowed_urls_policy_browsertest.cc",
"test/web_rtc_text_log_collection_allowed_policy_browsertest.cc",
"test/window_management_policy_browsertest.cc",
]
deps += [
"//chrome/browser/autofill",
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/devtools:test_support",
"//chrome/browser/profiles",
"//chrome/browser/profiles:profile",
"//chrome/browser/task_manager",
"//chrome/browser/ui/browser_window",
"//components/autofill/content/browser:test_support",
"//components/autofill/core/browser",
"//components/bookmarks/common",
"//components/enterprise",
"//components/enterprise:test_support",
"//components/policy:chrome_settings_proto_generated_compile",
"//components/policy/core/browser",
"//components/policy/core/common:common_constants",
"//components/policy/proto",
"//components/policy/test_support",
"//components/search",
"//components/webrtc",
]
}
if (!is_android && !is_chromeos) {
sources += [
"policy_startup_browsertest.cc",
"test/network_time_policy_browsertest.cc",
]
}
if (!is_chromeos) {
sources += [ "test/variation_restrict_parameter_policy_browsertest.cc" ]
deps += [ "//components/variations/service" ]
}
if (is_android) {
deps += [ "//chrome/browser/safe_browsing/android:test_support" ]
}
if (enable_on_device_translation) {
sources += [ "test/translator_api_policy_browsertest.cc" ]
deps += [ "//chrome/browser/on_device_translation:test_support" ]
}
}
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"cloud/cloud_policy_browsertest.cc",
"cloud/cloud_policy_manager_browsertest.cc",
"cloud/device_management_service_browsertest.cc",
"test/accessibility_policy_browsertest.cc",
]
data_deps = [ "//components/policy:policy_templates" ]
deps = [
":policy_specific_browser_tests",
":test_support",
"//base",
"//build:branding_buildflags",
"//chrome/browser",
"//chrome/browser:main_extra_parts",
"//chrome/browser/background",
"//chrome/browser/policy:policy_util",
"//chrome/browser/profiles:profile",
"//chrome/browser/search",
"//chrome/browser/signin",
"//chrome/browser/ui:ui_features",
"//chrome/common",
"//chrome/test:test_support",
"//components/enterprise",
"//components/enterprise:test_support",
"//components/invalidation:legacy_topics_cleanup",
"//components/invalidation:test_support",
"//components/keyed_service/core",
"//components/policy:chrome_settings_proto_generated_compile",
"//components/policy/core/browser",
"//components/policy/core/common",
"//components/policy/core/common:common_constants",
"//components/policy/proto",
"//components/policy/test_support",
"//components/prefs",
"//components/signin/public/identity_manager:test_support",
"//components/user_manager",
"//content/test:test_support",
"//google_apis",
"//net",
"//services/network:test_support",
"//services/network/public/cpp",
"//services/network/public/mojom",
"//testing/gmock",
]
if (enable_dice_support) {
sources += [ "cloud/user_policy_signin_service_browsertest.cc" ]
deps += [ "//chrome/browser/ui/webui/signin" ]
}
if (enable_extensions_core) {
sources += [ "extension_policy_browsertest.cc" ]
deps += [
"//chrome/browser/extensions",
"//chrome/browser/extensions:test_support",
]
if (enable_extensions) {
deps += [
"//chrome/browser/web_applications:web_applications_test_support",
"//components/webapps/browser",
]
}
}
if (is_android) {
sources += [
"cloud/chrome_browser_cloud_management_browsertest_delegate_android.cc",
"cloud/chrome_browser_cloud_management_browsertest_delegate_android.h",
]
}
if (is_chromeos) {
sources += [
"test/arc_policy_browsertest.cc",
"test/audio_output_allowed_browsertest.cc",
"test/gen_ai_vc_background_policy_browsertest.cc",
"test/gen_ai_wallpaper_policy_browsertest.cc",
"test/orca_policy_browsertest.cc",
"test/power_sounds_policy_browsertest.cc",
"test/privacy_hub_policy_browsertest.cc",
"test/screenshot_policy_browsertest.cc",
"test/session_length_limit_policy_browsertest.cc",
"test/suggested_content_policy_browsertest.cc",
"test/system_features_policy_browsertest.cc",
"test/unified_desktop_enabled_browsertest.cc",
"test/user_avatar_customization_selectors_enabled_policy_browsertest.cc",
"test/virtual_keyboard_policy_browsertest.cc",
]
deps += [
":system_features_disable_list",
"//chrome/browser/apps/app_service/app_icon",
"//chrome/browser/ash/accessibility",
"//chrome/browser/ash/arc/session",
"//chrome/browser/ash/crostini:test_support",
"//chrome/browser/ash/guest_os",
"//chrome/browser/ash/input_method",
"//chrome/browser/ash/login/users/avatar",
"//chrome/browser/ash/login/users/avatar:test_support",
"//chrome/browser/ash/login/users/default_user_image",
"//chrome/browser/ash/policy/core",
"//chrome/browser/ash/policy/handlers",
"//chrome/browser/ash/system_web_apps/apps/personalization_app",
"//chrome/browser/ash/system_web_apps/test_support",
"//chrome/browser/ash/test:test_support",
"//chrome/browser/ui/ash/keyboard",
"//chromeos/ash/components/audio",
"//chromeos/ash/components/cryptohome",
"//chromeos/ash/components/dbus/userdataauth",
"//chromeos/ash/experiences/arc:arc_test_support",
"//chromeos/ash/experiences/arc:prefs",
"//chromeos/ash/experiences/arc/session",
"//chromeos/ash/services/assistant/public/cpp",
"//chromeos/dbus/constants",
"//components/account_id",
]
}
if (is_linux || is_mac || is_win) {
sources += [ "test/audio_sandbox_enabled_browsertest.cc" ]
}
if (is_mac) {
sources += [
"cloud/chrome_browser_cloud_management_browsertest_mac_util.h",
"cloud/chrome_browser_cloud_management_browsertest_mac_util.mm",
"test/ad_hoc_code_signing_for_pwas_enabled_mac_browsertest.mm",
]
}
if (is_win) {
sources += [
"test/audio_process_high_priority_enabled_browsertest.cc",
"test/browser_dynamic_code_blocked_win_browsertest.cc",
"test/locale_policy_browsertest.cc",
"test/printing_lpac_sandbox_enabled_win_browsertest.cc",
"test/renderer_app_container_enabled_win_browsertest.cc",
"test/restrict_core_sharing_policy_browsertest.cc",
]
}
if (is_win || is_linux) {
sources += [ "test/network_service_sandbox_enabled_browsertest.cc" ]
}
if (!is_android) {
sources += [ "cloud/component_cloud_policy_browsertest.cc" ]
deps += [
"//chrome/browser/ui",
"//chrome/test:test_support",
]
}
if (!is_android && !is_chromeos) {
sources += [
"cloud/chrome_browser_cloud_management_browsertest_delegate_desktop.cc",
"cloud/chrome_browser_cloud_management_browsertest_delegate_desktop.h",
"test/hardware_acceleration_mode_enabled_browsertest.cc",
# Chrome OS does not support this policy.
"test/native_messaging_policy_browsertest.cc",
"test/swiftshader_enabled_browsertest.cc",
]
}
if (is_mac || is_win || is_linux) {
# Welcome and What's New pages that are controlled by the promotional
# tabs policy are win/mac/linux only.
sources += [ "test/promotional_tabs_enabled_policy_browsertest.cc" ]
deps += [
"//chrome/browser/prefs:util",
"//chrome/browser/ui/webui/whats_new",
"//chrome/common:version_header",
]
}
if (is_win || is_linux || is_chromeos) {
sources += [ "test/full_screen_allowed_policy_browsertest.cc" ]
if (enable_extensions) {
deps += [ "//chrome/browser/apps/app_service" ]
}
}
if (!is_chromeos) {
sources += [
"cloud/chrome_browser_cloud_management_browsertest.cc",
"cloud/chrome_browser_cloud_management_browsertest_delegate.h",
]
deps += [ "//components/signin/public/identity_manager" ]
}
if (is_linux || is_android) {
sources += [ "test/out_of_process_system_dns_resolution_browsertest.cc" ]
}
}
source_set("unit_tests") {
testonly = true
sources = []
if (is_chromeos) {
sources += [
"networking/network_configuration_updater_ash_unittest.cc",
"networking/network_configuration_updater_unittest.cc",
]
}
deps = []
if (is_chromeos) {
deps += [
":onc",
"//chrome/browser/ash/login/users:test_support",
"//chrome/browser/ash/settings",
"//chrome/browser/ash/settings:test_support",
"//chrome/test:test_support",
"//chromeos/ash/components/system",
"//chromeos/components/onc",
"//chromeos/components/onc:test_support",
"//components/onc",
]
}
}