| # 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", |
| ] |
| } |
| } |