From 33edea6333b4213ec824c9e7e2eb33e4393ac0d6 Mon Sep 17 00:00:00 2001 From: Alexander David Frick Date: Tue, 24 May 2022 12:48:24 -0500 Subject: [PATCH] Add files via upload --- content/test/BUILD.gn | 3063 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3063 insertions(+) create mode 100644 content/test/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn new file mode 100644 index 00000000..73873b69 --- /dev/null +++ b/content/test/BUILD.gn @@ -0,0 +1,3063 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/chrome_build.gni") +import("//build/config/chromecast_build.gni") +import("//build/config/chromeos/ui_mode.gni") +import("//build/config/compiler/compiler.gni") +import("//build/config/features.gni") +import("//build/config/ui.gni") +import("//build/nocompile.gni") +import("//build/rust/mixed_static_library.gni") +import("//build/rust/rust_macro.gni") +import("//components/viz/common/debugger/viz_debugger.gni") +import("//content/common/features.gni") +import("//device/vr/buildflags/buildflags.gni") +import("//media/media_options.gni") +import("//mojo/public/tools/bindings/mojom.gni") +import("//net/features.gni") +import("//ppapi/buildflags/buildflags.gni") +import("//printing/buildflags/buildflags.gni") +import("//testing/test.gni") +import("//third_party/blink/public/public_features.gni") +import("//third_party/closure_compiler/closure_args.gni") +import("//third_party/closure_compiler/compile_js.gni") +import("//tools/grit/grit_rule.gni") +import("//tools/v8_context_snapshot/v8_context_snapshot.gni") +import("//v8/gni/v8.gni") + +if (is_android) { + import("//build/config/android/rules.gni") # For generate_jni(). +} + +if (enable_rust) { + rust_static_library("content_private_test_support") { + testonly = true + + crate_name = "content_private_test_support" + crate_root = "content_private_test_support.rs" + sources = [ crate_root ] + + public_deps = [ ":browser_test_macro" ] + + deps = [ + ":test_support", + "//testing/rust_gtest_interop", + ] + + visibility = [ "//content/*" ] + } + + rust_macro("browser_test_macro") { + testonly = true + + crate_name = "browser_test_macro" + crate_root = "browser_test_macro.rs" + sources = [ crate_root ] + deps = [ + "//third_party/rust/proc_macro2/v1:lib", + "//third_party/rust/quote/v1:lib", + ] + + # This target is part of `content_private_test_support`. + visibility = [ ":*" ] + } +} + +# Use a static library here because many test binaries depend on this but don't +# require many files from it. This makes linking more efficient. +static_library("test_support") { + testonly = true + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + sources = [ + "../browser/accessibility/test_browser_accessibility_delegate.cc", + "../browser/accessibility/test_browser_accessibility_delegate.h", + "../browser/aggregation_service/aggregation_service_test_utils.cc", + "../browser/aggregation_service/aggregation_service_test_utils.h", + "../browser/attribution_reporting/attribution_insecure_random_generator.cc", + "../browser/attribution_reporting/attribution_insecure_random_generator.h", + "../browser/attribution_reporting/attribution_interop_parser.cc", + "../browser/attribution_reporting/attribution_interop_parser.h", + "../browser/attribution_reporting/attribution_parser_test_utils.cc", + "../browser/attribution_reporting/attribution_parser_test_utils.h", + "../browser/attribution_reporting/attribution_test_utils.cc", + "../browser/attribution_reporting/attribution_test_utils.h", + "../browser/background_fetch/background_fetch_test_base.cc", + "../browser/background_fetch/background_fetch_test_base.h", + "../browser/background_fetch/background_fetch_test_browser_context.cc", + "../browser/background_fetch/background_fetch_test_browser_context.h", + "../browser/background_fetch/background_fetch_test_data_manager.cc", + "../browser/background_fetch/background_fetch_test_data_manager.h", + "../browser/background_fetch/background_fetch_test_service_worker.cc", + "../browser/background_fetch/background_fetch_test_service_worker.h", + "../browser/background_fetch/mock_background_fetch_delegate.cc", + "../browser/background_fetch/mock_background_fetch_delegate.h", + "../browser/browsing_data/browsing_data_test_utils.cc", + "../browser/browsing_data/browsing_data_test_utils.h", + "../browser/direct_sockets/direct_sockets_test_utils.cc", + "../browser/direct_sockets/direct_sockets_test_utils.h", + "../browser/file_system_access/fake_file_system_access_permission_context.cc", + "../browser/file_system_access/fake_file_system_access_permission_context.h", + "../browser/file_system_access/file_system_chooser_test_helpers.cc", + "../browser/file_system_access/file_system_chooser_test_helpers.h", + "../browser/file_system_access/mock_file_system_access_permission_context.cc", + "../browser/file_system_access/mock_file_system_access_permission_context.h", + "../browser/file_system_access/mock_file_system_access_permission_grant.cc", + "../browser/file_system_access/mock_file_system_access_permission_grant.h", + "../browser/font_access/font_access_test_utils.cc", + "../browser/font_access/font_access_test_utils.h", + "../browser/media/session/mock_media_session_player_observer.cc", + "../browser/media/session/mock_media_session_player_observer.h", + "../browser/media/session/mock_media_session_service_impl.cc", + "../browser/media/session/mock_media_session_service_impl.h", + "../browser/presentation/presentation_test_utils.cc", + "../browser/presentation/presentation_test_utils.h", + "../browser/renderer_host/document_service_echo_impl.cc", + "../browser/renderer_host/document_service_echo_impl.h", + "../browser/renderer_host/input/mock_input_router.cc", + "../browser/renderer_host/input/mock_input_router.h", + "../browser/renderer_host/mock_render_widget_host.cc", + "../browser/renderer_host/mock_render_widget_host.h", + "../browser/service_worker/embedded_worker_test_helper.cc", + "../browser/service_worker/embedded_worker_test_helper.h", + "../browser/service_worker/fake_embedded_worker_instance_client.cc", + "../browser/service_worker/fake_embedded_worker_instance_client.h", + "../browser/service_worker/fake_service_worker.cc", + "../browser/service_worker/fake_service_worker.h", + "../browser/service_worker/service_worker_test_utils.cc", + "../browser/service_worker/service_worker_test_utils.h", + "../browser/service_worker/test_service_worker_observer.cc", + "../browser/service_worker/test_service_worker_observer.h", + "../browser/sms/test/mock_sms_provider.cc", + "../browser/sms/test/mock_sms_provider.h", + "../browser/sms/test/mock_sms_web_contents_delegate.cc", + "../browser/sms/test/mock_sms_web_contents_delegate.h", + "../browser/sms/test/mock_user_consent_handler.cc", + "../browser/sms/test/mock_user_consent_handler.h", + "../browser/web_package/mock_signed_exchange_handler.cc", + "../browser/web_package/mock_signed_exchange_handler.h", + "../browser/web_package/mock_web_bundle_reader_factory.cc", + "../browser/web_package/mock_web_bundle_reader_factory.h", + "../browser/web_package/signed_exchange_test_utils.h", + "../browser/worker_host/test_shared_worker_service_impl.cc", + "../browser/worker_host/test_shared_worker_service_impl.h", + "../public/test/accessibility_notification_waiter.cc", + "../public/test/accessibility_notification_waiter.h", + "../public/test/attribution_simulator.h", + "../public/test/attribution_simulator_environment.h", + "../public/test/audio_service_test_helper.cc", + "../public/test/audio_service_test_helper.h", + "../public/test/back_forward_cache_util.cc", + "../public/test/back_forward_cache_util.h", + "../public/test/background_color_change_waiter.cc", + "../public/test/background_color_change_waiter.h", + "../public/test/background_sync_test_util.cc", + "../public/test/background_sync_test_util.h", + "../public/test/blink_test_environment.cc", + "../public/test/blink_test_environment.h", + "../public/test/bluetooth_test_utils.cc", + "../public/test/bluetooth_test_utils.h", + "../public/test/browser_task_environment.cc", + "../public/test/browser_task_environment.h", + "../public/test/browser_test.h", + "../public/test/browser_test_base.cc", + "../public/test/browser_test_base.h", + "../public/test/browser_test_utils.cc", + "../public/test/browser_test_utils.h", + "../public/test/browsing_data_remover_test_util.cc", + "../public/test/browsing_data_remover_test_util.h", + "../public/test/browsing_topics_test_util.cc", + "../public/test/browsing_topics_test_util.h", + "../public/test/commit_message_delayer.cc", + "../public/test/commit_message_delayer.h", + "../public/test/content_mock_cert_verifier.cc", + "../public/test/content_mock_cert_verifier.h", + "../public/test/content_test_suite_base.cc", + "../public/test/content_test_suite_base.h", + "../public/test/download_test_observer.cc", + "../public/test/download_test_observer.h", + "../public/test/fake_download_item.cc", + "../public/test/fake_download_item.h", + "../public/test/fake_frame_widget.cc", + "../public/test/fake_frame_widget.h", + "../public/test/fake_local_frame.cc", + "../public/test/fake_local_frame.h", + "../public/test/fake_remote_frame.cc", + "../public/test/fake_remote_frame.h", + "../public/test/fake_render_widget_host.cc", + "../public/test/fake_render_widget_host.h", + "../public/test/fake_service_worker_context.cc", + "../public/test/fake_service_worker_context.h", + "../public/test/fake_speech_recognition_manager.cc", + "../public/test/fake_speech_recognition_manager.h", + "../public/test/fenced_frame_test_util.cc", + "../public/test/fenced_frame_test_util.h", + "../public/test/find_test_utils.cc", + "../public/test/find_test_utils.h", + "../public/test/focus_changed_observer.cc", + "../public/test/focus_changed_observer.h", + "../public/test/frame_load_waiter.cc", + "../public/test/frame_load_waiter.h", + "../public/test/frame_test_utils.cc", + "../public/test/frame_test_utils.h", + "../public/test/hit_test_region_observer.cc", + "../public/test/hit_test_region_observer.h", + "../public/test/javascript_test_observer.cc", + "../public/test/javascript_test_observer.h", + "../public/test/local_frame_host_interceptor.cc", + "../public/test/local_frame_host_interceptor.h", + "../public/test/media_start_stop_observer.cc", + "../public/test/media_start_stop_observer.h", + "../public/test/mock_browsing_data_remover_delegate.cc", + "../public/test/mock_browsing_data_remover_delegate.h", + "../public/test/mock_client_hints_controller_delegate.h", + "../public/test/mock_download_manager.cc", + "../public/test/mock_download_manager.h", + "../public/test/mock_navigation_handle.cc", + "../public/test/mock_navigation_handle.h", + "../public/test/mock_notification_observer.cc", + "../public/test/mock_notification_observer.h", + "../public/test/mock_permission_controller.cc", + "../public/test/mock_permission_controller.h", + "../public/test/mock_permission_manager.cc", + "../public/test/mock_permission_manager.h", + "../public/test/mock_policy_container_host.cc", + "../public/test/mock_policy_container_host.h", + "../public/test/mock_render_process_host.cc", + "../public/test/mock_render_process_host.h", + "../public/test/mock_render_thread.cc", + "../public/test/mock_render_thread.h", + "../public/test/mock_resource_context.cc", + "../public/test/mock_resource_context.h", + "../public/test/mock_web_contents_observer.cc", + "../public/test/mock_web_contents_observer.h", + "../public/test/navigation_handle_observer.cc", + "../public/test/navigation_handle_observer.h", + "../public/test/navigation_simulator.h", + "../public/test/network_connection_change_simulator.cc", + "../public/test/network_connection_change_simulator.h", + "../public/test/network_service_test_helper.cc", + "../public/test/network_service_test_helper.h", + "../public/test/no_renderer_crashes_assertion.cc", + "../public/test/no_renderer_crashes_assertion.h", + "../public/test/permissions_test_utils.cc", + "../public/test/permissions_test_utils.h", + "../public/test/policy_container_utils.cc", + "../public/test/policy_container_utils.h", + "../public/test/prerender_test_util.cc", + "../public/test/prerender_test_util.h", + "../public/test/private_network_access_util.cc", + "../public/test/private_network_access_util.h", + "../public/test/render_frame_host_test_support.cc", + "../public/test/render_frame_host_test_support.h", + "../public/test/render_view_test.cc", + "../public/test/render_view_test.h", + "../public/test/scoped_overscroll_modes.cc", + "../public/test/scoped_overscroll_modes.h", + "../public/test/scoped_page_focus_override.cc", + "../public/test/scoped_page_focus_override.h", + "../public/test/scoped_time_zone.cc", + "../public/test/scoped_time_zone.h", + "../public/test/scoped_web_ui_controller_factory_registration.cc", + "../public/test/scoped_web_ui_controller_factory_registration.h", + "../public/test/service_worker_host_interceptor.cc", + "../public/test/service_worker_host_interceptor.h", + "../public/test/service_worker_test_helpers.cc", + "../public/test/service_worker_test_helpers.h", + "../public/test/shared_storage_test_utils.cc", + "../public/test/shared_storage_test_utils.h", + "../public/test/signed_exchange_browser_test_helper.cc", + "../public/test/signed_exchange_browser_test_helper.h", + "../public/test/simple_url_loader_test_helper.cc", + "../public/test/simple_url_loader_test_helper.h", + "../public/test/slow_download_http_response.cc", + "../public/test/slow_download_http_response.h", + "../public/test/slow_http_response.cc", + "../public/test/slow_http_response.h", + "../public/test/test_aggregation_service.cc", + "../public/test/test_aggregation_service.h", + "../public/test/test_browser_context.cc", + "../public/test/test_browser_context.h", + "../public/test/test_content_client_initializer.cc", + "../public/test/test_content_client_initializer.h", + "../public/test/test_devtools_protocol_client.cc", + "../public/test/test_devtools_protocol_client.h", + "../public/test/test_download_http_response.cc", + "../public/test/test_download_http_response.h", + "../public/test/test_file_error_injector.cc", + "../public/test/test_file_error_injector.h", + "../public/test/test_fileapi_operation_waiter.cc", + "../public/test/test_fileapi_operation_waiter.h", + "../public/test/test_frame_navigation_observer.cc", + "../public/test/test_frame_navigation_observer.h", + "../public/test/test_host_resolver.cc", + "../public/test/test_host_resolver.h", + "../public/test/test_launcher.cc", + "../public/test/test_launcher.h", + "../public/test/test_navigation_observer.cc", + "../public/test/test_navigation_observer.h", + "../public/test/test_navigation_throttle.cc", + "../public/test/test_navigation_throttle.h", + "../public/test/test_navigation_throttle_inserter.cc", + "../public/test/test_navigation_throttle_inserter.h", + "../public/test/test_navigation_ui_data.cc", + "../public/test/test_navigation_ui_data.h", + "../public/test/test_notification_tracker.cc", + "../public/test/test_notification_tracker.h", + "../public/test/test_renderer_host.cc", + "../public/test/test_renderer_host.h", + "../public/test/test_storage_partition.cc", + "../public/test/test_storage_partition.h", + "../public/test/test_utils.cc", + "../public/test/test_utils.h", + "../public/test/test_web_contents_factory.h", + "../public/test/test_web_ui.cc", + "../public/test/test_web_ui.h", + "../public/test/test_web_ui_data_source.cc", + "../public/test/test_web_ui_data_source.h", + "../public/test/test_web_ui_listener_observer.cc", + "../public/test/test_web_ui_listener_observer.h", + "../public/test/text_input_test_utils.cc", + "../public/test/text_input_test_utils.h", + "../public/test/theme_change_waiter.cc", + "../public/test/theme_change_waiter.h", + "../public/test/unittest_test_suite.cc", + "../public/test/unittest_test_suite.h", + "../public/test/url_loader_interceptor.cc", + "../public/test/url_loader_interceptor.h", + "../public/test/url_loader_monitor.cc", + "../public/test/url_loader_monitor.h", + "../public/test/web_contents_tester.cc", + "../public/test/web_contents_tester.h", + "../public/test/web_transport_simple_test_server.cc", + "../public/test/web_transport_simple_test_server.h", + "../public/test/web_ui_browsertest_util.cc", + "../public/test/web_ui_browsertest_util.h", + "../renderer/mock_agent_scheduling_group.cc", + "../renderer/mock_agent_scheduling_group.h", + "attribution_simulator_environment.cc", + "attribution_simulator_impl.cc", + "attribution_simulator_input_parser.cc", + "attribution_simulator_input_parser.h", + "content_browser_consistency_checker.cc", + "content_browser_consistency_checker.h", + "content_test_suite.cc", + "content_test_suite.h", + "did_commit_navigation_interceptor.cc", + "did_commit_navigation_interceptor.h", + "fake_network.cc", + "fake_network.h", + "fake_network_url_loader_factory.cc", + "fake_network_url_loader_factory.h", + "fake_renderer_compositor_frame_sink.cc", + "fake_renderer_compositor_frame_sink.h", + "fenced_frame_test_utils.cc", + "fenced_frame_test_utils.h", + "frame_host_interceptor.cc", + "frame_host_interceptor.h", + "gpu_browsertest_helpers.cc", + "gpu_browsertest_helpers.h", + "io_thread_shared_url_loader_factory_owner.cc", + "io_thread_shared_url_loader_factory_owner.h", + "mock_agent_scheduling_group_host.cc", + "mock_agent_scheduling_group_host.h", + "mock_background_sync_controller.cc", + "mock_background_sync_controller.h", + "mock_badge_service.cc", + "mock_badge_service.h", + "mock_client_hints_controller_delegate.cc", + "mock_clipboard_host.cc", + "mock_clipboard_host.h", + "mock_commit_deferring_condition.cc", + "mock_commit_deferring_condition.h", + "mock_display_feature.cc", + "mock_display_feature.h", + "mock_keyboard.cc", + "mock_keyboard.h", + "mock_overscroll_observer.h", + "mock_platform_notification_service.cc", + "mock_platform_notification_service.h", + "mock_render_widget_host_delegate.cc", + "mock_render_widget_host_delegate.h", + "mock_ssl_host_state_delegate.cc", + "mock_ssl_host_state_delegate.h", + "mock_widget.cc", + "mock_widget.h", + "mock_widget_input_handler.cc", + "mock_widget_input_handler.h", + "navigation_simulator_impl.cc", + "navigation_simulator_impl.h", + "portal/portal_activated_observer.cc", + "portal/portal_activated_observer.h", + "portal/portal_created_observer.cc", + "portal/portal_created_observer.h", + "portal/portal_interceptor_for_testing.cc", + "portal/portal_interceptor_for_testing.h", + "render_document_feature.cc", + "render_document_feature.h", + "render_widget_host_visibility_observer.cc", + "render_widget_host_visibility_observer.h", + "storage_partition_test_helpers.cc", + "storage_partition_test_helpers.h", + "stub_render_view_host_delegate_view.h", + "stub_render_widget_host_owner_delegate.cc", + "stub_render_widget_host_owner_delegate.h", + "task_runner_deferring_throttle.cc", + "task_runner_deferring_throttle.h", + "test_aggregation_service_impl.cc", + "test_aggregation_service_impl.h", + "test_background_sync_context.cc", + "test_background_sync_context.h", + "test_background_sync_manager.cc", + "test_background_sync_manager.h", + "test_background_sync_proxy.cc", + "test_background_sync_proxy.h", + "test_blink_web_unit_test_support.cc", + "test_blink_web_unit_test_support.h", + "test_content_browser_client.cc", + "test_content_browser_client.h", + "test_content_client.cc", + "test_content_client.h", + "test_navigation_url_loader.cc", + "test_navigation_url_loader.h", + "test_navigation_url_loader_delegate.cc", + "test_navigation_url_loader_delegate.h", + "test_navigation_url_loader_factory.cc", + "test_navigation_url_loader_factory.h", + "test_overscroll_delegate.cc", + "test_overscroll_delegate.h", + "test_page_broadcast.cc", + "test_page_broadcast.h", + "test_render_frame.cc", + "test_render_frame.h", + "test_render_frame_host.cc", + "test_render_frame_host.h", + "test_render_frame_host_factory.cc", + "test_render_frame_host_factory.h", + "test_render_view_host.cc", + "test_render_view_host.h", + "test_render_view_host_factory.cc", + "test_render_view_host_factory.h", + "test_render_widget_host.cc", + "test_render_widget_host.h", + "test_render_widget_host_factory.cc", + "test_render_widget_host_factory.h", + "test_web_contents.cc", + "test_web_contents.h", + "test_web_contents_factory.cc", + "web_contents_observer_consistency_checker.cc", + "web_contents_observer_consistency_checker.h", + "web_contents_observer_test_utils.cc", + "web_contents_observer_test_utils.h", + ] + + configs += [ + "//build/config:precompiled_headers", + "//v8:external_startup_data", + "//tools/v8_context_snapshot:use_v8_context_snapshot", + ] + + public_deps = [ + ":test_interfaces", + "//components/download/public/common:test_support", + "//components/enterprise/common:download_item_reroute_info", + "//components/services/filesystem/public/mojom", + "//components/services/storage/public/cpp", + "//components/services/storage/public/mojom", + "//content/public/app", + "//content/public/browser", + "//content/public/common", + "//content/public/utility", + "//content/services/shared_storage_worklet/public/mojom:mojom", + "//ipc", + "//media/mojo/clients", + "//media/mojo/mojom", + "//services/media_session/public/cpp/test:test_support", + "//services/media_session/public/mojom", + "//third_party/abseil-cpp:absl", + "//third_party/blink/public:blink", + "//third_party/blink/public:test_support", + "//third_party/blink/public/common:headers", + "//third_party/blink/public/strings:accessibility_strings", + "//third_party/blink/public/strings:strings_grit", + "//ui/gl:test_support", + ] + + deps = [ + ":content_test_mojo_bindings", + "//base/third_party/dynamic_annotations", + "//build:chromeos_buildflags", + "//cc:test_support", + "//components/browsing_topics/common:common", + "//components/network_session_configurator/common:common", + "//components/services/storage", + "//components/startup_metric_utils/browser", + "//components/variations", + "//components/viz/client", + "//components/viz/host", + "//content/app:for_content_tests", + "//content/browser:for_content_tests", + "//content/browser/attribution_reporting:attribution_reporting_proto", + "//content/child:for_content_tests", + "//content/gpu", + "//content/public/browser", + "//content/public/browser:proto", + "//content/public/child", + "//content/public/common", + "//content/public/common:trust_tokens_mojo_bindings", + "//content/public/renderer", + "//content/public/utility", + "//content/renderer:for_content_tests", + "//content/shell:pak", + "//content/utility:for_content_tests", + "//device/base/synchronization", + "//google_apis", + "//gpu/ipc:gl_in_process_context", + "//ipc:test_support", + "//media", + "//media/capture", + "//media/capture/mojom:image_capture", + "//mojo/core/embedder", + "//mojo/public/cpp/test_support:test_utils", + "//net:quic_test_tools", + "//net:simple_quic_tools", + "//net:test_support", + "//services/audio", + "//services/audio/public/mojom", + "//services/data_decoder/public/cpp:test_support", + "//services/data_decoder/public/mojom", + "//services/device/public/mojom", + "//services/metrics/public/cpp:metrics_cpp", + "//storage/browser/quota:mojo_bindings", + + # TODO(jam): remove this by adding a public header for the NetworkContext + # public testing method. + "//services/network:network_service", + "//services/network:test_support", + "//services/network/public/mojom", + "//services/proxy_resolver:lib", + "//services/service_manager/public/cpp", + "//services/viz/public/cpp/gpu", + "//services/viz/public/mojom", + "//skia", + "//storage/browser", + "//storage/browser:test_support", + "//storage/common", + "//testing/gmock", + "//testing/gtest", + "//third_party/blink/public/strings:accessibility_strings", + "//third_party/blink/public/strings:strings_grit", + "//third_party/webrtc_overrides:webrtc_component", + "//ui/accessibility:ax_enums_mojo", + "//ui/base", + "//ui/base:test_support", + "//ui/base:ui_data_pack", + "//ui/base/clipboard", + "//ui/base/clipboard:clipboard_test_support", + "//ui/base/ime", + "//ui/compositor:test_support", + "//ui/display", + "//ui/events:dom_keycode_converter", + "//ui/events:events_base", + "//ui/events:gesture_detection", + "//ui/events:test_support", + "//ui/events/blink", + "//ui/gfx:test_support", + "//ui/gl", + "//ui/native_theme", + "//ui/resources", + "//ui/shell_dialogs:shell_dialogs", + "//ui/surface", + "//url", + "//url/mojom:url_mojom_gurl", + "//v8", + ] + + if (enable_rust) { + deps += [ "//testing/rust_gtest_interop" ] + } + + data_deps = [ + "//content/shell:pak", + "//tools/v8_context_snapshot:v8_context_snapshot", + ] + + if (is_android) { + sources += [ + "../public/test/test_synchronous_compositor_android.cc", + "../public/test/test_synchronous_compositor_android.h", + "test_view_android_delegate.cc", + "test_view_android_delegate.h", + ] + deps += [ + ":content_unittests_jni_headers", + "//content/shell:android_shell_descriptors", + "//mojo/public/java/system:native_support", + "//testing/android/native_test:native_browser_test_support", + ] + } else { + sources += [ + "../browser/serial/serial_test_utils.cc", + "../browser/serial/serial_test_utils.h", + ] + } + + # HID support is not available without udev. + is_linux_without_udev = (is_linux || is_chromeos) && !use_udev + if (!is_linux_without_udev && !is_android) { + sources += [ + "../browser/hid/hid_test_utils.cc", + "../browser/hid/hid_test_utils.h", + ] + } + + if (enable_plugins) { + sources += [ + "../public/test/fake_pepper_plugin_instance.cc", + "../public/test/fake_pepper_plugin_instance.h", + "../public/test/ppapi_test_utils.cc", + "../public/test/ppapi_test_utils.h", + "ppapi_unittest.cc", + "ppapi_unittest.h", + ] + deps += [ + "//content/ppapi_plugin", + "//ppapi/c", + "//ppapi/host", + "//ppapi/proxy", + "//ppapi/proxy:test_support", + "//ppapi/shared_impl:test_support", + ] + } + + if (use_atk) { + configs += [ + "//build/config/linux/atk", + "//build/config/linux/atspi2", + ] + } + + if (use_glib) { + configs += [ "//build/config/linux:glib" ] + } + + if (use_aura) { + sources += [ + "mock_overscroll_controller_delegate_aura.cc", + "mock_overscroll_controller_delegate_aura.h", + ] + + deps += [ + "//ui/aura:test_support", + "//ui/resources:ui_test_pak", + "//ui/wm", + ] + } + + if (use_aura || is_mac) { + deps += [ + "//components/viz/common", + "//components/viz/host", + "//third_party/libvpx", + "//ui/compositor", + ] + + sources += [ + "../browser/compositor/test/test_image_transport_factory.cc", + "../browser/compositor/test/test_image_transport_factory.h", + ] + } + + if (is_mac) { + sources += [ + "../browser/renderer_host/test_render_widget_host_view_mac_factory.h", + "../browser/renderer_host/test_render_widget_host_view_mac_factory.mm", + "../public/test/text_input_test_utils_mac.mm", + ] + deps += [ + "//ui/base/mojom", + "//ui/views:test_support", + ] + } + + if (use_ozone) { + deps += [ "//ui/ozone" ] + } + + if (is_win) { + sources += [ + "dwrite_font_fake_sender_win.cc", + "dwrite_font_fake_sender_win.h", + "mock_keyboard_driver_win.cc", + "mock_keyboard_driver_win.h", + ] + deps += [ + "//content:sandbox_helper_win", + "//third_party/iaccessible2", + ] + libs = [ "oleacc.lib" ] + } + + if (is_android) { + sources += [ + "mock_overscroll_refresh_handler_android.cc", + "mock_overscroll_refresh_handler_android.h", + ] + + deps += [ + "//components/discardable_memory/service", + "//media/capture/video/android:android", + "//ui/android", + "//ui/android:test_support", + "//ui/shell_dialogs", + ] + } + + if (is_win) { + deps += [ "//sandbox" ] + } + + if (v8_use_external_startup_data) { + deps += [ "//gin:gin" ] + } + + if (is_mac) { + deps += [ + "//sandbox/mac:seatbelt", + "//ui/accelerated_widget_mac", + ] + } + + if (use_ozone) { + deps += [ "//ui/platform_window/common" ] + } + + if (enable_vr) { + sources += [ + "../public/test/xr_test_utils.cc", + "../public/test/xr_test_utils.h", + ] + } + + if (is_chromeos_lacros) { + deps += [ + "//chromeos/crosapi/cpp", + "//chromeos/crosapi/cpp:crosapi_constants", + "//chromeos/lacros", + "//chromeos/lacros:test_support", + "//chromeos/startup:constants", + ] + } + + if (is_linux || is_chromeos) { + sources += [ + "sandbox_status_service.cc", + "sandbox_status_service.h", + ] + } +} + +# Fuchsia performance tests on smart displays use web_engine and a browser +# like shell instead of an actual browser, so Fuchsia needs a separate target. +if (is_fuchsia) { + # TODO(crbug.com/1310086): Split this test suite into chrome/WebEngine + # versions. + # TODO(crbug.com/1309686): Move WebEngine-specific suites to //fuchsia/engine + group("performance_web_engine_test_suite") { + testonly = true + data = [ "//content/test/gpu/run_telemetry_benchmark_fuchsia.py" ] + data_deps = [ + ":fuchsia_telemetry_test_data", + ":telemetry_gpu_integration_test_data", + "//base:base_perftests", + "//testing:run_perf_test", + "//tools/perf/:perf", + ] + } + group("fuchsia_telemetry_test_data") { + testonly = true + data = [ "//content/test/gpu/fuchsia_util.py" ] + data_deps = [ + "//chrome/app:chrome_fuchsia", + "//fuchsia/engine:web_engine_shell", + "//fuchsia/engine:web_engine_with_webui_installer", + ] + } +} + +group("telemetry_gpu_integration_test_scripts_only") { + testonly = true + deps = [ + "//tools/perf/chrome_telemetry_build:telemetry_chrome_test_without_chrome", + ] + + data = [ "//testing/scripts/run_isolated_script_test.py" ] + data_deps = [ + ":telemetry_gpu_integration_test_data", + "//testing:test_scripts_shared", + ] +} + +group("telemetry_gpu_integration_test_support") { + testonly = true + data = [ + # For the Maps performance test. Include individual files since including + # the full directory can include a .fetchts file, which affects swarming's + # ability to dedupe tasks. + "//tools/perf/page_sets/maps_perf_test/config.js", + "//tools/perf/page_sets/maps_perf_test/load_dataset", + "//tools/perf/page_sets/maps_perf_test/load_dataset.sha1", + "//tools/perf/page_sets/maps_perf_test/performance.html", + "//tools/perf/page_sets/maps_perf_test/tracked.js", + "//tools/perf/page_sets/maps_perf_test/worker.js", + + # For GpuProcess.video + "//content/test/data/media/bear.ogv", + + # For webgl_conformance + "//third_party/webgl/", + + # For pixel_test and trace_test + "//media/test/data/four-colors.mp4", + "//media/test/data/four-colors.y4m", + "//media/test/data/four-colors-aspect-4x3.mp4", + "//media/test/data/four-colors-rot-90.mp4", + "//media/test/data/four-colors-rot-180.mp4", + "//media/test/data/four-colors-rot-270.mp4", + "//media/test/data/four-colors-vp9.webm", + "//media/test/data/four-colors-vp9-i420a.webm", + "//media/test/data/four-colors-incompatible-stride.y4m", + + # For power + "//media/test/data/bear-1280x720.mp4", + + # For Skia Gold pixel test functionality. + "//build/skia_gold_common/", + + # For isolate contract. + "//testing/scripts/gpu_integration_test_adapter.py", + "//testing/scripts/run_gpu_integration_test_as_googletest.py", + ] + + data_deps = [ + ":telemetry_gpu_integration_test_data", + + # For WebGPU CTS tests. + "//third_party/dawn/webgpu-cts", + + # For anything using Skia Gold (pixel, maps). + "//ui/base:goldctl", + ] +} + +group("webgpu_cts_scripts") { + testonly = true + data = [ + "//third_party/node/", + "//third_party/dawn/webgpu-cts/scripts/", + "//third_party/dawn/third_party/webgpu-cts/src/", + "//third_party/dawn/third_party/webgpu-cts/node.tsconfig.json", + "//third_party/dawn/third_party/webgpu-cts/tsconfig.json", + ] +} + +group("telemetry_gpu_common_data") { + testonly = true + data = [ + "//content/test/data/gpu/", + "//content/test/gpu/gpu_path_util/", + "//content/test/gpu/gpu_tests/", + "//content/test/gpu/unittest_data/", + + "//third_party/dawn/webgpu-cts/", + + "//content/test/gpu/gpu_project_config.py", + "//content/test/gpu/run_gpu_integration_test.py", + ] +} + +group("telemetry_gpu_unittest_data") { + testonly = true + data = [ "//content/test/gpu/run_unittests.py" ] + data_deps = [ ":telemetry_gpu_common_data" ] +} + +group("telemetry_gpu_integration_test_data") { + testonly = true + data = [ + "//content/test/gpu/gold_inexact_matching/", + "//content/test/gpu/power_measurement_results/", + + "//content/test/gpu/measure_power_intel.py", + "//content/test/gpu/run_gpu_integration_test.py", + ] + data_deps = [ ":telemetry_gpu_common_data" ] +} + +if (enable_rust) { + rust_static_library("rust_public_browsertest_support") { + testonly = true + + crate_name = "content_public_browsertest_support" + crate_root = "../public/test/content_public_browsertest_support.rs" + sources = [ crate_root ] + + sources += [ "../public/test/content_browser_test.rs" ] + cxx_bindings = [ "../public/test/content_browser_test.rs" ] + + deps = [ + ":browsertest_support", + ":content_private_test_support", + "//testing/rust_gtest_interop", + ] + } +} + +# browsertest_support can be used by targets that run content_shell based +# browser tests. +static_library("browsertest_support") { + testonly = true + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + sources = [ + "../browser/browsing_data/browsing_data_browsertest_utils.cc", + "../browser/browsing_data/browsing_data_browsertest_utils.h", + "../browser/browsing_data/shared_storage_clear_site_data_tester.cc", + "../browser/browsing_data/shared_storage_clear_site_data_tester.h", + "../public/test/content_browser_test.cc", + "../public/test/content_browser_test.h", + "../public/test/content_browser_test_shell_main_delegate.cc", + "../public/test/content_browser_test_shell_main_delegate.h", + "../public/test/content_browser_test_utils.cc", + "../public/test/content_browser_test_utils.h", + "../public/test/content_cert_verifier_browser_test.cc", + "../public/test/content_cert_verifier_browser_test.h", + "content_browser_test_utils_internal.cc", + "content_browser_test_utils_internal.h", + "content_test_launcher.cc", + "resource_load_observer.cc", + "resource_load_observer.h", + ] + + public_deps = [ + "//base", + "//skia", + "//testing/gmock", + "//testing/gtest", + ] + + deps = [ + ":test_support", + "//base:i18n", + "//base/test:test_config", + "//base/test:test_support", + "//build:chromeos_buildflags", + "//components/network_session_configurator/common:common", + "//components/services/storage:storage", + "//content/app:for_content_tests", + "//content/browser:for_content_tests", + "//content/shell:content_shell_app", + "//content/shell:content_shell_lib", + "//gin", + "//media", + "//net", + "//net:test_support", + "//ui/accessibility:ax_enums_mojo", + "//ui/base", + "//ui/base/ime/init", + ] + + if (is_android) { + deps += [ "//content/public/app" ] + } else { + deps += [ "//content/public/browser" ] + } + + if (use_aura && toolkit_views && !is_chromecast) { + deps += [ "//ui/views" ] + } + + if (is_mac) { + sources += [ "../public/test/content_browser_test_utils_mac.mm" ] + deps += [ "//ui/base/mojom" ] + } + + if (is_chromeos_lacros) { + deps += [ "//chromeos/lacros:lacros" ] + } + + configs += [ "//v8:external_startup_data" ] +} + +mojom("content_test_mojo_bindings") { + sources = [ + "../public/test/test_service.mojom", + "frame_host_test_interface.mojom", + "test_browser_associated_interfaces.mojom", + "test_mojo_binder_policy_applier_unittest.mojom", + ] + public_deps = [ + "//mojo/public/mojom/base", + "//url/mojom:url_mojom_gurl", + ] +} + +mojom("web_ui_test_mojo_bindings") { + testonly = true + sources = [ + "data/web_ui_test.test-mojom", + "data/web_ui_test_types.test-mojom", + ] + public_deps = [ "//url/mojom:url_mojom_gurl" ] + webui_module_path = "/content/test/data" +} + +js_library("web_ui_mojo_test_js") { + sources = [ "data/web_ui_mojo_test.js" ] + deps = [ ":web_ui_test_mojo_bindings_webui_js" ] +} + +# NOTE: Building this target serves as a compile test for type-checking of +# WebUI JS that consumes generated Mojom JS bindings. +js_type_check("web_ui_mojo_test_js_type_check") { + deps = [ ":web_ui_mojo_test_js" ] + closure_flags = default_closure_args + mojom_js_args +} + +mojom("mojo_web_test_bindings") { + testonly = true + sources = [ + "data/lite_js_test.mojom", + "data/mojo_web_test_helper_test.mojom", + ] + + # This mojom interface is exposed publicly to web tests which use + # prepackaged redistributable JS bindings. It is therefore not desirable to + # scramble these messages. + scramble_message_ids = false +} + +mojom("test_interfaces") { + testonly = true + sources = [ "echo.test-mojom" ] + if (is_linux || is_chromeos) { + sources += [ "sandbox_status.test-mojom" ] + } +} + +mojom("mojo_bindings_web_test_mojom") { + testonly = true + sources = [ + "data/mojo_bindings_web_test.test-mojom", + "data/mojo_bindings_web_test_types.test-mojom", + ] + scramble_message_ids = false + js_generate_struct_deserializers = true +} + +if (is_android) { + static_library("android_test_message_pump_support") { + testonly = true + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + sources = [ + "../public/test/nested_message_pump_android.cc", + "../public/test/nested_message_pump_android.h", + ] + + public_deps = [ "//base" ] + + deps = [ "//content/public/test/android:test_support_content_jni_headers" ] + } +} + +static_library("blink_test_browser_support") { + testonly = true + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + sources = [ + "../public/test/blink_test_browser_support.h", + "blink_test_browser_support.cc", + ] + + deps = [ + "//content/browser:for_content_tests", + "//content/public/browser", + "//content/public/common", + "//skia", + ] +} + +if (is_android) { + import("//build/config/android/rules.gni") + + content_browsertests_manifest = + "${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml" + + jinja_template("content_browsertests_manifest") { + testonly = true + input = + "//content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2" + output = content_browsertests_manifest + } + + generate_jni("content_browsertests_jni_headers") { + testonly = true + sources = [ "//content/public/android/javatests/src/org/chromium/content/browser/fakes/TestViewAndroidDelegate.java" ] + } + + android_library("content_browsertests_java") { + testonly = true + resources_package = "org.chromium.content_browsertests_apk" + sources = [ + "../shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java", + "../shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsApplication.java", + "//content/public/android/javatests/src/org/chromium/content/browser/fakes/TestViewAndroidDelegate.java", + ] + deps = [ + ":content_browsertests_manifest", + ":content_browsertests_resources", + "//base:base_java", + "//base:base_java_test_support", + "//base:jni_java", + "//components/download/internal/common:internal_java", + "//components/viz/service:service_java", + "//content/public/android:content_java", + "//content/public/test/android:content_java_test_support", + "//content/shell/android:content_shell_browsertests_java", + "//testing/android/native_test:native_test_java", + "//ui/android:ui_java", + ] + } + + android_resources("content_browsertests_resources") { + testonly = true + sources = [ + "//content/shell/android/browsertests_apk/res/layout/test_activity.xml", + "//content/shell/android/browsertests_apk/res/xml/file_paths.xml", + ] + } +} + +test("content_browsertests") { + use_xvfb = use_xvfb_in_this_config + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + sources = [ + "../app/mojo/mojo_browsertest.cc", + "../app_shim_remote_cocoa/window_occlusion_browsertest_mac.mm", + "../browser/accessibility/accessibility_action_browsertest.cc", + "../browser/accessibility/accessibility_content_browsertest.cc", + "../browser/accessibility/accessibility_content_browsertest.h", + "../browser/accessibility/accessibility_ipc_error_browsertest.cc", + "../browser/accessibility/accessibility_mode_browsertest.cc", + "../browser/accessibility/aom_browsertest.cc", + "../browser/accessibility/browser_accessibility_state_impl_browsertest.cc", + "../browser/accessibility/cross_platform_accessibility_browsertest.cc", + "../browser/accessibility/dump_accessibility_browsertest_base.cc", + "../browser/accessibility/dump_accessibility_browsertest_base.h", + "../browser/accessibility/dump_accessibility_events_browsertest.cc", + "../browser/accessibility/dump_accessibility_node_browsertest.cc", + "../browser/accessibility/dump_accessibility_scripts_browsertest.cc", + "../browser/accessibility/dump_accessibility_tree_browsertest.cc", + "../browser/accessibility/dump_accessibility_tree_browsertest.h", + "../browser/accessibility/fullscreen_browsertest.cc", + "../browser/accessibility/hit_testing_browsertest.cc", + "../browser/accessibility/hit_testing_browsertest.h", + "../browser/accessibility/line_layout_browsertest.cc", + "../browser/accessibility/site_per_process_accessibility_browsertest.cc", + "../browser/accessibility/snapshot_ax_tree_browsertest.cc", + "../browser/accessibility/touch_accessibility_aura_browsertest.cc", + "../browser/attribution_reporting/attribution_internals_browsertest.cc", + "../browser/attribution_reporting/attribution_src_browsertest.cc", + "../browser/attribution_reporting/attributions_browsertest.cc", + "../browser/attribution_reporting/privacy_sandbox_ads_apis_browsertest.cc", + "../browser/attribution_reporting/source_declaration_browsertest.cc", + "../browser/attribution_reporting/trigger_registration_browsertest.cc", + "../browser/back_forward_cache_basics_browsertest.cc", + "../browser/back_forward_cache_browsertest.cc", + "../browser/back_forward_cache_browsertest.h", + "../browser/back_forward_cache_features_browsertest.cc", + "../browser/back_forward_cache_internal_browsertest.cc", + "../browser/back_forward_cache_network_request_browsertest.cc", + "../browser/back_forward_cache_no_store_browsertest.cc", + "../browser/background_sync/background_sync_base_browsertest.cc", + "../browser/background_sync/background_sync_base_browsertest.h", + "../browser/background_sync/one_shot_background_sync_browsertest.cc", + "../browser/background_sync/periodic_background_sync_browsertest.cc", + "../browser/battery_monitor_browsertest.cc", + "../browser/blob_storage/blob_storage_browsertest.cc", + "../browser/blob_storage/blob_url_browsertest.cc", + "../browser/bluetooth/web_bluetooth_service_impl_browsertest.cc", + "../browser/bookmarklet_browsertest.cc", + "../browser/browser_thread_browsertest.cc", + "../browser/browsing_data/browsing_data_remover_impl_browsertest.cc", + "../browser/browsing_data/clear_site_data_handler_browsertest.cc", + "../browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc", + "../browser/browsing_data/same_site_data_remover_impl_browsertest.cc", + "../browser/child_process_launcher_browsertest.cc", + "../browser/child_process_security_policy_browsertest.cc", + "../browser/compute_pressure/compute_pressure_origin_trial_browsertest.cc", + "../browser/content_index/content_index_browsertest.cc", + "../browser/content_security_policy_browsertest.cc", + "../browser/cross_origin_opener_policy_browsertest.cc", + "../browser/cross_site_transfer_browsertest.cc", + "../browser/data_decoder_browsertest.cc", + "../browser/database_browsertest.cc", + "../browser/device_posture/device_posture_browsertest.cc", + "../browser/device_sensors/device_sensor_browsertest.cc", + "../browser/devtools/devtools_issue_storage_browsertest.cc", + "../browser/devtools/devtools_trust_token_browsertest.cc", + "../browser/devtools/devtools_video_consumer_browsertest.cc", + "../browser/devtools/protocol/devtools_network_resource_loader_browsertest.cc", + "../browser/devtools/protocol/devtools_protocol_browsertest.cc", + "../browser/devtools/protocol/devtools_protocol_test_support.cc", + "../browser/devtools/protocol/devtools_protocol_test_support.h", + "../browser/devtools/render_frame_devtools_agent_host_browsertest.cc", + "../browser/devtools/site_per_process_devtools_browsertest.cc", + "../browser/display_cutout/display_cutout_browsertest.cc", + "../browser/do_not_track_browsertest.cc", + "../browser/dom_storage/dom_storage_browsertest.cc", + "../browser/download/download_browsertest.cc", + "../browser/download/drag_download_file_browsertest.cc", + "../browser/download/mhtml_generation_browsertest.cc", + "../browser/download/save_package_browsertest.cc", + "../browser/fenced_frame/fenced_frame_browsertest.cc", + "../browser/file_system/file_system_browsertest.cc", + "../browser/file_system/file_system_url_drag_drop_browsertest.cc", + "../browser/file_system/file_system_url_loader_factory_browsertest.cc", + "../browser/file_system/fileapi_browsertest.cc", + "../browser/find_request_manager_browsertest.cc", + "../browser/font_access/font_access_manager_browsertest.cc", + "../browser/font_unique_name_lookup/font_unique_name_browsertest.cc", + "../browser/form_controls_browsertest.cc", + "../browser/generic_sensor/generic_sensor_browsertest.cc", + "../browser/gpu/gpu_ipc_browsertests.cc", + "../browser/gpu/in_process_gpu_thread_browsertests.cc", + "../browser/gpu/peak_gpu_memory_tracker_impl_browsertest.cc", + "../browser/indexed_db/indexed_db_browsertest.cc", + "../browser/indexed_db/indexed_db_feature_observer_browsertest.cc", + "../browser/interest_group/interest_group_browsertest.cc", + "../browser/isolated_origin_browsertest.cc", + "../browser/keyboard_lock_browsertest.cc", + "../browser/keyboard_lock_browsertest.h", + "../browser/loader/cors_file_origin_browsertest.cc", + "../browser/loader/cors_origin_pattern_setter_browsertest.cc", + "../browser/loader/cors_preflight_cache_browsertest.cc", + "../browser/loader/cross_site_document_blocking_browsertest.cc", + "../browser/loader/derived_origin_in_fetch_browsertest.cc", + "../browser/loader/file_url_loader_factory_browsertest.cc", + "../browser/loader/loader_browsertest.cc", + "../browser/loader/navigation_early_hints_browsertest.cc", + "../browser/loader/prefetch_browsertest.cc", + "../browser/loader/prefetch_browsertest_base.cc", + "../browser/loader/prefetch_browsertest_base.h", + "../browser/loader/reload_cache_control_browsertest.cc", + "../browser/loader/resource_scheduler_browsertest.cc", + "../browser/loader/web_transport_browsertest.cc", + "../browser/locks/lock_manager_browsertest.cc", + "../browser/manifest/manifest_browsertest.cc", + "../browser/media/encrypted_media_browsertest.cc", + "../browser/media/fullscreen_video_detection_browsertest.cc", + "../browser/media/media_browsertest.cc", + "../browser/media/media_browsertest.h", + "../browser/media/media_canplaytype_browsertest.cc", + "../browser/media/media_capabilities_browsertest.cc", + "../browser/media/media_color_browsertest.cc", + "../browser/media/media_redirect_browsertest.cc", + "../browser/media/media_source_browsertest.cc", + "../browser/media/media_suspend_browsertest.cc", + "../browser/media/midi_browsertest.cc", + "../browser/media/session/audio_focus_delegate_default_browsertest.cc", + "../browser/media/session/media_session_browsertest.cc", + "../browser/media/session/media_session_impl_browsertest.cc", + "../browser/media/session/media_session_impl_visibility_browsertest.cc", + "../browser/media/session/media_session_service_impl_browsertest.cc", + "../browser/media/webaudio/audio_context_manager_browsertest.cc", + "../browser/message_port_provider_browsertest.cc", + "../browser/mojo_sandbox_browsertest.cc", + "../browser/native_io/native_io_manager_browsertest.cc", + "../browser/navigation_browsertest.cc", + "../browser/navigation_mhtml_browsertest.cc", + "../browser/net/accept_header_browsertest.cc", + "../browser/net/dns_https_protocol_upgrade_browsertest.cc", + "../browser/net/http_cookie_browsertest.cc", + "../browser/net/network_field_trial_browsertest.cc", + "../browser/net/sandboxed_http_cache_browsertest.cc", + "../browser/net/sandboxed_nqe_browsertest.cc", + "../browser/net/split_cache_browsertest.cc", + "../browser/net/trust_token_browsertest.cc", + "../browser/net/trust_token_browsertest.h", + "../browser/net/trust_token_origin_trial_browsertest.cc", + "../browser/net/trust_token_parameters_browsertest.cc", + "../browser/net_info_browsertest.cc", + "../browser/network_service_browsertest.cc", + "../browser/network_service_restart_browsertest.cc", + "../browser/origin_trials/origin_trials_browsertest.cc", + "../browser/payments/payment_app_browsertest.cc", + "../browser/performance_memory_browsertest.cc", + "../browser/picture_in_picture/video_picture_in_picture_content_browsertest.cc", + "../browser/pointer_lock_browsertest.cc", + "../browser/pointer_lock_browsertest.h", + "../browser/portal/portal_browsertest.cc", + "../browser/portal/portal_navigation_throttle_browsertest.cc", + "../browser/power_monitor_browsertest.cc", + "../browser/prerender/prerender_browsertest.cc", + "../browser/prerender/prerender_origin_trial_browsertest.cc", + "../browser/process_internals/process_internals_browsertest.cc", + "../browser/quota/quota_change_browsertest.cc", + "../browser/quota/quota_internals_browsertest.cc", + "../browser/renderer_host/ancestor_throttle_browsertest.cc", + "../browser/renderer_host/back_forward_cache_metrics_browsertest.cc", + "../browser/renderer_host/blocked_scheme_navigation_browsertest.cc", + "../browser/renderer_host/close_listener_host_browsertest.cc", + "../browser/renderer_host/cookie_browsertest.cc", + "../browser/renderer_host/document_service_browsertest.cc", + "../browser/renderer_host/document_user_data_browsertest.cc", + "../browser/renderer_host/embedding_token_browsertest.cc", + "../browser/renderer_host/frame_tree_browsertest.cc", + "../browser/renderer_host/input/autoscroll_browsertest.cc", + "../browser/renderer_host/input/composited_scrolling_browsertest.cc", + "../browser/renderer_host/input/compositor_event_ack_browsertest.cc", + "../browser/renderer_host/input/double_tap_to_zoom_browsertest.cc", + "../browser/renderer_host/input/event_latency_aura_browsertest.cc", + "../browser/renderer_host/input/fling_browsertest.cc", + "../browser/renderer_host/input/input_event_browsertest.cc", + "../browser/renderer_host/input/interaction_mq_dynamic_browsertest.cc", + "../browser/renderer_host/input/main_thread_event_queue_browsertest.cc", + "../browser/renderer_host/input/mouse_latency_browsertest.cc", + "../browser/renderer_host/input/scroll_behavior_browsertest.cc", + "../browser/renderer_host/input/scroll_latency_browsertest.cc", + "../browser/renderer_host/input/synthetic_input_browsertest.cc", + "../browser/renderer_host/input/touch_action_browsertest.cc", + "../browser/renderer_host/input/touch_input_browsertest.cc", + "../browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc", + "../browser/renderer_host/input/touchpad_pinch_browsertest.cc", + "../browser/renderer_host/input/wheel_event_listener_browsertest.cc", + "../browser/renderer_host/input/wheel_scroll_latching_browsertest.cc", + "../browser/renderer_host/isolated_app_throttle_browsertest.cc", + "../browser/renderer_host/media/video_capture_browsertest.cc", + "../browser/renderer_host/navigation_controller_impl_browsertest.cc", + "../browser/renderer_host/navigation_handle_user_data_browsertest.cc", + "../browser/renderer_host/navigation_policy_container_builder_browsertest.cc", + "../browser/renderer_host/navigation_request_browsertest.cc", + "../browser/renderer_host/origin_agent_cluster_browsertest.cc", + "../browser/renderer_host/page_impl_browsertest.cc", + "../browser/renderer_host/page_lifecycle_state_manager_browsertest.cc", + "../browser/renderer_host/panel_rotation_browsertest.cc", + "../browser/renderer_host/policy_container_host_browsertest.cc", + "../browser/renderer_host/private_network_access_browsertest.cc", + "../browser/renderer_host/render_document_host_browsertest.cc", + "../browser/renderer_host/render_frame_host_impl_browsertest.cc", + "../browser/renderer_host/render_frame_host_manager_browsertest.cc", + "../browser/renderer_host/render_process_host_browsertest.cc", + "../browser/renderer_host/render_view_host_browsertest.cc", + "../browser/renderer_host/render_widget_host_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_aura_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_aura_vk_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_child_frame_browsertest.cc", + "../browser/renderer_host/scroll_into_view_browsertest.cc", + "../browser/renderer_host/sec_fetch_browsertest.cc", + "../browser/renderer_host/unassigned_site_instance_browsertest.cc", + "../browser/resource_loading_browsertest.cc", + "../browser/screen_enumeration/screen_enumeration_browsertest.cc", + "../browser/screen_orientation/screen_orientation_browsertest.cc", + "../browser/security_exploit_browsertest.cc", + "../browser/service_process_host_browsertest.cc", + "../browser/service_worker/service_worker_auth_browsertest.cc", + "../browser/service_worker/service_worker_browsertest.cc", + "../browser/service_worker/service_worker_clients_api_browsertest.cc", + "../browser/service_worker/service_worker_fetch_dispatcher_browsertest.cc", + "../browser/service_worker/service_worker_file_upload_browsertest.cc", + "../browser/service_worker/service_worker_internals_ui_browsertest.cc", + "../browser/service_worker/service_worker_no_best_effort_tasks_browsertest.cc", + "../browser/service_worker/service_worker_offline_capability_check_browsertest.cc", + "../browser/service_worker/service_worker_process_browsertest.cc", + "../browser/service_worker/service_worker_version_browsertest.cc", + "../browser/session_history_browsertest.cc", + "../browser/shape_detection/shape_detection_browsertest.cc", + "../browser/shared_storage/shared_storage_browsertest.cc", + "../browser/site_per_process_browsertest.cc", + "../browser/site_per_process_browsertest.h", + "../browser/site_per_process_hit_test_browsertest.cc", + "../browser/site_per_process_layout_browsertest.cc", + "../browser/site_per_process_mixed_content_browsertest.cc", + "../browser/site_per_process_sad_frame_browsertest.cc", + "../browser/site_per_process_scroll_browsertest.cc", + "../browser/site_per_process_unload_browsertest.cc", + "../browser/site_per_process_web_bundle_browsertest.cc", + "../browser/sms/sms_browsertest.cc", + "../browser/snapshot_browsertest.cc", + "../browser/storage_partition_impl_browsertest.cc", + "../browser/text_fragment_browsertest.cc", + "../browser/tracing/background_tracing_manager_browsertest.cc", + "../browser/tracing/memory_instrumentation_browsertest.cc", + "../browser/tracing/memory_tracing_browsertest.cc", + "../browser/tracing/startup_tracing_browsertest.cc", + "../browser/tracing/tracing_controller_browsertest.cc", + "../browser/utility_process_host_browsertest.cc", + "../browser/vibration_browsertest.cc", + "../browser/web_contents/file_chooser_impl_browsertest.cc", + "../browser/web_contents/opened_by_dom_browsertest.cc", + "../browser/web_contents/web_contents_impl_browsertest.cc", + "../browser/web_contents/web_contents_observer_browsertest.cc", + "../browser/web_contents/web_contents_view_aura_browsertest.cc", + "../browser/web_package/save_page_as_web_bundle_browsertest.cc", + "../browser/web_package/signed_exchange_request_handler_browsertest.cc", + "../browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc", + "../browser/web_package/web_bundle_browsertest_base.cc", + "../browser/web_package/web_bundle_browsertest_base.h", + "../browser/web_package/web_bundle_element_browsertest.cc", + "../browser/web_package/web_bundle_file_browsertest.cc", + "../browser/web_package/web_bundle_network_browsertest.cc", + "../browser/web_package/web_bundle_trustable_file_browsertest.cc", + "../browser/webid/test/webid_test_content_browser_client.cc", + "../browser/webid/test/webid_test_content_browser_client.h", + "../browser/webid/webid_browsertest.cc", + "../browser/webkit_browsertest.cc", + "../browser/webrtc/webrtc_audio_browsertest.cc", + "../browser/webrtc/webrtc_audio_debug_recordings_browsertest.cc", + "../browser/webrtc/webrtc_browsertest.cc", + "../browser/webrtc/webrtc_capture_from_element_browsertest.cc", + "../browser/webrtc/webrtc_constraints_browsertest.cc", + "../browser/webrtc/webrtc_content_browsertest_base.cc", + "../browser/webrtc/webrtc_content_browsertest_base.h", + "../browser/webrtc/webrtc_data_browsertest.cc", + "../browser/webrtc/webrtc_datachannel_browsertest.cc", + "../browser/webrtc/webrtc_getusermedia_browsertest.cc", + "../browser/webrtc/webrtc_image_capture_browsertest.cc", + "../browser/webrtc/webrtc_internals_browsertest.cc", + "../browser/webrtc/webrtc_ip_permissions_browsertest.cc", + "../browser/webrtc/webrtc_media_recorder_browsertest.cc", + "../browser/webrtc/webrtc_stress_image_capture_browsertest.cc", + "../browser/webrtc/webrtc_stress_pause_browsertest.cc", + "../browser/webrtc/webrtc_stress_resolution_switch_browsertest.cc", + "../browser/webrtc/webrtc_stress_source_switch_browsertest.cc", + "../browser/webrtc/webrtc_video_capture_browsertest.cc", + "../browser/webrtc/webrtc_video_capture_service_browsertest.cc", + "../browser/webrtc/webrtc_video_capture_service_enumeration_browsertest.cc", + "../browser/webrtc/webrtc_video_capture_shared_device_browsertest.cc", + "../browser/webrtc/webrtc_webcam_browsertest.cc", + "../browser/webrtc/webrtc_webcam_browsertest.h", + "../browser/webui/web_ui_browsertest.cc", + "../browser/webui/web_ui_mojo_browsertest.cc", + "../browser/webui/web_ui_navigation_browsertest.cc", + "../browser/webui/web_ui_security_browsertest.cc", + "../browser/worker_host/worker_browsertest.cc", + "../browser/worker_network_isolation_key_browsertest.cc", + "../child/webthemeengine_impl_default_browsertest.cc", + "../renderer/accessibility/ax_tree_distiller_browsertest.cc", + "../renderer/accessibility/render_accessibility_impl_browsertest.cc", + "../renderer/blink_platform_audio_hardware_browsertest.cc", + "../renderer/gin_browsertest.cc", + "../renderer/media/renderer_webmediaplayer_delegate_browsertest.cc", + "../renderer/media/too_many_web_media_players_intervention_browsertest.cc", + "../renderer/render_frame_impl_browsertest.cc", + "../renderer/render_thread_impl_browsertest.cc", + "../renderer/render_view_browsertest.cc", + "../renderer/render_widget_browsertest.cc", + "../renderer/visual_state_browsertest.cc", + "../renderer/webclipboard_impl_browsertest.cc", + "../test/browser_test_utils_browsertest.cc", + "../test/content_browser_test_test.cc", + "../test/top_frame_population_browsertest.cc", + "../test/url_loader_interceptor_test.cc", + ] + + rs_sources = [ "../browser/smoke_rust_browsertest.rs" ] + + if (enable_reporting) { + sources += + [ "../browser/net/cross_origin_opener_policy_reporting_browsertest.cc" ] + } + + if (use_viz_debugger) { + sources += [ + "../browser/devtools/protocol/visual_debugger_handler_browsertest.cc", + ] + } + + defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] + + configs += [ "//build/config:precompiled_headers" ] + + rs_deps = [ ":rust_public_browsertest_support" ] + + public_deps = [ + ":test_interfaces", + ":web_ui_mojo_test_resources", + "//content:content_resources", + "//content:dev_ui_content_resources", + ] + + deps = [ + ":browsertest_support", + ":content_test_mojo_bindings", + ":test_support", + ":web_ui_mojo_test_js_type_check", + ":web_ui_test_mojo_bindings", + "//base/test:test_support", + "//build:chromecast_buildflags", + "//build:chromeos_buildflags", + "//components/discardable_memory/client", + "//components/discardable_memory/common", + "//components/discardable_memory/service", + "//components/favicon/content", + "//components/network_session_configurator/common", + "//components/payments/mojom", + "//components/performance_manager", + "//components/services/quarantine:test_support", + "//components/services/storage", + "//components/services/storage/public/cpp", + "//components/services/storage/public/mojom:test_api", + "//components/ukm:test_support", + "//components/url_formatter:url_formatter", + "//components/viz/host", + "//components/viz/test:test_support", + "//components/web_package", + "//content/app:for_content_tests", + "//content/browser:for_content_tests", + "//content/browser/attribution_reporting:attribution_reporting_proto", + "//content/browser/background_sync:background_sync_proto", + "//content/child:for_content_tests", + "//content/gpu", + "//content/public/browser", + "//content/public/child", + "//content/public/common", + "//content/public/gpu", + "//content/public/renderer", + "//content/renderer:for_content_tests", + "//content/services/auction_worklet/public/mojom", + "//content/shell:content_browsertests_mojom", + "//content/shell:content_shell_lib", + "//content/shell:pak", + "//content/test:mojo_web_test_bindings", + "//content/test:test_support", + "//device/base/synchronization", + "//device/bluetooth:mocks", + "//gin", + "//gpu", + "//gpu/ipc/host", + "//ipc", + "//ipc:test_support", + "//media:media_buildflags", + "//media:test_support", + "//media/webrtc", + "//mojo/core/embedder", + "//mojo/public/cpp/bindings", + "//mojo/public/cpp/test_support:test_utils", + "//net:quic_test_tools", + "//net:simple_quic_tools", + "//net:test_support", + "//ppapi/buildflags", + "//services/audio/public/cpp", + "//services/cert_verifier/public/mojom", + "//services/data_decoder/public/cpp", + "//services/data_decoder/public/cpp:test_support", + "//services/data_decoder/public/mojom", + "//services/device/public/cpp:device_features", + "//services/device/public/cpp:test_support", + "//services/device/public/cpp/generic_sensor", + "//services/device/public/mojom", + "//services/device/public/mojom:generic_sensor", + "//services/image_annotation/public/cpp:cpp", + "//services/image_annotation/public/mojom:mojom", + "//services/metrics/public/cpp:ukm_builders", + "//services/network:test_support", + "//services/network/public/mojom", + "//services/network/trust_tokens:test_support", + "//services/service_manager/public/cpp", + "//services/test/echo/public/mojom", + "//services/tracing:privacy_check", + "//services/video_capture/public/cpp", + "//services/video_capture/public/cpp:mocks", + "//services/video_capture/public/mojom:constants", + "//services/viz/privileged/mojom", + "//services/viz/public/cpp/gpu", + "//storage/browser", + "//storage/browser:test_support", + "//testing/gmock", + "//testing/gtest", + "//third_party/blink/public:blink", + "//third_party/leveldatabase", + "//third_party/mesa_headers", + "//third_party/re2", + "//third_party/zlib", + "//ui/accessibility:ax_base", + "//ui/accessibility:ax_enums_mojo", + "//ui/base:test_support", + "//ui/base/clipboard", + "//ui/base/cursor", + "//ui/base/ime", + "//ui/base/ime/init", + "//ui/base/ime/mojom", + "//ui/compositor", + "//ui/display", + "//ui/events:test_support", + "//ui/events/blink:blink", + "//ui/gfx", + "//ui/gfx:gfx_switches", + "//ui/gfx/geometry", + "//ui/gl", + "//ui/gl:test_support", + "//ui/latency", + "//ui/native_theme", + "//ui/resources", + "//ui/shell_dialogs", + "//ui/snapshot", + "//ui/webui:test_support", + ] + + data = [ + "data/", + "//media/test/data/", + ] + + data_deps = [ + "//content/shell:pak", + "//testing/buildbot/filters:content_browsertests_filters", + "//third_party/mesa_headers", + ] + + if (enable_plugins) { + sources += [ + "../browser/plugin_service_impl_browsertest.cc", + "../renderer/pepper/mock_renderer_ppapi_host.cc", + "../renderer/pepper/mock_renderer_ppapi_host.h", + "../renderer/pepper/pepper_device_enumeration_host_helper_unittest.cc", + "../renderer/pepper/pepper_file_chooser_host_unittest.cc", + "../renderer/pepper/pepper_graphics_2d_host_unittest.cc", + "../renderer/pepper/pepper_url_request_unittest.cc", + "../renderer/pepper/pepper_webplugin_impl_browsertest.cc", + "../test/ppapi/ppapi_browsertest.cc", + "../test/ppapi/ppapi_test.cc", + "../test/ppapi/ppapi_test.h", + ] + deps += [ + "//ppapi/c", + "//ppapi/host", + "//ppapi/proxy", + "//ppapi/proxy:ipc", + "//ppapi/proxy:test_support", + "//ppapi/shared_impl:test_support", + ] + data_deps += [ "//ppapi:ppapi_tests" ] + data += [ + "//ppapi/tests/test_case.html", + "//ppapi/tests/test_page.css", + "//ppapi/tests/test_url_loader_data/", + ] + if (is_mac) { + data += [ "$root_out_dir/ppapi_tests.plugin/" ] + } + } + + if (is_android || is_linux || is_chromeos || is_mac || is_win) { + sources += [ + "../browser/media/capture/content_capture_device_browsertest_base.cc", + "../browser/media/capture/content_capture_device_browsertest_base.h", + "../browser/media/capture/fake_video_capture_stack.cc", + "../browser/media/capture/fake_video_capture_stack.h", + "../browser/media/capture/frame_test_util.cc", + "../browser/media/capture/frame_test_util.h", + "../browser/media/capture/web_contents_video_capture_device_browsertest.cc", + ] + + data += [ "$root_out_dir/content_shell.pak" ] + } + + if (is_linux || is_chromeos || is_mac || is_win) { + sources += [ + "../browser/media/capture/mouse_cursor_overlay_controller_browsertest.cc", + ] + + # For chromecast, content_browsertests does not provide a shell window. + if (use_aura && !is_chromecast) { + sources += [ "../browser/media/capture/aura_window_video_capture_device_browsertest.cc" ] + } + } + + if (is_linux || is_chromeos || is_mac || is_win || is_fuchsia) { + deps += [ "//third_party/libyuv" ] + data += [ + "//net/tools/testserver/", + "//third_party/pywebsocket3/src/mod_pywebsocket/", + ] + } + + if (!is_chromeos_ash) { + sources += + [ "../browser/media/media_keys_listener_manager_impl_browsertest.cc" ] + } + + if (is_chromeos) { + sources += + [ "../browser/lock_screen/lock_screen_service_impl_browsertest.cc" ] + } + + if (is_win) { + sources += [ + "../browser/accessibility/accessibility_browsertest.cc", + "../browser/accessibility/accessibility_browsertest.h", + "../browser/accessibility/accessibility_win_browsertest.cc", + "../browser/accessibility/ax_platform_node_textprovider_win_browsertest.cc", + "../browser/accessibility/ax_platform_node_textrangeprovider_win_browsertest.cc", + "../browser/accessibility/ax_platform_node_win_browsertest.cc", + "../browser/accessibility/hit_testing_win_browsertest.cc", + "../browser/renderer_host/accessibility_object_lifetime_win_browsertest.cc", + "../browser/renderer_host/accessibility_tree_linkage_win_browsertest.cc", + "../browser/renderer_host/direct_manipulation_test_helper_win.cc", + "../browser/renderer_host/direct_manipulation_test_helper_win.h", + "../browser/renderer_host/direct_manipulation_win_browsertest.cc", + "../browser/scheduler/responsiveness/native_event_observer_browsertest_win.cc", + ] + + deps += [ + "//net:net_resources", + "//sandbox", + "//third_party/blink/public:resources", + "//third_party/blink/public/strings", + "//third_party/blink/public/strings:accessibility_strings", + "//third_party/blink/public/strings:accessibility_strings", + "//third_party/iaccessible2", + "//third_party/isimpledom", + ] + + libs = [ "uiautomationcore.lib" ] + + configs += [ "//build/config/win:delayloads" ] + } + + if (is_linux || is_chromeos) { + sources += [ + "../browser/utility_process_sandbox_browsertest.cc", + "../browser/zygote_host/zygote_browsertest.cc", + ] + deps += [ + "//printing/buildflags", + "//ui/gfx:test_support", + ] + + if (use_atk) { + sources += [ + "../browser/accessibility/accessibility_auralinux_browsertest.cc", + "../browser/accessibility/accessibility_browsertest.cc", + "../browser/accessibility/accessibility_browsertest.h", + ] + configs += [ "//build/config/linux/atk" ] + } + } + + if (is_chromeos_ash) { + deps += [ "//chromeos/ash/components/assistant:buildflags" ] + } + + if (is_android) { + if (is_component_build) { + sources += [ "../browser/android/render_widget_host_connector.cc" ] + } + sources += [ + "../browser/accessibility/android_granularity_movement_browsertest.cc", + "../browser/android/date_time_chooser_browsertest.cc", + "../browser/android/nfc_host_browsertest.cc", + "../browser/android/render_widget_host_connector_browsertest.cc", + "../browser/android/render_widget_host_connector_browsertest.h", + "../browser/android/synchronous_compositor_browsertest.cc", + "../browser/media/session/audio_focus_delegate_android_browsertest.cc", + "../browser/renderer_host/compositor_impl_android_browsertest.cc", + "../shell/android/browsertests_apk/content_browser_tests_jni_onload.cc", + ] + sources -= [ + "../browser/keyboard_lock_browsertest.cc", + "../browser/media/session/audio_focus_delegate_default_browsertest.cc", + "../browser/pointer_lock_browsertest.cc", + "../browser/pointer_lock_browsertest.h", + ] + deps += [ + ":android_test_message_pump_support", + ":content_browsertests_java", + ":content_browsertests_jni_headers", + "//content/shell:content_shell_app", + "//content/shell/android:content_shell_assets", + "//content/shell/android:content_shell_jni_headers", + "//services/data_decoder/public/cpp/android:safe_json_java", + "//testing/android/native_test:native_test_support", + "//ui/android:android", + "//ui/touch_selection:touch_selection", + ] + android_manifest = + "${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml" + android_manifest_dep = ":content_browsertests_manifest" + use_default_launcher = false + + if (enable_chrome_android_internal) { + data_deps += [ "//clank/build/bot/filters:content_browsertests_filters" ] + } + } else { + # Non-Android. + sources += [ + "../browser/direct_sockets/direct_sockets_open_browsertest.cc", + "../browser/direct_sockets/direct_sockets_tcp_browsertest.cc", + "../browser/direct_sockets/direct_sockets_udp_browsertest.cc", + "../browser/file_system_access/file_system_access_capacity_allocation_host_impl_browsertest.cc", + "../browser/file_system_access/file_system_access_clipboard_browsertest.cc", + "../browser/file_system_access/file_system_access_drag_drop_browsertest.cc", + "../browser/file_system_access/file_system_access_file_writer_impl_browsertest.cc", + "../browser/file_system_access/file_system_chooser_browsertest.cc", + "../browser/font_preferences_browsertest.cc", + "../browser/host_zoom_map_impl_browsertest.cc", + "../browser/renderer_host/clipboard_host_impl_browsertest.cc", + "../browser/serial/serial_browsertest.cc", + "../browser/speech/speech_recognition_browsertest.cc", + "../browser/speech/tts_ssml_browsertest.cc", + "../browser/storage_service_restart_browsertest.cc", + "../browser/storage_service_sandbox_browsertest.cc", + "../browser/zoom_browsertest.cc", + ] + deps += [ + "//content/public/browser:proto", + "//ui/base/clipboard:clipboard_test_support", + ] + data += [ "//content/test/data/clipboard/" ] + } + if (is_posix) { + deps += [ "//services/tracing:test_utils" ] + } + + # HID support is not available without udev. + is_linux_without_udev = (is_linux || is_chromeos) && !use_udev + if (!is_linux_without_udev && !is_android) { + sources += [ + "../browser/hid/hid_browsertest.cc", + "../browser/webauth/webauth_browsertest.cc", + ] + deps += [ + "//device/base", + "//device/fido:fido", + "//device/fido:mocks", + "//device/fido:test_support", + "//services/device/public/cpp/hid:test_support", + ] + } + + if (is_mac) { + sources += [ + "../browser/accessibility/ax_tree_formatter_mac_browsertest.mm", + "../browser/accessibility/browser_accessibility_cocoa_browsertest.mm", + "../browser/accessibility/hit_testing_mac_browsertest.mm", + "../browser/form_controls_browsertest_mac.h", + "../browser/form_controls_browsertest_mac.mm", + "../browser/keyboard_lock_browsertest_mac.mm", + "../browser/pointer_lock_browsertest_mac.mm", + "../browser/renderer_host/render_frame_host_impl_mac_browsertest.mm", + "../browser/renderer_host/render_widget_host_view_mac_browsertest.mm", + "../browser/scheduler/responsiveness/native_event_observer_browsertest.mm", + "../browser/site_per_process_mac_browsertest.mm", + "../renderer/render_view_browsertest_mac.mm", + ] + deps += [ "//third_party/ocmock" ] + data_deps += [ "//content/shell:content_shell" ] + data += [ "$root_out_dir/Content Shell.app/" ] + } + + if (is_chromeos_ash) { + deps += [ + "//ash/components/audio", + "//chromeos/dbus/audio", + "//chromeos/system", + ] + } + + if (use_aura && !is_win) { + deps += [ "//ui/events:test_support" ] + } + + if (use_aura) { + sources += + [ "../browser/compositor/image_transport_factory_browsertest.cc" ] + } + + if (enable_vr) { + sources += [ "../browser/xr/metrics/session_metrics_browsertest.cc" ] + deps += [ "//device/vr:vr_fakes" ] + } + + if ((is_win || is_chromeos || is_linux) && !is_tsan) { + # NOTE: We don't bother to build these tests when TSan is enabled, because + # they can't properly launch a child content_shell in that environment. + sources += [ "../browser/launch_as_mojo_client_browsertest.cc" ] + deps += [ + "//content/shell:shell_controller_mojom", + "//mojo/public/cpp/platform", + "//mojo/public/mojom/base", + ] + data_deps += [ + "//content/shell:thorium_shell", + "//mojo/core:shared_library", + ] + if (use_ozone) { + deps += [ "//ui/ozone" ] + } + } + + if (!is_chrome_branded) { + # These tests depend on single process mode, which is disabled + # in official builds. + sources += [ + "../renderer/browser_render_view_browsertest.cc", + "../renderer/dom_serializer_browsertest.cc", + "../renderer/render_thread_impl_discardable_memory_browsertest.cc", + "../renderer/savable_resources_browsertest.cc", + ] + + deps += [ + "//components/discardable_memory/client", + "//components/discardable_memory/common", + "//components/discardable_memory/service", + ] + } + + if (use_aura) { + deps += [ + "//ui/aura", + "//ui/aura:test_support", + "//ui/base/dragdrop:types", + "//ui/touch_selection:test_support", + "//ui/touch_selection:touch_selection", + ] + } else { + sources -= [ + "../browser/accessibility/touch_accessibility_aura_browsertest.cc", + "../browser/renderer_host/input/event_latency_aura_browsertest.cc", + "../browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_aura_browsertest.cc", + "../browser/renderer_host/render_widget_host_view_aura_vk_browsertest.cc", + "../browser/web_contents/web_contents_view_aura_browsertest.cc", + ] + } + + if (is_chromecast) { + sources -= [ + # The cast shell media pipeline doesn't produce real video frames that we + # can inspect. + "../browser/media/media_color_browsertest.cc", + + # The cast shell has plugin support but no pdf, causing blocked scheme PDF + # tests to fail. + "../browser/renderer_host/blocked_scheme_navigation_browsertest.cc", + + # The multi-window tests don't work on cast_shell. Since there's little + # added value in running the single-window test on this platform, just + # exclude them all. + "../browser/snapshot_browsertest.cc", + ] + } + + if (use_ozone) { + deps += [ "//ui/ozone" ] + } + + if (is_chromeos_ash) { + deps += [ "//chromeos/dbus/constants" ] + } + + if (is_fuchsia) { + use_test_server = true + + use_cfv2 = false + additional_manifest_fragments = [ + "//build/config/fuchsia/test/audio_capabilities.test-cmx", + "//build/config/fuchsia/test/font_capabilities.test-cmx", + "//build/config/fuchsia/test/jit_capabilities.test-cmx", + "//build/config/fuchsia/test/network_capabilities.test-cmx", + "//build/config/fuchsia/test/present_view_capabilities.test-cmx", + "//build/config/fuchsia/test/vulkan_capabilities.test-cmx", + ] + } +} + +grit("web_ui_mojo_test_resources") { + source = "web_ui_mojo_test_resources.grd" + + outputs = [ + "grit/web_ui_mojo_test_resources.h", + "grit/web_ui_mojo_test_resources_map.cc", + "grit/web_ui_mojo_test_resources_map.h", + "web_ui_mojo_test_resources.pak", + ] + deps = [ ":web_ui_test_mojo_bindings_webui_js" ] +} + +static_library("run_all_unittests") { + testonly = true + sources = [ "run_all_unittests.cc" ] + deps = [ + ":test_support", + "//base/test:test_support", + ] + if (is_linux || is_chromeos) { + deps += [ "//content/common:set_process_title_linux" ] + } +} + +test("content_unittests") { + use_xvfb = use_xvfb_in_this_config + + # See comment at the top of //content/BUILD.gn for why this is disabled in + # component builds. + if (is_component_build) { + check_includes = false + } + + defines = [] + sources = [ + "../browser/accessibility/browser_accessibility_manager_unittest.cc", + "../browser/accessibility/browser_accessibility_state_impl_unittest.cc", + "../browser/accessibility/browser_accessibility_unittest.cc", + "../browser/accessibility/one_shot_accessibility_tree_search_unittest.cc", + "../browser/accessibility/touch_passthrough_manager_unittest.cc", + "../browser/aggregation_service/aggregatable_report_assembler_unittest.cc", + "../browser/aggregation_service/aggregatable_report_sender_unittest.cc", + "../browser/aggregation_service/aggregatable_report_unittest.cc", + "../browser/aggregation_service/aggregation_service_impl_unittest.cc", + "../browser/aggregation_service/aggregation_service_key_fetcher_unittest.cc", + "../browser/aggregation_service/aggregation_service_network_fetcher_impl_unittest.cc", + "../browser/aggregation_service/aggregation_service_storage_sql_unittest.cc", + "../browser/aggregation_service/public_key_parsing_utils_unittest.cc", + "../browser/attribution_reporting/aggregatable_attribution_utils_unittest.cc", + "../browser/attribution_reporting/attribution_aggregatable_report_golden_unittest.cc", + "../browser/attribution_reporting/attribution_cookie_checker_impl_unittest.cc", + "../browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc", + "../browser/attribution_reporting/attribution_filter_data_unittest.cc", + "../browser/attribution_reporting/attribution_host_unittest.cc", + "../browser/attribution_reporting/attribution_insecure_random_generator_unittest.cc", + "../browser/attribution_reporting/attribution_interop_parser_unittest.cc", + "../browser/attribution_reporting/attribution_interop_unittest.cc", + "../browser/attribution_reporting/attribution_manager_impl_unittest.cc", + "../browser/attribution_reporting/attribution_report_network_sender_unittest.cc", + "../browser/attribution_reporting/attribution_report_unittest.cc", + "../browser/attribution_reporting/attribution_storage_delegate_impl_unittest.cc", + "../browser/attribution_reporting/attribution_storage_sql_migrations_unittest.cc", + "../browser/attribution_reporting/attribution_storage_sql_unittest.cc", + "../browser/attribution_reporting/attribution_storage_unittest.cc", + "../browser/attribution_reporting/attribution_utils_unittest.cc", + "../browser/attribution_reporting/combinatorics_unittest.cc", + "../browser/attribution_reporting/common_source_info_unittest.cc", + "../browser/attribution_reporting/rate_limit_table_unittest.cc", + "../browser/background_fetch/background_fetch_cross_origin_filter_unittest.cc", + "../browser/background_fetch/background_fetch_data_manager_unittest.cc", + "../browser/background_fetch/background_fetch_delegate_proxy_unittest.cc", + "../browser/background_fetch/background_fetch_event_dispatcher_unittest.cc", + "../browser/background_fetch/background_fetch_job_controller_unittest.cc", + "../browser/background_fetch/background_fetch_registration_notifier_unittest.cc", + "../browser/background_fetch/background_fetch_scheduler_unittest.cc", + "../browser/background_fetch/background_fetch_service_unittest.cc", + "../browser/background_fetch/storage/database_helpers_unittest.cc", + "../browser/background_fetch/storage/image_helpers_unittest.cc", + "../browser/background_sync/background_sync_launcher_unittest.cc", + "../browser/background_sync/background_sync_manager_unittest.cc", + "../browser/background_sync/background_sync_metrics_unittest.cc", + "../browser/background_sync/background_sync_network_observer_unittest.cc", + "../browser/background_sync/background_sync_op_scheduler_unittest.cc", + "../browser/background_sync/background_sync_scheduler_unittest.cc", + "../browser/background_sync/background_sync_service_impl_test_harness.cc", + "../browser/background_sync/background_sync_service_impl_test_harness.h", + "../browser/background_sync/one_shot_background_sync_service_impl_unittest.cc", + "../browser/background_sync/periodic_background_sync_service_impl_unittest.cc", + "../browser/blob_storage/blob_url_unittest.cc", + "../browser/bluetooth/bluetooth_allowed_devices_unittest.cc", + "../browser/bluetooth/bluetooth_blocklist_unittest.cc", + "../browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc", + "../browser/bluetooth/bluetooth_util_unittest.cc", + "../browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc", + "../browser/bluetooth/web_bluetooth_pairing_manager_impl_unittest.cc", + "../browser/bluetooth/web_bluetooth_service_impl_unittest.cc", + "../browser/browser_associated_interface_unittest.cc", + "../browser/browser_main_loop_unittest.cc", + "../browser/browser_thread_unittest.cc", + "../browser/browser_url_handler_impl_unittest.cc", + "../browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc", + "../browser/browsing_data/browsing_data_remover_impl_unittest.cc", + "../browser/browsing_data/clear_site_data_handler_unittest.cc", + "../browser/browsing_data/same_site_data_remover_impl_unittest.cc", + "../browser/browsing_topics/browsing_topics_site_data_manager_impl_unittest.cc", + "../browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc", + "../browser/buckets/bucket_manager_host_unittest.cc", + "../browser/byte_stream_unittest.cc", + "../browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc", + "../browser/cache_storage/cache_storage_cache_unittest.cc", + "../browser/cache_storage/cache_storage_context_unittest.cc", + "../browser/cache_storage/cache_storage_index_unittest.cc", + "../browser/cache_storage/cache_storage_manager_unittest.cc", + "../browser/cache_storage/cache_storage_scheduler_unittest.cc", + "../browser/child_process_security_policy_unittest.cc", + "../browser/client_hints/client_hints_unittest.cc", + "../browser/code_cache/generated_code_cache_unittest.cc", + "../browser/code_cache/simple_lru_cache_index_unittest.cc", + "../browser/compute_pressure/compute_pressure_host_unittest.cc", + "../browser/compute_pressure/compute_pressure_manager_unittest.cc", + "../browser/compute_pressure/compute_pressure_quantizer_unittest.cc", + "../browser/compute_pressure/compute_pressure_sampler_unittest.cc", + "../browser/compute_pressure/compute_pressure_test_support.cc", + "../browser/compute_pressure/compute_pressure_test_support.h", + "../browser/compute_pressure/cpu_core_speed_info_unittest.cc", + "../browser/compute_pressure/cpuid_base_frequency_parser_unittest.cc", + "../browser/content_index/content_index_database_unittest.cc", + "../browser/content_index/content_index_service_impl_unittest.cc", + "../browser/cookie_store/cookie_store_manager_unittest.cc", + "../browser/devtools/devtools_agent_host_impl_unittest.cc", + "../browser/devtools/devtools_background_services_context_impl_unittest.cc", + "../browser/devtools/devtools_http_handler_unittest.cc", + "../browser/devtools/devtools_video_consumer_unittest.cc", + "../browser/devtools/protocol/tracing_handler_unittest.cc", + "../browser/devtools/protocol_unittest.cc", + "../browser/dom_storage/dom_storage_context_wrapper_unittest.cc", + "../browser/download/download_manager_impl_unittest.cc", + "../browser/download/save_package_unittest.cc", + "../browser/fenced_frame/fenced_frame_unittest.cc", + "../browser/fenced_frame/fenced_frame_url_mapping_unittest.cc", + "../browser/file_system/browser_file_system_helper_unittest.cc", + "../browser/file_system/file_system_operation_runner_unittest.cc", + "../browser/file_system_access/file_system_access_capacity_allocation_host_impl_unittest.cc", + "../browser/file_system_access/file_system_access_directory_handle_impl_unittest.cc", + "../browser/file_system_access/file_system_access_file_handle_impl_unittest.cc", + "../browser/file_system_access/file_system_access_file_writer_impl_unittest.cc", + "../browser/file_system_access/file_system_access_handle_base_unittest.cc", + "../browser/file_system_access/file_system_access_manager_impl_unittest.cc", + "../browser/file_system_access/file_system_chooser_unittest.cc", + "../browser/file_system_access/safe_move_helper_unittest.cc", + "../browser/first_party_sets/addition_overlaps_union_find_unittest.cc", + "../browser/first_party_sets/database/first_party_sets_database_unittest.cc", + "../browser/first_party_sets/first_party_set_parser_unittest.cc", + "../browser/first_party_sets/first_party_sets_handler_impl_unittest.cc", + "../browser/first_party_sets/first_party_sets_loader_unittest.cc", + "../browser/font_access/font_access_manager_unittest.cc", + "../browser/font_access/font_enumeration_data_source_unittest.cc", + "../browser/generic_sensor/sensor_provider_proxy_impl_unittest.cc", + "../browser/geolocation/geolocation_service_impl_unittest.cc", + "../browser/gpu/gpu_data_manager_impl_private_unittest.cc", + "../browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h", + "../browser/gpu/gpu_data_manager_testing_autogen.cc", + "../browser/gpu/gpu_data_manager_testing_autogen.h", + "../browser/gpu/gpu_data_manager_testing_entry_enums_autogen.h", + "../browser/gpu/gpu_data_manager_testing_exceptions_autogen.h", + "../browser/handwriting/handwriting_recognition_service_impl_unittest.cc", + "../browser/idle/idle_manager_unittest.cc", + "../browser/indexed_db/fake_indexed_db_metadata_coding.cc", + "../browser/indexed_db/fake_indexed_db_metadata_coding.h", + "../browser/indexed_db/indexed_db_active_blob_registry_unittest.cc", + "../browser/indexed_db/indexed_db_backing_store_unittest.cc", + "../browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc", + "../browser/indexed_db/indexed_db_context_unittest.cc", + "../browser/indexed_db/indexed_db_database_unittest.cc", + "../browser/indexed_db/indexed_db_dispatcher_host_unittest.cc", + "../browser/indexed_db/indexed_db_factory_unittest.cc", + "../browser/indexed_db/indexed_db_fake_backing_store.cc", + "../browser/indexed_db/indexed_db_fake_backing_store.h", + "../browser/indexed_db/indexed_db_leveldb_coding_unittest.cc", + "../browser/indexed_db/indexed_db_leveldb_env_unittest.cc", + "../browser/indexed_db/indexed_db_pre_close_task_queue_unittest.cc", + "../browser/indexed_db/indexed_db_quota_client_unittest.cc", + "../browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc", + "../browser/indexed_db/indexed_db_transaction_unittest.cc", + "../browser/indexed_db/indexed_db_unittest.cc", + "../browser/indexed_db/list_set_unittest.cc", + "../browser/indexed_db/mock_indexed_db_callbacks.cc", + "../browser/indexed_db/mock_indexed_db_callbacks.h", + "../browser/indexed_db/mock_indexed_db_database_callbacks.cc", + "../browser/indexed_db/mock_indexed_db_database_callbacks.h", + "../browser/indexed_db/mock_indexed_db_factory.cc", + "../browser/indexed_db/mock_indexed_db_factory.h", + "../browser/indexed_db/mock_mojo_indexed_db_callbacks.cc", + "../browser/indexed_db/mock_mojo_indexed_db_callbacks.h", + "../browser/indexed_db/mock_mojo_indexed_db_database_callbacks.cc", + "../browser/indexed_db/mock_mojo_indexed_db_database_callbacks.h", + "../browser/interest_group/ad_auction_service_impl_unittest.cc", + "../browser/interest_group/auction_process_manager_unittest.cc", + "../browser/interest_group/auction_runner_unittest.cc", + "../browser/interest_group/auction_url_loader_factory_proxy_unittest.cc", + "../browser/interest_group/auction_worklet_manager_unittest.cc", + "../browser/interest_group/interest_group_permissions_cache_unittest.cc", + "../browser/interest_group/interest_group_permissions_checker_unittest.cc", + "../browser/interest_group/interest_group_storage_unittest.cc", + "../browser/loader/cors_origin_pattern_setter_unittest.cc", + "../browser/loader/file_url_loader_factory_unittest.cc", + "../browser/loader/merkle_integrity_source_stream_unittest.cc", + "../browser/loader/navigation_early_hints_manager_unittest.cc", + "../browser/loader/navigation_url_loader_impl_unittest.cc", + "../browser/loader/navigation_url_loader_unittest.cc", + "../browser/locks/lock_manager_unittest.cc", + "../browser/manifest/manifest_icon_downloader_unittest.cc", + "../browser/media/audible_metrics_unittest.cc", + "../browser/media/audio_input_stream_broker_unittest.cc", + "../browser/media/audio_loopback_stream_broker_unittest.cc", + "../browser/media/audio_output_stream_broker_unittest.cc", + "../browser/media/audio_stream_monitor_unittest.cc", + "../browser/media/cdm_registry_impl_unittest.cc", + "../browser/media/flinging_renderer_unittest.cc", + "../browser/media/forwarding_audio_stream_factory_unittest.cc", + "../browser/media/media_devices_permission_checker_unittest.cc", + "../browser/media/media_internals_unittest.cc", + "../browser/media/media_power_experiment_manager_unittest.cc", + "../browser/media/midi_host_unittest.cc", + "../browser/media/session/media_session_controller_unittest.cc", + "../browser/media/session/media_session_controllers_manager_unittest.cc", + "../browser/media/session/media_session_impl_service_routing_unittest.cc", + "../browser/media/session/media_session_impl_uma_unittest.cc", + "../browser/media/session/media_session_impl_unittest.cc", + "../browser/media/session/media_session_uma_helper_unittest.cc", + "../browser/media/system_media_controls_notifier_unittest.cc", + "../browser/media/webaudio/audio_context_manager_impl_unittest.cc", + "../browser/memory/swap_metrics_driver_impl_unittest.cc", + "../browser/metrics/histograms_monitor_unittest.cc", + "../browser/mojo_binder_policy_applier_unittest.cc", + "../browser/mojo_binder_policy_map_impl_unittest.cc", + "../browser/native_io/native_io_manager_unittest.cc", + "../browser/net/cross_origin_embedder_policy_reporter_unittest.cc", + "../browser/net/cross_origin_opener_policy_reporter_unittest.cc", + "../browser/net/network_quality_observer_impl_unittest.cc", + "../browser/network_context_client_base_impl_unittest.cc", + "../browser/notification_service_impl_unittest.cc", + "../browser/notifications/blink_notification_service_impl_unittest.cc", + "../browser/notifications/notification_database_conversions_unittest.cc", + "../browser/notifications/notification_database_unittest.cc", + "../browser/notifications/notification_event_dispatcher_impl_unittest.cc", + "../browser/notifications/notification_id_generator_unittest.cc", + "../browser/notifications/notification_storage_unittest.cc", + "../browser/notifications/platform_notification_context_trigger_unittest.cc", + "../browser/notifications/platform_notification_context_unittest.cc", + "../browser/payments/payment_app_content_unittest_base.cc", + "../browser/payments/payment_app_content_unittest_base.h", + "../browser/payments/payment_app_provider_impl_unittest.cc", + "../browser/payments/payment_manager_unittest.cc", + "../browser/permissions/permission_controller_impl_unittest.cc", + "../browser/picture_in_picture/picture_in_picture_service_impl_unittest.cc", + "../browser/plugin_list_unittest.cc", + "../browser/prerender/prerender_host_registry_unittest.cc", + "../browser/prerender/prerender_host_unittest.cc", + "../browser/presentation/presentation_service_impl_unittest.cc", + "../browser/quota/quota_change_dispatcher_unittest.cc", + "../browser/renderer_host/ancestor_throttle_unittest.cc", + "../browser/renderer_host/back_forward_cache_metrics_unittest.cc", + "../browser/renderer_host/clipboard_host_impl_unittest.cc", + "../browser/renderer_host/commit_deferring_condition_runner_unittest.cc", + "../browser/renderer_host/cursor_manager_unittest.cc", + "../browser/renderer_host/document_service_unittest.cc", + "../browser/renderer_host/embedded_frame_sink_provider_impl_unittest.cc", + "../browser/renderer_host/fenced_frame_tree_node_unittest.cc", + "../browser/renderer_host/frame_token_message_queue_unittest.cc", + "../browser/renderer_host/frame_tree_unittest.cc", + "../browser/renderer_host/input/fling_controller_unittest.cc", + "../browser/renderer_host/input/fling_scheduler_unittest.cc", + "../browser/renderer_host/input/gesture_event_queue_unittest.cc", + "../browser/renderer_host/input/input_router_impl_unittest.cc", + "../browser/renderer_host/input/mock_input_disposition_handler.cc", + "../browser/renderer_host/input/mock_input_disposition_handler.h", + "../browser/renderer_host/input/mock_input_router_client.cc", + "../browser/renderer_host/input/mock_input_router_client.h", + "../browser/renderer_host/input/motion_event_web_unittest.cc", + "../browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc", + "../browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc", + "../browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc", + "../browser/renderer_host/input/stylus_text_selector_unittest.cc", + "../browser/renderer_host/input/synthetic_gesture_controller_unittest.cc", + "../browser/renderer_host/input/synthetic_pointer_action_unittest.cc", + "../browser/renderer_host/input/tap_suppression_controller_unittest.cc", + "../browser/renderer_host/input/touch_action_filter_unittest.cc", + "../browser/renderer_host/input/touch_emulator_unittest.cc", + "../browser/renderer_host/input/touchpad_pinch_event_queue_unittest.cc", + "../browser/renderer_host/input/web_input_event_util_unittest.cc", + "../browser/renderer_host/isolated_app_throttle_unittest.cc", + "../browser/renderer_host/media/audio_input_device_manager_unittest.cc", + "../browser/renderer_host/media/audio_input_stream_handle_unittest.cc", + "../browser/renderer_host/media/audio_output_authorization_handler_unittest.cc", + "../browser/renderer_host/media/audio_service_listener_unittest.cc", + "../browser/renderer_host/media/capture_handle_manager_unittest.cc", + "../browser/renderer_host/media/fake_video_capture_device_launcher.cc", + "../browser/renderer_host/media/fake_video_capture_device_launcher.h", + "../browser/renderer_host/media/fake_video_capture_provider.cc", + "../browser/renderer_host/media/fake_video_capture_provider.h", + "../browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc", + "../browser/renderer_host/media/media_devices_manager_unittest.cc", + "../browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc", + "../browser/renderer_host/media/media_stream_manager_unittest.cc", + "../browser/renderer_host/media/media_stream_ui_proxy_unittest.cc", + "../browser/renderer_host/media/mock_video_capture_provider.cc", + "../browser/renderer_host/media/mock_video_capture_provider.h", + "../browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc", + "../browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc", + "../browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc", + "../browser/renderer_host/media/service_video_capture_provider_unittest.cc", + "../browser/renderer_host/media/video_capture_buffer_pool_unittest.cc", + "../browser/renderer_host/media/video_capture_controller_unittest.cc", + "../browser/renderer_host/media/video_capture_manager_unittest.cc", + "../browser/renderer_host/media/video_capture_unittest.cc", + "../browser/renderer_host/mixed_content_navigation_throttle_unittest.cc", + "../browser/renderer_host/navigation_controller_impl_unittest.cc", + "../browser/renderer_host/navigation_entry_impl_unittest.cc", + "../browser/renderer_host/navigation_policy_container_builder_unittest.cc", + "../browser/renderer_host/navigation_request_unittest.cc", + "../browser/renderer_host/navigation_throttle_runner_unittest.cc", + "../browser/renderer_host/navigator_unittest.cc", + "../browser/renderer_host/origin_policy_throttle_unittest.cc", + "../browser/renderer_host/overscroll_controller_unittest.cc", + "../browser/renderer_host/policy_container_host_unittest.cc", + "../browser/renderer_host/recently_destroyed_hosts_unittest.cc", + "../browser/renderer_host/render_frame_host_csp_context_unittest.cc", + "../browser/renderer_host/render_frame_host_impl_unittest.cc", + "../browser/renderer_host/render_frame_host_manager_unittest.cc", + "../browser/renderer_host/render_frame_host_permissions_policy_unittest.cc", + "../browser/renderer_host/render_process_host_unittest.cc", + "../browser/renderer_host/render_view_host_unittest.cc", + "../browser/renderer_host/render_widget_host_input_event_router_unittest.cc", + "../browser/renderer_host/render_widget_host_unittest.cc", + "../browser/renderer_host/render_widget_host_view_aura_unittest.cc", + "../browser/renderer_host/render_widget_host_view_base_unittest.cc", + "../browser/renderer_host/render_widget_host_view_child_frame_unittest.cc", + "../browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc", + "../browser/renderer_host/transient_allow_popup_unittest.cc", + "../browser/renderer_host/visible_time_request_trigger_unittest.cc", + "../browser/scheduler/browser_io_thread_delegate_unittest.cc", + "../browser/scheduler/browser_task_executor_unittest.cc", + "../browser/scheduler/browser_task_queues_unittest.cc", + "../browser/scheduler/browser_ui_thread_scheduler_unittest.cc", + "../browser/scheduler/responsiveness/calculator_unittest.cc", + "../browser/scheduler/responsiveness/jank_monitor_impl_unittest.cc", + "../browser/scheduler/responsiveness/metric_source_unittest.cc", + "../browser/scheduler/responsiveness/watcher_unittest.cc", + "../browser/screen_orientation/screen_orientation_provider_unittest.cc", + "../browser/screenlock_monitor/screenlock_monitor_unittest.cc", + "../browser/service_worker/embedded_worker_instance_unittest.cc", + "../browser/service_worker/service_worker_cache_writer_unittest.cc", + "../browser/service_worker/service_worker_container_host_unittest.cc", + "../browser/service_worker/service_worker_context_core_unittest.cc", + "../browser/service_worker/service_worker_context_unittest.cc", + "../browser/service_worker/service_worker_context_watcher_unittest.cc", + "../browser/service_worker/service_worker_context_wrapper_unittest.cc", + "../browser/service_worker/service_worker_controllee_request_handler_unittest.cc", + "../browser/service_worker/service_worker_installed_scripts_sender_unittest.cc", + "../browser/service_worker/service_worker_job_unittest.cc", + "../browser/service_worker/service_worker_loader_helpers_unittest.cc", + "../browser/service_worker/service_worker_main_resource_loader_interceptor_unittest.cc", + "../browser/service_worker/service_worker_main_resource_loader_unittest.cc", + "../browser/service_worker/service_worker_metrics_unittest.cc", + "../browser/service_worker/service_worker_new_script_fetcher_unittest.cc", + "../browser/service_worker/service_worker_new_script_loader_unittest.cc", + "../browser/service_worker/service_worker_object_host_unittest.cc", + "../browser/service_worker/service_worker_process_manager_unittest.cc", + "../browser/service_worker/service_worker_registration_unittest.cc", + "../browser/service_worker/service_worker_registry_unittest.cc", + "../browser/service_worker/service_worker_script_loader_factory_unittest.cc", + "../browser/service_worker/service_worker_single_script_update_checker_unittest.cc", + "../browser/service_worker/service_worker_updated_script_loader_unittest.cc", + "../browser/service_worker/service_worker_version_unittest.cc", + "../browser/shareable_file_reference_unittest.cc", + "../browser/shared_storage/shared_storage_url_loader_factory_proxy_unittest.cc", + "../browser/site_instance_impl_unittest.cc", + "../browser/site_isolation_policy_unittest.cc", + "../browser/sms/sms_fetcher_impl_unittest.cc", + "../browser/sms/sms_parser_unittest.cc", + "../browser/sms/user_consent_handler_unittest.cc", + "../browser/sms/webotp_service_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_container_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_document_manager_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_params_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_proxy_configurator_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_service_unittest.cc", + "../browser/speculation_rules/prefetch/prefetch_type_unittest.cc", + "../browser/speculation_rules/speculation_host_impl_unittest.cc", + "../browser/speech/tts_controller_unittest.cc", + "../browser/startup_task_runner_unittest.cc", + "../browser/storage_partition_config_unittest.cc", + "../browser/storage_partition_impl_map_unittest.cc", + "../browser/storage_partition_impl_unittest.cc", + "../browser/tracing/background_startup_tracing_observer_unittest.cc", + "../browser/tracing/background_tracing_config_unittest.cc", + "../browser/web_contents/aura/gesture_nav_simple_unittest.cc", + "../browser/web_contents/web_contents_delegate_unittest.cc", + "../browser/web_contents/web_contents_impl_unittest.cc", + "../browser/web_contents/web_contents_user_data_unittest.cc", + "../browser/web_contents/web_contents_view_aura_unittest.cc", + "../browser/web_database/web_database_host_impl_unittest.cc", + "../browser/web_exposed_isolation_info_unittest.cc", + "../browser/web_package/signed_exchange_cert_fetcher_unittest.cc", + "../browser/web_package/signed_exchange_certificate_chain_unittest.cc", + "../browser/web_package/signed_exchange_envelope_unittest.cc", + "../browser/web_package/signed_exchange_handler_unittest.cc", + "../browser/web_package/signed_exchange_loader_unittest.cc", + "../browser/web_package/signed_exchange_prefetch_metric_recorder_unittest.cc", + "../browser/web_package/signed_exchange_prologue_unittest.cc", + "../browser/web_package/signed_exchange_signature_header_field_unittest.cc", + "../browser/web_package/signed_exchange_signature_verifier_unittest.cc", + "../browser/web_package/signed_exchange_utils_unittest.cc", + "../browser/web_package/web_bundle_blob_data_source_unittest.cc", + "../browser/web_package/web_bundle_reader_unittest.cc", + "../browser/web_package/web_bundle_url_loader_factory_unittest.cc", + "../browser/web_package/web_bundle_utils_unittest.cc", + "../browser/webid/federated_auth_request_impl_unittest.cc", + "../browser/webid/idp_network_request_manager_unittest.cc", + "../browser/webid/test/mock_active_session_permission_delegate.cc", + "../browser/webid/test/mock_active_session_permission_delegate.h", + "../browser/webid/test/mock_api_permission_delegate.cc", + "../browser/webid/test/mock_api_permission_delegate.h", + "../browser/webid/test/mock_identity_request_dialog_controller.cc", + "../browser/webid/test/mock_identity_request_dialog_controller.h", + "../browser/webid/test/mock_idp_network_request_manager.cc", + "../browser/webid/test/mock_idp_network_request_manager.h", + "../browser/webid/test/mock_sharing_permission_delegate.cc", + "../browser/webid/test/mock_sharing_permission_delegate.h", + "../browser/webid/test/webid_test_content_browser_client.cc", + "../browser/webid/test/webid_test_content_browser_client.h", + "../browser/webrtc/webrtc_internals_message_handler_unittest.cc", + "../browser/webrtc/webrtc_internals_unittest.cc", + "../browser/webtransport/web_transport_throttle_context_unittest.cc", + "../browser/webui/web_ui_data_source_unittest.cc", + "../browser/webui/web_ui_main_frame_observer_unittest.cc", + "../browser/webui/web_ui_message_handler_unittest.cc", + "../browser/webui/web_ui_unittest.cc", + "../browser/webui/web_ui_url_loader_factory_unittest.cc", + "../browser/worker_host/dedicated_worker_service_impl_unittest.cc", + "../browser/worker_host/mock_shared_worker.cc", + "../browser/worker_host/mock_shared_worker.h", + "../browser/worker_host/shared_worker_host_unittest.cc", + "../browser/worker_host/shared_worker_instance_unittest.cc", + "../browser/worker_host/shared_worker_service_impl_unittest.cc", + "../browser/worker_host/worker_script_fetcher_unittest.cc", + "../browser/worker_host/worker_script_loader_factory_unittest.cc", + "../browser/xr/metrics/session_tracker_unittest.cc", + "../child/blink_platform_impl_unittest.cc", + "../common/background_fetch/background_fetch_mojom_traits_unittest.cc", + "../common/color_parser_unittest.cc", + "../common/common_param_traits_unittest.cc", + "../common/content_switches_internal_unittest.cc", + "../common/cursors/webcursor_unittest.cc", + "../common/drop_data_unittest.cc", + "../common/fetch/fetch_api_request_proto_unittest.cc", + "../common/fetch/fetch_request_type_converters_unittest.cc", + "../common/font_list_unittest.cc", + "../common/frame_owner_element_type_mojom_traits_unittest.cc", + "../common/input/actions_parser_test_driver_unittest.cc", + "../common/input/actions_parser_unittest.cc", + "../common/input/event_with_latency_info_unittest.cc", + "../common/input/gesture_event_stream_validator_unittest.cc", + "../common/input/touch_event_stream_validator_unittest.cc", + "../common/state_transitions_unittest.cc", + "../common/url_utils_unittest.cc", + "../common/user_agent_unittest.cc", + "../common/webplugininfo_unittest.cc", + "../public/test/browser_task_environment_unittest.cc", + "../public/test/devtools_permission_overrides_unittest.cc", + "../public/test/no_renderer_crashes_assertion_unittest.cc", + "../public/test/permission_type_unittest.cc", + "../public/test/referrer_unittest.cc", + "../public/test/test_utils_unittest.cc", + "../renderer/accessibility/ax_image_stopwords_unittest.cc", + "../renderer/categorized_worker_pool_unittest.cc", + "../renderer/content_security_policy_util_unittest.cc", + "../renderer/media/batching_media_log_unittest.cc", + "../renderer/media/inspector_media_event_handler_unittest.cc", + "../renderer/media/renderer_webaudiodevice_impl_unittest.cc", + "../renderer/render_thread_impl_unittest.cc", + "../renderer/service_worker/service_worker_provider_context_unittest.cc", + "../renderer/service_worker/service_worker_subresource_loader_unittest.cc", + "../renderer/skia_benchmarking_extension_unittest.cc", + "../renderer/v8_value_converter_impl_unittest.cc", + "../renderer/worker/worker_thread_registry_unittest.cc", + "attribution_simulator_impl_unittest.cc", + "attribution_simulator_input_parser_unittest.cc", + "navigation_simulator_unittest.cc", + "test_aggregation_service_impl_unittest.cc", + "test_render_frame_host_unittest.cc", + ] + + if (is_mac) { + sources += [ + "../browser/accessibility/browser_accessibility_mac_unittest.mm", + "../browser/child_process_task_port_provider_mac_unittest.cc", + "../browser/cocoa/system_hotkey_map_unittest.mm", + "../browser/renderer_host/input/mouse_wheel_rails_filter_unittest_mac.cc", + "../browser/renderer_host/input/web_input_event_builders_mac_unittest.mm", + "../browser/renderer_host/native_web_keyboard_event_mac_unittest.mm", + "../browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm", + "../browser/renderer_host/render_widget_host_view_mac_unittest.mm", + "../browser/renderer_host/text_input_client_mac_unittest.mm", + "../browser/sandbox_mac_unittest.mm", + "../browser/speech/tts_mac_unittest.mm", + "../browser/web_contents/web_contents_view_mac_unittest.mm", + "../browser/web_contents/web_drag_dest_mac_unittest.mm", + "../browser/web_contents/web_drag_source_mac_unittest.mm", + "../common/mac/attributed_string_type_converters_unittest.mm", + "../renderer/sandbox_mac_v2_unittest.mm", + ] + } + + if (use_atk) { + sources += [ + "../browser/accessibility/browser_accessibility_auralinux_unittest.cc", + "../browser/accessibility/browser_accessibility_manager_auralinux_unittest.cc", + ] + configs += [ "//build/config/linux/atk" ] + } + + if (is_fuchsia) { + sources += [ + "../browser/accessibility/browser_accessibility_fuchsia_unittest.cc", + "../browser/accessibility/browser_accessibility_manager_fuchsia_unittest.cc", + ] + + use_cfv1 = false + + # TODO(https://crbug.com/1185811): Investigate removing the requirement for + # job_policy_ambient_mark_vmo_exec for the sake of V8's allocator in tests. + test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml" + + additional_manifest_fragments = [ + "//build/config/fuchsia/test/fonts.shard.test-cml", + "//build/config/fuchsia/test/network.shard.test-cml", + "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml", + ] + } + + if (is_android) { + sources += [ + "../browser/accessibility/browser_accessibility_android_unittest.cc", + "../browser/android/nfc_host_unittest.cc", + "../browser/renderer_host/input/web_input_event_builders_android_unittest.cc", + "../browser/tracing/background_reached_code_tracing_observer_android_unittest.cc", + "../browser/web_contents/color_chooser_unittest.cc", + "../common/android/cpu_time_metrics_unittest.cc", + "../common/android/gin_java_bridge_value_unittest.cc", + ] + } + + if (is_win) { + sources += + [ "../renderer/media/win/overlay_state_observer_impl_unittest.cc" ] + } + + if (is_linux || is_chromeos) { + sources += [ + "../browser/compute_pressure/cpu_probe_linux_unittest.cc", + "../browser/compute_pressure/procfs_stat_cpu_parser_unittest.cc", + "../browser/compute_pressure/sysfs_cpufreq_core_parser_unittest.cc", + ] + } + + if (is_android || is_linux || is_chromeos || is_mac || is_win || is_fuchsia) { + data = [ + "$root_out_dir/content_shell.pak", + "data/", + "//media/test/data/", + "//content/test/data/attribution_reporting/databases/", + "//content/test/data/browsing_topics/", + ] + } + + configs += [ "//build/config:precompiled_headers" ] + + public_deps = [ + "//content:content_resources", + "//content:dev_ui_content_resources", + ] + + deps = [ + ":content_test_mojo_bindings", + ":run_all_unittests", + ":test_interfaces", + ":test_support", + "//base", + "//base/allocator:buildflags", + "//base/test:test_support", + "//base/third_party/dynamic_annotations", + "//build:chromecast_buildflags", + "//build:chromeos_buildflags", + "//cc", + "//cc:test_support", + "//cc/mojom", + "//components/cbor", + "//components/network_session_configurator/browser", + "//components/network_session_configurator/common", + "//components/offline_pages/buildflags", + "//components/payments/mojom", + "//components/power_scheduler", + "//components/services/quarantine/public/mojom", + "//components/services/storage", + "//components/services/storage:test_support", + "//components/services/storage/dom_storage:local_storage_proto", + "//components/services/storage/public/cpp", + "//components/services/storage/service_worker:service_worker_proto", + "//components/system_media_controls:test_support", + "//components/ukm:test_support", + "//components/viz/client", + "//components/viz/common", + "//components/viz/host", + "//components/viz/service", + "//components/viz/test:test_support", + "//content/app:for_content_tests", + "//content/browser:for_content_tests", + "//content/browser/attribution_reporting:attribution_reporting_proto", + "//content/browser/background_fetch:background_fetch_proto", + "//content/browser/cache_storage:cache_storage_proto", + "//content/browser/devtools:devtools_background_services_proto", + "//content/browser/download:proto", + "//content/browser/notifications:notification_proto", + "//content/child:for_content_tests", + "//content/common:buildflags", + "//content/gpu", + "//content/public/browser", + "//content/public/browser:proto", + "//content/public/child", + "//content/public/common", + "//content/public/common:trust_tokens_mojo_bindings", + "//content/public/renderer", + "//content/renderer:for_content_tests", + "//content/services/auction_worklet", + "//content/services/auction_worklet:tests", + "//content/services/auction_worklet/public/mojom", + "//content/services/shared_storage_worklet:tests", + "//content/services/shared_storage_worklet/public/mojom", + "//crypto", + "//device/bluetooth", + "//device/bluetooth:mocks", + "//device/gamepad", + "//device/gamepad:test_helpers", + "//device/gamepad/public/cpp:shared_with_blink", + "//gin", + "//gpu", + "//gpu:test_support", + "//gpu/ipc/host", + "//gpu/ipc/service", + "//ipc:test_support", + "//media:test_support", + "//media/capture", + "//media/midi:midi", + "//media/midi:mojo", + "//media/webrtc", + "//mojo/core/embedder", + "//mojo/public/cpp/bindings", + "//mojo/public/cpp/test_support:test_utils", + "//net:extras", + "//net:test_support", + "//ppapi/buildflags", + "//services/audio/public/cpp:test_support", + "//services/audio/public/mojom", + "//services/data_decoder/public/cpp:test_support", + "//services/data_decoder/public/mojom", + "//services/device/public/cpp:test_support", + "//services/device/public/cpp/generic_sensor", + "//services/device/public/mojom", + "//services/metrics/public/cpp:ukm_builders", + "//services/metrics/public/mojom", + "//services/network:network_service", + "//services/network:test_support", + "//services/network/public/cpp", + "//services/network/public/mojom", + "//services/service_manager/public/cpp/test:test_support", + "//services/video_capture/public/cpp:mocks", + "//services/video_capture/public/mojom", + "//services/video_capture/public/mojom:constants", + "//skia", + "//sql", + "//sql:test_support", + "//storage/browser", + "//storage/browser:test_support", + "//storage/common", + "//testing/gmock", + "//testing/gtest", + "//third_party/blink/public:blink", + "//third_party/blink/public:test_support", + "//third_party/blink/public/common:font_enumeration_table_proto", + "//third_party/blink/public/common:headers", + "//third_party/icu", + "//third_party/inspector_protocol:crdtp", + "//third_party/inspector_protocol:crdtp_test", + "//third_party/leveldatabase", + "//third_party/libyuv", + "//third_party/metrics_proto", + "//third_party/re2", + "//third_party/sqlite", + "//third_party/widevine/cdm:headers", + "//third_party/zlib/google:compression_utils", + "//ui/accessibility", + "//ui/accessibility:test_support", + "//ui/base:test_support", + "//ui/base/clipboard:clipboard_test_support", + "//ui/base/cursor", + "//ui/base/cursor/mojom:cursor_type", + "//ui/base/idle:test_support", + "//ui/base/ime/init", + "//ui/compositor:test_support", + "//ui/display", + "//ui/display:test_support", + "//ui/display/mojom", + "//ui/events:gesture_detection", + "//ui/events:test_support", + "//ui/events/blink", + "//ui/gfx:test_support", + "//ui/gfx/geometry", + "//ui/gfx/geometry:geometry_skia", + "//ui/gfx/geometry/mojom:mojom_traits", + "//ui/gfx/ipc", + "//ui/gfx/ipc/skia", + "//ui/gl", + "//ui/gl:test_support", + "//ui/latency:test_support", + "//ui/shell_dialogs:shell_dialogs", + ] + + data_deps = [ + "//testing/buildbot/filters:content_unittests_filters", + "//third_party/mesa_headers", + ] + + if (is_posix) { + sources += [ "../browser/posix_file_descriptor_info_impl_unittest.cc" ] + deps += [ "//services/tracing:test_utils" ] + } + + if (is_linux || is_chromeos) { + deps += [ "//components/crash/content/browser/error_reporting" ] + } + + if (is_fuchsia) { + deps += + [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.accessibility.semantics" ] + } + + if (enable_basic_printing) { + deps += [ + "//printing", + "//printing/backend", + ] + } + + if (enable_plugins) { + sources += [ + "../browser/ppapi_plugin_sandboxed_process_launcher_delegate_unittest.cc", + "../browser/renderer_host/pepper/browser_ppapi_host_test.cc", + "../browser/renderer_host/pepper/browser_ppapi_host_test.h", + "../browser/renderer_host/pepper/pepper_file_system_browser_host_unittest.cc", + "../browser/renderer_host/pepper/pepper_gamepad_host_unittest.cc", + "../browser/renderer_host/pepper/pepper_printing_host_unittest.cc", + "../browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc", + "../browser/renderer_host/pepper/quota_reservation_unittest.cc", + "../renderer/pepper/event_conversion_unittest.cc", + "../renderer/pepper/host_var_tracker_unittest.cc", + "../renderer/pepper/mock_resource.h", + "../renderer/pepper/v8_var_converter_unittest.cc", + ] + deps += [ + "//ppapi/c", + "//ppapi/host", + "//ppapi/proxy:test_support", + "//ppapi/shared_impl:test_support", + ] + } + + if (enable_library_cdms) { + sources += [ + "../browser/media/cdm_storage_impl_unittest.cc", + "../browser/media/key_system_support_impl_unittest.cc", + "../browser/media/media_license_manager_unittest.cc", + ] + } + + # Screen capture unit tests. + if (enable_screen_capture) { + sources += [ + "../browser/media/capture/frame_sink_video_capture_device_unittest.cc", + "../browser/media/capture/web_contents_frame_tracker_unittest.cc", + ] + + if (!is_android) { + deps += [ + "//content/common:buildflags", + "//media/capture:test_support", + "//third_party/libyuv", + "//third_party/webrtc_overrides:webrtc_component", + ] + sources += [ + "../browser/media/capture/desktop_capture_device_unittest.cc", + "../browser/renderer_host/media/crop_id_web_contents_helper_unittest.cc", + ] + } + } + + if (is_linux || is_chromeos) { + if (use_dbus) { + deps += [ "//dbus:test_support" ] + } + } + if (is_win) { + sources += [ + "../browser/accessibility/browser_accessibility_manager_win_unittest.cc", + "../browser/accessibility/browser_accessibility_win_unittest.cc", + "../browser/renderer_host/direct_manipulation_test_helper_win.cc", + "../browser/renderer_host/direct_manipulation_test_helper_win.h", + "../browser/renderer_host/direct_manipulation_win_unittest.cc", + "../browser/renderer_host/dwrite_font_lookup_table_builder_win_unittest.cc", + "../browser/renderer_host/dwrite_font_proxy_impl_win_unittest.cc", + "../browser/screenlock_monitor/screenlock_monitor_device_source_win_unittest.cc", + "../child/dwrite_font_proxy/dwrite_font_proxy_win_unittest.cc", + "../child/dwrite_font_proxy/font_fallback_win_unittest.cc", + "../child/font_warmup_win_unittest.cc", + "../renderer/media/win/dcomp_texture_wrapper_unittest.cc", + ] + deps += [ + "//sandbox/policy:sandbox_test_utils", + "//sandbox/win:sandbox", + "//third_party/blink/public/common", + "//third_party/blink/public/common:font_unique_name_table_proto", + "//third_party/iaccessible2", + "//ui/base", + ] + libs = [ + "dwrite.lib", + "wtsapi32.lib", + ] + configs += [ "//build/config/win:delayloads" ] + } + if (is_mac) { + deps += [ + "//sandbox/mac:seatbelt", + "//third_party/mozilla", + "//third_party/ocmock", + "//ui/accelerated_widget_mac", + "//ui/base/mojom", + ] + frameworks = [ + "Carbon.framework", + "IOSurface.framework", + ] + } + if (is_chromeos_ash) { + sources += [ "../browser/handwriting/handwriting_recognition_service_impl_cros_unittest.cc" ] + deps += [ + "//ash/components/audio", + "//ash/constants:constants", + "//chromeos/dbus/audio", + "//chromeos/services/machine_learning/public/cpp:stub", + "//chromeos/services/machine_learning/public/mojom", + ] + } + if (is_chromeos_lacros) { + deps += [ "//chromeos/lacros:test_support" ] + } + if (is_android) { + sources += [ + "../browser/android/android_overlay_provider_impl_unittest.cc", + "../browser/android/java/gin_java_method_invocation_helper_unittest.cc", + "../browser/android/java/java_type_unittest.cc", + "../browser/android/overscroll_controller_android_unittest.cc", + "../browser/android/scoped_surface_request_manager_unittest.cc", + "../browser/font_unique_name_lookup/font_unique_name_lookup_unittest.cc", + "../browser/renderer_host/render_widget_host_view_android_unittest.cc", + "../browser/sms/sms_provider_gms_unittest.cc", + "../renderer/java/gin_java_bridge_value_converter_unittest.cc", + "../renderer/media/android/stream_texture_proxy_unittest.cc", + "../renderer/media/android/stream_texture_wrapper_impl_unittest.cc", + ] + + deps += [ + ":content_unittests_java", + ":content_unittests_jni_headers", + "//base:base_java_unittest_support", + "//build/config/freetype", + "//components/download/internal/common:internal_java", + "//content/public/android:content_java", + "//gpu/command_buffer/service:android_texture_owner_test_support", + "//services/data_decoder/public/cpp/android:safe_json_java", + "//third_party/blink/public/common", + "//third_party/blink/public/common:font_unique_name_table_proto", + "//ui/android:android", + ] + + if (use_v8_context_snapshot) { + deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ] + } else { + deps += [ "//v8:v8_external_startup_data_assets" ] + } + + defines += [ "APPCACHE_USE_SIMPLE_CACHE" ] + } else { + # Non-Android. + sources += [ + "../browser/devtools/protocol/webauthn_handler_unittest.cc", + "../browser/direct_sockets/direct_sockets_udp_unittest.cc", + "../browser/direct_sockets/direct_sockets_unittest.cc", + "../browser/host_zoom_map_impl_unittest.cc", + "../browser/serial/serial_unittest.cc", + "../browser/speech/endpointer/endpointer_unittest.cc", + "../browser/speech/speech_recognition_engine_unittest.cc", + "../browser/speech/speech_recognizer_impl_unittest.cc", + "../browser/tracing/tracing_ui_unittest.cc", + ] + } + + # HID support is not available without udev. + is_linux_without_udev = (is_linux || is_chromeos) && !use_udev + if (!is_linux_without_udev && !is_android) { + sources += [ + "../browser/hid/hid_service_unittest.cc", + "../browser/webauth/authenticator_impl_unittest.cc", + "../browser/webauth/authenticator_mojom_traits_unittest.cc", + "../browser/webauth/webauth_request_security_checker_unittest.cc", + ] + deps += [ + "//components/webauthn/content/browser", + "//device/base", + "//device/fido", + "//device/fido:cablev2_authenticator", + "//device/fido:cablev2_test_util", + "//device/fido:mocks", + "//device/fido:test_support", + "//services/device/hid:test_support", + "//services/device/public/cpp/hid:test_support", + ] + if (is_chromeos) { + deps += [ + "//chromeos/dbus/tpm_manager", + "//chromeos/dbus/u2f", + ] + } + } + + if (use_aura) { + deps += [ + "//ui/aura:test_support", + "//ui/aura_extra", + "//ui/base/dragdrop:types", + "//ui/base/dragdrop/mojom", + "//ui/wm", + ] + } else { + sources -= [ + "../browser/renderer_host/render_widget_host_view_aura_unittest.cc", + "../browser/web_contents/aura/gesture_nav_simple_unittest.cc", + "../browser/web_contents/web_contents_view_aura_unittest.cc", + ] + } + + if (use_aura || toolkit_views) { + deps += [ "//ui/events:test_support" ] + } + + if (!is_win && !is_mac) { + sources -= [ "../browser/plugin_list_unittest.cc" ] + } + + if (use_ozone) { + deps += [ "//ui/ozone" ] + if (ozone_platform_x11) { + deps += [ + "//ui/base/x", + "//ui/gfx/x", + ] + } + } + + if (is_mac) { + deps += [ "//third_party/boringssl" ] + } + + if (is_linux || is_chromeos) { + sources += [ "../common/set_process_title_linux_unittest.cc" ] + deps += [ "//content/common:set_process_title_linux" ] + } + + if (enable_vr) { + sources += [ "../browser/xr/service/xr_runtime_manager_unittest.cc" ] + deps += [ "//device/vr:vr_fakes" ] + } + + if (is_chromecast) { + deps += [ "//chromecast:chromecast_buildflags" ] + } +} + +if (enable_nocompile_tests) { + nocompile_test("content_nocompile_tests") { + sources = [ "../browser/browser_task_traits_unittest.nc" ] + + deps = [ + ":run_all_unittests", + "//base", + "//content/public/browser", + "//testing/gtest", + ] + } +} + +group("fuzzers") { + deps = [ "//content/test/fuzzer" ] +} + +# This group defines the isolate files needed to run +# test_buildbucket_api_gpu_cases.py on bots. This also tells the build system +# when the tests should be re-run - when one of the dependent files changes. +# +group("test_buildbucket_api_gpu_use_cases") { + data = [ + # The test runner and its dependencies. + "//testing/scripts/test_buildbucket_api_gpu_use_cases.py", + + "//content/test/gpu/gather_power_measurement_results.py", + "//content/test/gpu/gather_swarming_json_results.py", + ] + data_deps = [ "//testing:test_scripts_shared" ] +} + +if (is_android) { + content_java_sources_needing_jni = [ + "//content/public/android/javatests/src/org/chromium/content/browser/sms/SmsProviderFakes.java", + "//content/public/android/javatests/src/org/chromium/content/browser/fakes/TestViewAndroidDelegate.java", + ] + + generate_jni("content_unittests_jni_headers") { + testonly = true + sources = content_java_sources_needing_jni + } + + android_library("content_unittests_java") { + testonly = true + sources = content_java_sources_needing_jni + deps = [ + "$google_play_services_package:google_play_services_auth_api_phone_java", + "$google_play_services_package:google_play_services_base_java", + "$google_play_services_package:google_play_services_basement_java", + "$google_play_services_package:google_play_services_tasks_java", + "//base:base_java", + "//base:jni_java", + "//content/public/android:content_java", + "//ui/android:ui_full_java", + ] + } +}