chromium/content/test/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/cast.gni")
import("//build/config/chrome_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("//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/features.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//net/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
import("//services/device/public/cpp/compute_pressure/buildflags.gni")
import("//services/screen_ai/buildflags/features.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("//third_party/protobuf/proto_library.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/preprocess_if_expr.gni")
import("//tools/typescript/webui_ts_library.gni")
import("//v8/gni/v8.gni")

if (is_android) {
  import("//build/config/android/rules.gni")
  import("//third_party/jni_zero/jni_zero.gni")
}

if (is_ios) {
  import("//build/config/ios/bundle_data_from_filelist.gni")
  import("//build/ios/extension_bundle_data.gni")
}

# 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/aggregation_service/aggregation_service_test_utils.cc",
    "../browser/aggregation_service/aggregation_service_test_utils.h",
    "../browser/aggregation_service/public_key.h",
    "../browser/attribution_reporting/attribution_test_utils.cc",
    "../browser/attribution_reporting/attribution_test_utils.h",
    "../browser/attribution_reporting/interop/parser.cc",
    "../browser/attribution_reporting/interop/parser.h",
    "../browser/attribution_reporting/interop/runner.cc",
    "../browser/attribution_reporting/interop/runner.h",
    "../browser/attribution_reporting/test/configurable_storage_delegate.cc",
    "../browser/attribution_reporting/test/configurable_storage_delegate.h",
    "../browser/attribution_reporting/test/mock_attribution_data_host_manager.cc",
    "../browser/attribution_reporting/test/mock_attribution_data_host_manager.h",
    "../browser/attribution_reporting/test/mock_attribution_host.cc",
    "../browser/attribution_reporting/test/mock_attribution_host.h",
    "../browser/attribution_reporting/test/mock_attribution_manager.cc",
    "../browser/attribution_reporting/test/mock_attribution_manager.h",
    "../browser/attribution_reporting/test/mock_attribution_observer.cc",
    "../browser/attribution_reporting/test/mock_attribution_observer.h",
    "../browser/attribution_reporting/test/mock_content_browser_client.h",
    "../browser/attribution_reporting/test/source_observer.cc",
    "../browser/attribution_reporting/test/source_observer.h",
    "../browser/back_forward_cache_test_util.cc",
    "../browser/back_forward_cache_test_util.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/browsing_topics/test_util.cc",
    "../browser/browsing_topics/test_util.h",
    "../browser/cookie_deprecation_label/cookie_deprecation_label_test_utils.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/first_party_sets/test/scoped_mock_first_party_sets_handler.cc",
    "../browser/first_party_sets/test/scoped_mock_first_party_sets_handler.h",
    "../browser/font_access/font_access_test_utils.cc",
    "../browser/font_access/font_access_test_utils.h",
    "../browser/installedapp/test/installed_app_provider_impl_test_utils.cc",
    "../browser/installedapp/test/installed_app_provider_impl_test_utils.h",
    "../browser/interest_group/additional_bids_test_util.cc",
    "../browser/interest_group/additional_bids_test_util.h",
    "../browser/interest_group/test_interest_group_observer.cc",
    "../browser/interest_group/test_interest_group_observer.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/payments/stub_payment_credential.cc",
    "../browser/payments/stub_payment_credential.h",
    "../browser/preloading/prefetch/mock_prefetch_service_delegate.cc",
    "../browser/preloading/prefetch/mock_prefetch_service_delegate.h",
    "../browser/preloading/prefetch/prefetch_test_util_internal.cc",
    "../browser/preloading/prefetch/prefetch_test_util_internal.h",
    "../browser/presentation/presentation_test_utils.cc",
    "../browser/presentation/presentation_test_utils.h",
    "../browser/private_aggregation/private_aggregation_test_utils.cc",
    "../browser/private_aggregation/private_aggregation_test_utils.h",
    "../browser/renderer_host/document_service_echo_impl.cc",
    "../browser/renderer_host/document_service_echo_impl.h",
    "../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/mock_render_widget_host.cc",
    "../browser/renderer_host/mock_render_widget_host.h",
    "../browser/screen_details/screen_details_test_utils.cc",
    "../browser/screen_details/screen_details_test_utils.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/usb/usb_test_utils.cc",
    "../browser/usb/usb_test_utils.h",
    "../browser/web_package/mock_signed_exchange_handler.cc",
    "../browser/web_package/mock_signed_exchange_handler.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/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/background_tracing_test_support.cc",
    "../public/test/background_tracing_test_support.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/captured_surface_test_utils.cc",
    "../public/test/captured_surface_test_utils.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/context_menu_interceptor.cc",
    "../public/test/context_menu_interceptor.h",
    "../public/test/cursor_utils.cc",
    "../public/test/cursor_utils.h",
    "../public/test/download_test_observer.cc",
    "../public/test/download_test_observer.h",
    "../public/test/embedded_worker_instance_test_harness.cc",
    "../public/test/embedded_worker_instance_test_harness.h",
    "../public/test/fake_download_item.cc",
    "../public/test/fake_download_item.h",
    "../public/test/fake_file_system_access_permission_context.cc",
    "../public/test/fake_file_system_access_permission_context.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_reporter_observer.cc",
    "../public/test/fenced_frame_reporter_observer.h",
    "../public/test/fenced_frame_test_util.cc",
    "../public/test/fenced_frame_test_util.h",
    "../public/test/file_system_chooser_test_helpers.cc",
    "../public/test/file_system_chooser_test_helpers.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/ipc_interfaces_dumper.h",
    "../public/test/javascript_test_observer.cc",
    "../public/test/javascript_test_observer.h",
    "../public/test/keep_alive_url_loader_utils.cc",
    "../public/test/keep_alive_url_loader_utils.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_devtools_agent_host.cc",
    "../public/test/mock_devtools_agent_host.h",
    "../public/test/mock_download_manager.cc",
    "../public/test/mock_download_manager.h",
    "../public/test/mock_media_session.cc",
    "../public/test/mock_media_session.h",
    "../public/test/mock_navigation_handle.cc",
    "../public/test/mock_navigation_handle.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_video_picture_in_picture_window_controller_impl.cc",
    "../public/test/mock_video_picture_in_picture_window_controller_impl.h",
    "../public/test/mock_web_contents_observer.cc",
    "../public/test/mock_web_contents_observer.h",
    "../public/test/mojo_capability_control_test_util.cc",
    "../public/test/mojo_capability_control_test_util.h",
    "../public/test/navigation_handle_observer.cc",
    "../public/test/navigation_handle_observer.h",
    "../public/test/navigation_simulator.h",
    "../public/test/navigation_transition_test_utils.cc",
    "../public/test/navigation_transition_test_utils.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/prefetch_test_util.cc",
    "../public/test/prefetch_test_util.h",
    "../public/test/preloading_test_util.cc",
    "../public/test/preloading_test_util.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_accessibility_mode_override.cc",
    "../public/test/scoped_accessibility_mode_override.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/synchronize_visual_properties_interceptor.cc",
    "../public/test/synchronize_visual_properties_interceptor.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_image_transport_factory.cc",
    "../public/test/test_image_transport_factory.h",
    "../public/test/test_launcher.cc",
    "../public/test/test_launcher.h",
    "../public/test/test_media_session_client.cc",
    "../public/test/test_media_session_client.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_renderer_host.cc",
    "../public/test/test_renderer_host.h",
    "../public/test/test_select_url_fenced_frame_config_observer.h",
    "../public/test/test_shared_storage_header_observer.cc",
    "../public/test/test_shared_storage_header_observer.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/update_user_activation_state_interceptor.cc",
    "../public/test/update_user_activation_state_interceptor.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_observer_test_utils.cc",
    "../public/test/web_contents_observer_test_utils.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/accessibility/render_accessibility_impl_test.cc",
    "../renderer/accessibility/render_accessibility_impl_test.h",
    "../renderer/mock_agent_scheduling_group.cc",
    "../renderer/mock_agent_scheduling_group.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",
    "ipc_interfaces_dumper.cc",
    "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_keyboard.cc",
    "mock_keyboard.h",
    "mock_overscroll_observer.h",
    "mock_platform_notification_service.cc",
    "mock_platform_notification_service.h",
    "mock_reduce_accept_language_controller_delegate.cc",
    "mock_reduce_accept_language_controller_delegate.h",
    "mock_render_input_router.cc",
    "mock_render_input_router.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",
    "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.cc",
    "test_page.h",
    "test_page_broadcast.cc",
    "test_page_broadcast.h",
    "test_page_factory.cc",
    "test_page_factory.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_select_url_fenced_frame_config_observer_impl.cc",
    "test_select_url_fenced_frame_config_observer_impl.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",
  ]

  configs += [
    "//build/config:precompiled_headers",
    "//v8:external_startup_data",
  ]

  public_deps = [
    ":test_interfaces",
    "//components/attribution_reporting:test_support",
    "//components/download/public/common:test_support",
    "//components/file_access:test_support",
    "//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",
    "//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:strings_grit",
    "//ui/accessibility:ax_base",
    "//ui/gl:test_support",
    "//ui/strings:auto_image_annotation_strings",
  ]

  deps = [
    ":content_test_mojo_bindings",
    ":web_ui_mojo_test_resources",
    "//build:chromeos_buildflags",
    "//cc:test_support",
    "//components/attribution_reporting:data_host_mojom",
    "//components/attribution_reporting:mojom",
    "//components/attribution_reporting:source_type_mojom",
    "//components/breadcrumbs/core",
    "//components/browsing_topics/common:common",
    "//components/cbor",
    "//components/input",
    "//components/input:test_support",
    "//components/network_session_configurator/common:common",
    "//components/services/storage",
    "//components/startup_metric_utils",
    "//components/ukm:test_support",
    "//components/variations",
    "//components/viz/client",
    "//components/viz/host",
    "//components/web_package/test_support",
    "//content/app:for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/attribution_reporting:mojo_bindings",
    "//content/browser/attribution_reporting:registration_result_mojom",
    "//content/child:for_content_tests",
    "//content/common:for_content_tests",
    "//content/gpu",
    "//content/public/browser",
    "//content/public/browser:proto",
    "//content/public/child",
    "//content/public/common",
    "//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_sink",
    "//media",
    "//media/capture",
    "//media/capture/mojom:image_capture",
    "//media/mojo/mojom:web_speech_recognition",
    "//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/cert_verifier:lib",
    "//services/data_decoder/public/cpp:test_support",
    "//services/data_decoder/public/mojom",
    "//services/device:lib",
    "//services/device/public/mojom",
    "//services/device/public/mojom:usb",
    "//services/device/time_zone_monitor:test_support",
    "//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/cpp: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:strings_grit",
    "//third_party/webrtc_overrides:webrtc_component",
    "//tools/v8_context_snapshot:buildflags",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/base",
    "//ui/base:test_support",
    "//ui/base/clipboard",
    "//ui/base/clipboard:clipboard_test_support",
    "//ui/base/ime",
    "//ui/color:mixers",
    "//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/strings:auto_image_annotation_strings",
    "//ui/surface",
    "//url",
    "//url/mojom:url_mojom_gurl",
    "//v8",
  ]

  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",
      "../public/test/mock_captured_surface_controller.cc",
      "../public/test/mock_captured_surface_controller.h",
    ]

    if (!is_fuchsia) {
      sources += [
        "../browser/speech/fake_speech_recognition_manager_delegate.cc",
        "../browser/speech/fake_speech_recognition_manager_delegate.h",
      ]
      deps += [ "//components/soda:soda" ]
    }
  }

  if (is_chromeos_ash) {
    deps += [ ":web_ui_test_mojo_bindings" ]
  }

  # 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_ppapi) {
    sources += [
      "../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 (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/browser_test_utils_mac.mm",
      "../public/test/system_media_controls_bridge_test_utils.cc",
      "../public/test/system_media_controls_bridge_test_utils.h",
      "../public/test/text_input_test_utils_mac.mm",
    ]
    deps += [
      "//ui/base/mojom",
      "//ui/views:test_support",
    ]
  }

  if (is_ios) {
    sources += [
      "../browser/renderer_host/test_render_widget_host_view_ios_factory.h",
      "../browser/renderer_host/test_render_widget_host_view_ios_factory.mm",
    ]
  }

  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" ]
    public_configs = [ "//build/config/win:delayloads" ]
  }

  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",
      "//chromeos/startup:constants",
    ]
  }

  if (is_linux || is_chromeos) {
    sources += [
      "sandbox_status_service.cc",
      "sandbox_status_service.h",
    ]
  }

  if (is_chromeos) {
    sources += [
      "../browser/smart_card/mock_smart_card_context_factory.cc",
      "../browser/smart_card/mock_smart_card_context_factory.h",
    ]
  }

  if (is_fuchsia) {
    public_deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_hlcpp" ]
  }
}

# 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/40830160): Split this test suite into chrome/WebEngine
  # versions.
  # TODO(crbug.com/40829930): Move WebEngine-specific suites to //fuchsia_web/webengine/
  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" ]
    if (fuchsia_browser_type == "web_engine_shell") {
      data += [
        "$root_gen_dir/package_metadata/web_engine_shell.meta",
        "$root_gen_dir/package_metadata/web_engine_with_webui.meta",
      ]
      if (enable_cast_receiver) {
        data += [ "$root_gen_dir/package_metadata/cast_streaming_shell.meta" ]
      }

      data_deps = [
        "//fuchsia_web/shell",
        "//fuchsia_web/webengine:web_engine_with_webui_installer",
      ]
    } else {
      data += [ "$root_gen_dir/package_metadata/chrome.meta" ]
      data_deps = [ "//chrome/app:chrome_fuchsia" ]
    }
  }
}

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/dataset/load_dataset",
    "//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-aspect-4x3.mp4",
    "//media/test/data/four-colors-av1.mp4",
    "//media/test/data/four-colors-hevc.mp4",
    "//media/test/data/four-colors-incompatible-stride.y4m",
    "//media/test/data/four-colors-rot-180.mp4",
    "//media/test/data/four-colors-rot-270.mp4",
    "//media/test/data/four-colors-rot-90.mp4",
    "//media/test/data/four-colors-vp9-i420a.webm",
    "//media/test/data/four-colors-vp9.webm",
    "//media/test/data/four-colors.mp4",
    "//media/test/data/four-colors.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 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 = [
    "//chrome/VERSION",
    "//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",
    "//content/test/gpu/validate_tag_consistency.py",
  ]
  data_deps = [
    # For WebGPU CTS tests.
    "//third_party/dawn/webgpu-cts",
  ]
}

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

# Instead of implicitly depends on the main function from libbrowsertest_support.a,
# executables should now depend on 'default_content_test_launcher' if they want to
# use the main function from content_test_launcher.cc.
# see b/324126269 for detailes.
source_set("default_content_test_launcher") {
  testonly = true
  sources = [ "content_test_launcher.cc" ]

  deps = [
    ":browsertest_support",
    ":test_support",
    "//build:ios_buildflags",
    "//content/shell:content_shell_lib",
  ]
}

# 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",
    "../browser/browsing_data/storage_bucket_clear_site_data_tester.cc",
    "../browser/browsing_data/storage_bucket_clear_site_data_tester.h",
    "../public/test/content_browser_test.cc",
    "../public/test/content_browser_test.h",
    "../public/test/content_browser_test_content_browser_client.cc",
    "../public/test/content_browser_test_content_browser_client.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",
    "../public/test/resource_load_observer.cc",
    "../public/test/resource_load_observer.h",
    "content_browser_test_base.cc",
    "content_browser_test_base.h",
    "content_browser_test_utils_internal.cc",
    "content_browser_test_utils_internal.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",
    "//cc/slim",
    "//components/input",
    "//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",
    "//mojo/public/cpp/test_support:test_utils",
    "//net",
    "//net:test_support",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/base",
    "//ui/base/ime/init",
  ]

  if (is_android) {
    deps += [
      "//content/public/app",
      "//ui/android:android",
    ]
  } else {
    deps += [ "//content/public/browser" ]
  }

  if (use_aura && toolkit_views && !is_castos) {
    deps += [ "//ui/views" ]
  }

  if (use_aura) {
    sources += [
      "../browser/accessibility/accessibility_browsertest.cc",
      "../browser/accessibility/accessibility_browsertest.h",
    ]
  }

  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/mojo_capability_control_test_interfaces.mojom",
    "../public/test/test_service.mojom",
    "frame_host_test_interface.mojom",
  ]
  public_deps = [
    "//mojo/public/mojom/base",
    "//url/mojom:url_mojom_gurl",
  ]
}

# Testing JS bindings only on Ash, since they are primarily used there and
# because this test relies on the URL WebUI mojo bindings, which are
# TypeScript only on other platforms.
if (is_chromeos_ash) {
  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"

    # Generate WebUI bindings in JavaScript instead of TypeScript. This is
    # necessary since this target is intentionally testing JS WebUI bindings.
    generate_webui_js_bindings = true
  }
}

mojom("web_ui_managed_interface_tests_bindings") {
  testonly = true
  sources = [ "data/web_ui_managed_interface_test.test-mojom" ]

  webui_module_path = "/content/test/data"
}

# Closure compilation is only used on Ash. See below for TypeScript targets
# which are used across platforms.
if (is_chromeos_ash) {
  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("web_ui_ts_test_mojo_bindings") {
  testonly = true
  sources = [
    "data/web_ui_ts_test.test-mojom",
    "data/web_ui_ts_test_types.test-mojom",
  ]
  public_deps = [ "//url/mojom:url_mojom_gurl" ]
  webui_module_path = "/content/test/data"

  ts_typemaps = [
    {
      types = [
        {
          mojom = "content.mojom.SimpleMappedType"
          ts = "string"
          converter = "SimpleTypeConverter"
          import = "web_ui_mojo_ts_test_converters.js"
        },
        {
          mojom = "content.mojom.NestedMappedType"

          #  TODO(ffred): we should allow ts_import so we can typemap to user
          #  defined types.
          ts = "Object"
          converter = "NestedTypeConverter"
          import = "web_ui_mojo_ts_test_converters.js"
        },
      ]
    },
  ]
}

preprocess_if_expr("preprocess_mojo_webui_test") {
  in_folder = "./data"
  out_folder = "$target_gen_dir/data"
  in_files = [
    "web_ui_mojo_ts_test.ts",
    "web_ui_mojo_ts_test_converters.ts",
    "web_ui_managed_interface_test.ts",
  ]
}

webui_ts_library("web_ui_mojo_test_build_ts") {
  root_dir = "$target_gen_dir/data"
  out_dir = "$target_gen_dir/data/tsc"
  in_files = [
    "web_ui_mojo_ts_test.ts",
    "web_ui_mojo_ts_test_converters.ts",
    "web_ui_ts_test.test-mojom-converters.ts",
    "web_ui_ts_test.test-mojom-webui.ts",
    "web_ui_ts_test_types.test-mojom-webui.ts",
    "web_ui_managed_interface_test.ts",
    "web_ui_managed_interface_test.test-mojom-webui.ts",
  ]
  deps = [ "//ui/webui/resources/mojo:build_ts" ]
  extra_deps = [
    ":preprocess_mojo_webui_test",
    ":web_ui_managed_interface_tests_bindings_ts__generator",
    ":web_ui_ts_test_mojo_bindings_ts__generator",
  ]
}

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_resources",
      "//base:base_java",
      "//base:base_java_test_support",
      "//components/download/internal/common:internal_java",
      "//components/metrics:metrics_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_browser_test_java",
      "//third_party/jni_zero:jni_zero_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/content_main_runner_impl_browsertest.cc",
    "../app/mojo/mojo_browsertest.cc",
    "../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/scoped_accessibility_mode_browsertest.cc",
    "../browser/accessibility/site_per_process_accessibility_browsertest.cc",
    "../browser/accessibility/snapshot_ax_tree_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/cross_app_web_attribution_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/back_forward_cache_not_restored_reasons_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_child_process_observer_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_topics/browsing_topics_browsertest.cc",
    "../browser/child_process_launcher_browsertest.cc",
    "../browser/child_process_security_policy_browsertest.cc",
    "../browser/closewatcher/close_listener_host_browsertest.cc",
    "../browser/code_cache/generated_code_cache_browsertest.cc",
    "../browser/content_index/content_index_browsertest.cc",
    "../browser/content_security_policy_browsertest.cc",
    "../browser/cookie_deprecation_label/cookie_deprecation_label_browsertest.cc",
    "../browser/cross_site_transfer_browsertest.cc",
    "../browser/data_decoder_browsertest.cc",
    "../browser/database_browsertest.cc",
    "../browser/device_posture/foldable_apis_origin_trial_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/direct_sockets/direct_sockets_test_utils.cc",
    "../browser/direct_sockets/direct_sockets_test_utils.h",
    "../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/file_system_access/file_system_access_file_modification_host_impl_browsertest.cc",
    "../browser/file_system_access/file_system_access_observer_browsertest.cc",
    "../browser/find_request_manager_browsertest.cc",
    "../browser/first_party_sets/first_party_sets_handler_impl_browsertest.cc",
    "../browser/first_party_sets/test/first_party_sets_initialization_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/framebusting_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/host_zoom_map_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/largest_contentful_paint_browsertests.cc",
    "../browser/loader/background_resource_fetch_browsertests.cc",
    "../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/keep_alive_url_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/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_devices_util_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_close_event_browsertest.cc",
    "../browser/message_port_provider_browsertest.cc",
    "../browser/mojo_sandbox_browsertest.cc",
    "../browser/navigation_browsertest.cc",
    "../browser/navigation_mhtml_browsertest.cc",
    "../browser/net_info_browsertest.cc",
    "../browser/network/accept_header_browsertest.cc",
    "../browser/network/dns_https_protocol_upgrade_browsertest.cc",
    "../browser/network/http_cookie_browsertest.cc",
    "../browser/network/network_field_trial_browsertest.cc",
    "../browser/network/sandboxed_http_cache_browsertest.cc",
    "../browser/network/sandboxed_network_list_browsertest.cc",
    "../browser/network/sandboxed_nqe_browsertest.cc",
    "../browser/network/shared_dictionary_browsertest.cc",
    "../browser/network/split_cache_browsertest.cc",
    "../browser/network/transferable_socket_browsertest.cc",
    "../browser/network/trust_token_browsertest.cc",
    "../browser/network/trust_token_browsertest.h",
    "../browser/network/trust_token_origin_trial_browsertest.cc",
    "../browser/network/trust_token_parameters_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/performance_timeline_browsertest.cc",
    "../browser/picture_in_picture/video_picture_in_picture_content_browsertest.cc",
    "../browser/pointer_lock_browsertest.cc",
    "../browser/pointer_lock_browsertest.h",
    "../browser/power_monitor_browsertest.cc",
    "../browser/preloading/anchor_element_interaction_browsertest.cc",
    "../browser/preloading/prefetch/contamination_delay_browsertest.cc",
    "../browser/preloading/prefetch/nav_prefetch_browsertest.cc",
    "../browser/preloading/preloading_decider_browsertest.cc",
    "../browser/preloading/prerender/prerender_browsertest.cc",
    "../browser/preloading/prerenderer_impl_browsertest.cc",
    "../browser/private_aggregation/private_aggregation_internals_browsertest.cc",
    "../browser/process_internals/process_internals_browsertest.cc",
    "../browser/quota/quota_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/browsing_context_group_swap_browsertest.cc",
    "../browser/renderer_host/cookie_browsertest.cc",
    "../browser/renderer_host/document_service_browsertest.cc",
    "../browser/renderer_host/document_token_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/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/scroll_tracing_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/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_web_app_throttle_browsertest.cc",
    "../browser/renderer_host/jit_policy_browsertest.cc",
    "../browser/renderer_host/media/video_capture_browsertest.cc",
    "../browser/renderer_host/navigation_controller_history_intervention_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/proactively_swap_browsing_instances_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_frame_host_manager_browsertest.h",
    "../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_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/spare_render_process_host_manager_browsertest.cc",
    "../browser/renderer_host/speculative_render_view_host_browsertest.cc",
    "../browser/renderer_host/unassigned_site_instance_browsertest.cc",
    "../browser/renderer_host/view_transition_browsertest.cc",
    "../browser/resource_loading_browsertest.cc",
    "../browser/screen_details/screen_details_browsertest.cc",
    "../browser/screen_orientation/screen_orientation_browsertest.cc",
    "../browser/security/coop/cross_origin_opener_policy_browsertest.cc",
    "../browser/security/dip/document_isolation_policy_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_instance_group_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_oopsif_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/sms/sms_browsertest.cc",
    "../browser/snapshot_browsertest.cc",
    "../browser/storage_access/storage_access_browsertest.cc",
    "../browser/storage_partition_impl_browsertest.cc",
    "../browser/system_dns_resolution/system_dns_resolver_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/tracing/tracing_end_to_end_browsertest.cc",
    "../browser/usb/usb_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_package/signed_exchange_request_handler_browsertest.cc",
    "../browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc",
    "../browser/webid/test/mock_digital_identity_provider.cc",
    "../browser/webid/test/mock_digital_identity_provider.h",
    "../browser/webid/test/mock_identity_request_dialog_controller.cc",
    "../browser/webid/test/mock_identity_request_dialog_controller.h",
    "../browser/webid/test/mock_modal_dialog_view_delegate.cc",
    "../browser/webid/test/mock_modal_dialog_view_delegate.h",
    "../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_managed_interface_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/annotations/ax_image_annotator_browsertest.cc",
    "../renderer/accessibility/render_accessibility_impl_browsertest.cc",
    "../renderer/blink_platform_audio_hardware_browsertest.cc",
    "../renderer/gin_browsertest.cc",
    "../renderer/media/renderer_web_media_player_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_browsertest.cc",
  ]

  if (is_linux) {
    sources += [ "../browser/network/address_map_linux_browsertest.cc" ]
  }

  if (is_android) {
    sources += [
      "../browser/gpu/gpu_background_kill_android_browsertest.cc",
      "../browser/navigation_transitions/back_forward_transition_animation_manager_android_browsertest.cc",
      "../browser/network/quic_connection_migration_android_browsertest.cc",

      # TODO(crbug.com/40267166): move out of Android once we can capture
      # for other platforms.
      "../browser/renderer_host/navigation_transitions/navigation_entry_screenshot_browsertest.cc",
    ]
  }

  if (is_win) {
    sources += [ "../browser/network/sandboxed_socket_broker_browsertest.cc" ]
  }

  if (enable_reporting) {
    sources += [ "../browser/security/coop/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" ]

  public_deps = [
    ":test_interfaces",
    ":web_ui_mojo_test_resources",
    "//content:content_resources",
  ]

  deps = [
    ":browsertest_support",
    ":content_test_mojo_bindings",
    ":default_content_test_launcher",
    ":test_support",
    ":web_ui_managed_interface_tests_bindings",
    ":web_ui_ts_test_mojo_bindings",
    "//base/test:proto_test_support",
    "//base/test:test_support",
    "//build:chromecast_buildflags",
    "//build:chromeos_buildflags",
    "//cc/slim",
    "//components/attribution_reporting:mojom",
    "//components/cbor",
    "//components/discardable_memory/client",
    "//components/discardable_memory/common",
    "//components/discardable_memory/service",
    "//components/favicon/content",
    "//components/input",
    "//components/network_session_configurator/common",
    "//components/os_crypt/async/browser:key_provider_interface",
    "//components/os_crypt/async/browser:test_support",
    "//components/payments/mojom",
    "//components/performance_manager",
    "//components/permissions:permissions_common",
    "//components/permissions:test_support",
    "//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",
    "//components/web_package/test_support",
    "//content/app:for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/attribution_reporting:mojo_bindings",
    "//content/browser/attribution_reporting:registration_result_mojom",
    "//content/browser/background_sync:background_sync_proto",
    "//content/browser/tracing/trace_report:mojo_bindings",
    "//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:for_content_tests",
    "//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_sink",
    "//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",
    "//pdf:buildflags",
    "//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",
    "//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/angle:includes",
    "//third_party/blink/public:blink",
    "//third_party/leveldatabase",
    "//third_party/re2",
    "//third_party/zlib",
    "//third_party/zlib/google:compression_utils",
    "//ui/accessibility:ax_base",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/accessibility:test_support",
    "//ui/base:test_support",
    "//ui/base/clipboard",
    "//ui/base/cursor",
    "//ui/base/ime",
    "//ui/base/ime/init",
    "//ui/base/ime/mojom",
    "//ui/color:mixers",
    "//ui/compositor",
    "//ui/display",
    "//ui/display:test_support",
    "//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",
  ]

  if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
    deps += [ "//components/variations" ]
  }

  data_deps = [
    "//content/shell:pak",
    "//third_party/mesa_headers",
  ]

  data = [
    "data/",
    "//media/test/data/",
    "$root_gen_dir/third_party/perfetto/protos/perfetto/config/chrome/scenario_config.descriptor",
  ]

  if (is_ios) {
    entitlements_path = "//content/app/ios/appex/app.entitlements"
    bundle_deps = [
      ":content_process_bundle",
      ":content_test_bundle_data",
      ":content_test_perfetto_bundle_data",
      ":gpu_process_bundle",
      ":network_process_bundle",
      "//media/test:media_bundle_data",
      "//testing/buildbot/filters:content_browsertests_filter_bundle_data",
    ]
  } else {
    data_deps += [
      "//testing/buildbot/filters:content_browsertests_filters",
      "//third_party/perfetto/protos/perfetto/config/chrome:scenario_descriptor",
    ]
  }

  if (is_chromeos_ash) {
    deps += [ ":web_ui_test_mojo_bindings" ]
  }

  if (enable_plugins) {
    sources += [ "../browser/plugin_service_impl_browsertest.cc" ]
  }

  if (enable_screen_ai_service) {
    sources += [ "../renderer/accessibility/annotations/ax_main_node_annotator_browsertest.cc" ]
    deps += [ "//services/screen_ai" ]
  }

  if (enable_library_cdms) {
    deps += [ "//media/cdm:cdm_paths" ]

    # Runtime dependencies.
    data_deps += [ "//media/cdm/library_cdm/clear_key_cdm" ]
  }

  if (enable_ppapi) {
    sources += [
      "../renderer/pepper/fake_pepper_plugin_instance.cc",
      "../renderer/pepper/fake_pepper_plugin_instance.h",
      "../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 (enable_screen_capture) {
    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_castos) {
        sources += [ "../browser/media/capture/aura_window_video_capture_device_browsertest.cc" ]
      }

      if (is_chromeos_ash) {
        deps += [ "//ui/wm" ]
      }
    }
  }

  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_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/media/web_app_system_media_controls_browsertest.cc",
      "../browser/network/network_service_process_tracker_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/renderer_host/render_process_host_sandbox_policy_win_browsertest.cc",
      "../browser/scheduler/responsiveness/native_event_observer_browsertest_win.cc",
    ]

    deps += [
      "//components/system_media_controls:system_media_controls",
      "//net:net_resources",
      "//sandbox",
      "//third_party/blink/public:resources",
      "//third_party/blink/public/strings",
      "//third_party/iaccessible2",
      "//third_party/isimpledom",
      "//ui/strings:auto_image_annotation_strings",
    ]

    data_deps += [ "//services/test/echo:echo_preload_library" ]

    libs = [
      "dbghelp.lib",
      "uiautomationcore.lib",
    ]
  }

  if (is_linux || is_chromeos) {
    sources += [
      "../browser/utility_process_sandbox_browsertest.cc",
      "../browser/zygote_host/zygote_browsertest.cc",
    ]
    deps += [
      "//content/common:sandbox_support_linux",
      "//media/gpu:buildflags",
      "//printing/buildflags",
      "//ui/gfx:test_support",
    ]

    if (use_atk) {
      sources +=
          [ "../browser/accessibility/accessibility_auralinux_browsertest.cc" ]
      configs += [ "//build/config/linux/atk" ]
    }
  }

  if (is_chromeos_ash) {
    deps += [
      ":web_ui_mojo_test_js_type_check",
      "//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/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/date_time_chooser/android/date_time_chooser_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/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/accessibility:ax_base_android",
      "//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 (!is_java_debug) {
      proguard_enabled = true
    }

    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_clipboard_browsertest.cc",
      "../browser/file_system_access/file_system_access_drag_drop_browsertest.cc",
      "../browser/file_system_access/file_system_access_file_handle_impl_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/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 += [
      "//components/soda:utils",
      "//content/public/browser:proto",
      "//media/mojo/mojom:web_speech_recognition",
      "//ui/base/clipboard:clipboard_test_support",
    ]

    if (enable_compute_pressure) {
      sources +=
          [ "../browser/compute_pressure/pressure_service_browsertest.cc" ]
    }

    if (is_chromeos_ash) {
      deps += [ "//ash/constants:constants" ]
    }

    if (!is_ios) {
      data += [ "//content/test/data/clipboard/" ]
    }
  }
  if (is_posix) {
    deps += [ "//services/tracing:test_utils" ]
  }

  if (is_chromeos) {
    sources += [ "../browser/smart_card/smart_card_browsertest.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_browsertest.cc",
      "../browser/webauth/webauth_browsertest.cc",
    ]
    deps += [
      "//device/base",
      "//device/fido:fido",
      "//device/fido:mocks",
      "//device/fido:test_support",
    ]
  }

  if (is_mac) {
    sources += [
      "../app_shim_remote_cocoa/window_occlusion_browsertest_mac.mm",
      "../browser/accessibility/ax_tree_formatter_mac_browsertest.mm",
      "../browser/accessibility/hit_testing_mac_browsertest.mm",
      "../browser/gpu/browser_child_process_backgrounded_bridge_browsertest.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/" ]
    weak_frameworks = [ "ScreenCaptureKit.framework" ]  # macOS 12.3
  }

  if (is_ios) {
    sources += [
      "../browser/keyboard_lock_browsertest_ios.mm",
      "../browser/pointer_lock_browsertest_ios.mm",
    ]
    bundle_deps += [ ":content_shell_pak_bundle_data" ]
  }

  if (is_chromeos_ash) {
    deps += [
      "//chromeos/ash/components/audio",
      "//chromeos/ash/components/dbus/audio",
      "//chromeos/ash/components/dbus/debug_daemon",
      "//chromeos/ash/components/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 &&
      mojo_support_legacy_core) {
    # 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 += [
      "//components/variations:variations",
      "//components/variations/field_trial_config:field_trial_config",
      "//content/shell:shell_controller_mojom",
      "//mojo/public/cpp/platform",
      "//mojo/public/mojom/base",
    ]
    data_deps += [ "//content/shell:content_shell" ]
    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) {
    sources += [
      "../browser/accessibility/accessibility_metrics_browsertest.cc",
      "../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",
    ]
    deps += [
      "//ui/aura",
      "//ui/aura:test_support",
      "//ui/base/dragdrop:types",
      "//ui/touch_selection:test_support",
      "//ui/touch_selection:touch_selection",
    ]
  }

  if (is_castos || is_cast_android) {
    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",
    ]
  }

  # KeyboardLock is currently not supported in Android, Fuchsia and
  # Chromecast builds. TODO(crbug.com/40891949): Re-enable on Fuchsia
  # once its platform support is available.
  if (is_android || is_fuchsia || is_castos) {
    sources -= [ "../browser/keyboard_lock_browsertest.cc" ]
  }

  # MidiManager is not supported in Fuchsia (see crbug.com/40217214).
  if (is_fuchsia) {
    sources -= [ "../browser/media/midi_browsertest.cc" ]
  }

  if (use_ozone) {
    deps += [ "//ui/ozone" ]
  }

  if (is_chromeos_ash) {
    deps += [ "//chromeos/dbus/constants" ]
  }

  if (is_fuchsia) {
    use_test_server = true

    additional_manifest_fragments = [
      "//build/config/fuchsia/test/audio_output.shard.test-cml",
      "//build/config/fuchsia/test/fonts.shard.test-cml",
      "//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml",
      "//build/config/fuchsia/test/network.shard.test-cml",
      "//build/config/fuchsia/test/present_view.shard.test-cml",
      "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
    ]
  }
}

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_mojo_test_build_ts" ]

  if (is_chromeos_ash) {
    deps += [ ":web_ui_test_mojo_bindings_js__generator" ]
  }
}

static_library("run_all_unittests") {
  testonly = true
  sources = [ "run_all_unittests.cc" ]
  deps = [
    ":test_support",
    "//base/test:test_support",
  ]
}

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/scoped_mode_collection_unittest.cc",
    "../browser/agent_cluster_key_unittest.cc",
    "../browser/aggregation_service/aggregatable_report_assembler_unittest.cc",
    "../browser/aggregation_service/aggregatable_report_scheduler_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/aggregation_service/report_scheduler_timer_unittest.cc",
    "../browser/attribution_reporting/aggregatable_attribution_utils_unittest.cc",
    "../browser/attribution_reporting/aggregatable_debug_rate_limit_table_unittest.cc",
    "../browser/attribution_reporting/aggregatable_debug_report_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_debug_report_unittest.cc",
    "../browser/attribution_reporting/attribution_host_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_resolver_delegate_impl_unittest.cc",
    "../browser/attribution_reporting/attribution_resolver_unittest.cc",
    "../browser/attribution_reporting/attribution_storage_sql_migrations_unittest.cc",
    "../browser/attribution_reporting/attribution_storage_sql_unittest.cc",
    "../browser/attribution_reporting/attribution_suitable_context_unittest.cc",
    "../browser/attribution_reporting/interop/interop_unittest.cc",
    "../browser/attribution_reporting/interop/parser_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/blob_storage/file_backed_blob_factory_frame_impl_unittest.cc",
    "../browser/blob_storage/file_backed_blob_factory_worker_impl_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_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_topics/browsing_topics_site_data_manager_impl_unittest.cc",
    "../browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc",
    "../browser/browsing_topics/browsing_topics_url_loader_unittest.cc",
    "../browser/browsing_topics/header_util_unittest.cc",
    "../browser/buckets/bucket_manager_host_unittest.cc",
    "../browser/buckets/bucket_utils_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_unittest.cc",
    "../browser/content_index/content_index_database_unittest.cc",
    "../browser/content_index/content_index_service_impl_unittest.cc",
    "../browser/cookie_deprecation_label/cookie_deprecation_label_manager_impl_unittest.cc",
    "../browser/cookie_store/cookie_store_manager_unittest.cc",
    "../browser/devtools/devtools_background_services_context_impl_unittest.cc",
    "../browser/devtools/devtools_frontend_host_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/devtools/request_body_collector_unittest.cc",
    "../browser/devtools/shared_storage_worklet_devtools_agent_host_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_reporter_unittest.cc",
    "../browser/fenced_frame/fenced_frame_unittest.cc",
    "../browser/fenced_frame/fenced_frame_url_mapping_unittest.cc",
    "../browser/fenced_frame/redacted_fenced_frame_config_mojom_traits_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_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_modification_host_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_lock_manager_unittest.cc",
    "../browser/file_system_access/file_system_access_manager_impl_unittest.cc",
    "../browser/file_system_access/file_system_access_observer_observation_unittest.cc",
    "../browser/file_system_access/file_system_access_safe_move_helper_unittest.cc",
    "../browser/file_system_access/file_system_access_watch_scope_unittest.cc",
    "../browser/file_system_access/file_system_access_watcher_manager_unittest.cc",
    "../browser/file_system_access/file_system_chooser_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_database_helper_unittest.cc",
    "../browser/first_party_sets/first_party_sets_handler_impl_instance_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/web_contents_sensor_provider_proxy_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/installedapp/installed_app_provider_impl_unittest.cc",
    "../browser/interest_group/ad_auction_headers_util_unittest.cc",
    "../browser/interest_group/ad_auction_service_impl_unittest.cc",
    "../browser/interest_group/ad_auction_url_loader_interceptor_unittest.cc",
    "../browser/interest_group/additional_bids_util_unittest.cc",
    "../browser/interest_group/auction_metrics_recorder_unittest.cc",
    "../browser/interest_group/auction_nonce_manager_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/bidding_and_auction_response_unittest.cc",
    "../browser/interest_group/bidding_and_auction_serializer_unittest.cc",
    "../browser/interest_group/bidding_and_auction_server_key_fetcher_unittest.cc",
    "../browser/interest_group/header_direct_from_seller_signals_unittest.cc",
    "../browser/interest_group/interest_group_auction_reporter_unittest.cc",
    "../browser/interest_group/interest_group_caching_storage_unittest.cc",
    "../browser/interest_group/interest_group_k_anonymity_manager_unittest.cc",
    "../browser/interest_group/interest_group_pa_report_util_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_priority_util_unittest.cc",
    "../browser/interest_group/interest_group_real_time_report_util_unittest.cc",
    "../browser/interest_group/interest_group_storage_unittest.cc",
    "../browser/interest_group/mock_auction_process_manager.cc",
    "../browser/interest_group/mock_auction_process_manager.h",
    "../browser/interest_group/noiser_and_bucketer_unittest.cc",
    "../browser/interest_group/subresource_url_authorizations_unittest.cc",
    "../browser/interest_group/subresource_url_builder_unittest.cc",
    "../browser/interest_group/test_interest_group_manager_impl.cc",
    "../browser/interest_group/test_interest_group_manager_impl.h",
    "../browser/interest_group/test_interest_group_private_aggregation_manager.cc",
    "../browser/interest_group/test_interest_group_private_aggregation_manager.h",
    "../browser/interest_group/trusted_signals_cache_impl_unittest.cc",
    "../browser/interest_group/trusted_signals_fetcher_unittest.cc",
    "../browser/loader/cors_origin_pattern_setter_unittest.cc",
    "../browser/loader/file_url_loader_factory_unittest.cc",
    "../browser/loader/keep_alive_attribution_request_helper_unittest.cc",
    "../browser/loader/keep_alive_url_loader_service_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_devices_util_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_players_callback_aggregator_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_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/histogram_shared_memory_config_unittest.cc",
    "../browser/metrics/histograms_monitor_unittest.cc",
    "../browser/mojo_binder_policy_applier_unittest.cc",
    "../browser/mojo_binder_policy_map_impl_unittest.cc",
    "../browser/network/cross_origin_embedder_policy_reporter_unittest.cc",
    "../browser/network/network_quality_observer_impl_unittest.cc",
    "../browser/network/socket_broker_impl_unittest.cc",
    "../browser/network_context_client_base_impl_unittest.cc",
    "../browser/network_service_instance_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/origin_trials/critical_origin_trials_throttle_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/embedded_permission_control_checker_unittest.cc",
    "../browser/permissions/permission_controller_impl_unittest.cc",
    "../browser/permissions/permission_service_context_unittest.cc",
    "../browser/permissions/permission_util_unittest.cc",
    "../browser/picture_in_picture/picture_in_picture_service_impl_unittest.cc",
    "../browser/preloading/anchor_element_interaction_host_impl_unittest.cc",
    "../browser/preloading/preconnector_unittest.cc",
    "../browser/preloading/prefetch/contamination_delay_navigation_throttle_unittest.cc",
    "../browser/preloading/prefetch/no_vary_search_helper_unittest.cc",
    "../browser/preloading/prefetch/prefetch_canary_checker_unittest.cc",
    "../browser/preloading/prefetch/prefetch_container_unittest.cc",
    "../browser/preloading/prefetch/prefetch_cookie_listener_unittest.cc",
    "../browser/preloading/prefetch/prefetch_data_pipe_tee_unittest.cc",
    "../browser/preloading/prefetch/prefetch_document_manager_unittest.cc",
    "../browser/preloading/prefetch/prefetch_network_context_unittest.cc",
    "../browser/preloading/prefetch/prefetch_params_unittest.cc",
    "../browser/preloading/prefetch/prefetch_proxy_configurator_unittest.cc",
    "../browser/preloading/prefetch/prefetch_service_unittest.cc",
    "../browser/preloading/prefetch/prefetch_streaming_url_loader_unittest.cc",
    "../browser/preloading/prefetch/prefetch_type_unittest.cc",
    "../browser/preloading/prefetch/prefetch_url_loader_interceptor_unittest.cc",
    "../browser/preloading/prefetch/proxy_lookup_client_impl_unittest.cc",
    "../browser/preloading/prefetcher_unittest.cc",
    "../browser/preloading/preloading_attempt_impl_unittest.cc",
    "../browser/preloading/preloading_config_unittest.cc",
    "../browser/preloading/preloading_data_impl_unittest.cc",
    "../browser/preloading/preloading_decider_unittest.cc",
    "../browser/preloading/prerender/prerender_host_registry_unittest.cc",
    "../browser/preloading/prerender/prerender_host_unittest.cc",
    "../browser/preloading/prerender/prerender_metrics_unittest.cc",
    "../browser/preloading/prerenderer_impl_unittest.cc",
    "../browser/preloading/speculation_rules/speculation_host_impl_unittest.cc",
    "../browser/presentation/presentation_service_impl_unittest.cc",
    "../browser/private_aggregation/private_aggregation_budget_key_unittest.cc",
    "../browser/private_aggregation/private_aggregation_budget_storage_unittest.cc",
    "../browser/private_aggregation/private_aggregation_budgeter_unittest.cc",
    "../browser/private_aggregation/private_aggregation_host_unittest.cc",
    "../browser/private_aggregation/private_aggregation_internals_handler_impl_unittest.cc",
    "../browser/private_aggregation/private_aggregation_manager_impl_unittest.cc",
    "../browser/private_aggregation/private_aggregation_report_golden_unittest.cc",
    "../browser/quota/quota_change_dispatcher_unittest.cc",
    "../browser/reduce_accept_language/reduce_accept_language_utils_unittest.cc",
    "../browser/renderer_host/ancestor_throttle_unittest.cc",
    "../browser/renderer_host/back_forward_cache_impl_unittest.cc",
    "../browser/renderer_host/back_forward_cache_metrics_unittest.cc",
    "../browser/renderer_host/back_forward_cache_subframe_navigation_throttle_unittest.cc",
    "../browser/renderer_host/browsing_context_group_swap_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/display_feature_unittest.cc",
    "../browser/renderer_host/document_service_unittest.cc",
    "../browser/renderer_host/embedded_frame_sink_provider_impl_unittest.cc",
    "../browser/renderer_host/frame_token_message_queue_unittest.cc",
    "../browser/renderer_host/frame_tree_unittest.cc",
    "../browser/renderer_host/indexed_db_client_state_checker_factory_unittest.cc",
    "../browser/renderer_host/input/fling_scheduler_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/mock_render_widget_host_view_for_stylus_writing.cc",
    "../browser/renderer_host/input/mock_render_widget_host_view_for_stylus_writing.h",
    "../browser/renderer_host/input/motion_event_web_unittest.cc",
    "../browser/renderer_host/input/render_input_router_latency_tracker_unittest.cc",
    "../browser/renderer_host/input/stylus_text_selector_unittest.cc",
    "../browser/renderer_host/input/touch_emulator_impl_unittest.cc",
    "../browser/renderer_host/input/web_input_event_util_unittest.cc",
    "../browser/renderer_host/isolated_web_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/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_checker_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/navigation_transitions/navigation_entry_screenshot_cache_unittest.cc",
    "../browser/renderer_host/navigator_unittest.cc",
    "../browser/renderer_host/overscroll_controller_unittest.cc",
    "../browser/renderer_host/policy_container_host_unittest.cc",
    "../browser/renderer_host/private_network_access_util_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/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/security/coop/cross_origin_opener_policy_reporter_unittest.cc",
    "../browser/security/coop/cross_origin_opener_policy_status_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_device_delegate_observer_unittest.cc",
    "../browser/service_worker/service_worker_device_delegate_observer_unittest.h",
    "../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_header_observer_unittest.cc",
    "../browser/shared_storage/shared_storage_url_loader_factory_proxy_unittest.cc",
    "../browser/site_instance_group_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/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_tracing_config_unittest.cc",
    "../browser/tracing/background_tracing_manager_unittest.cc",
    "../browser/tracing/trace_report/trace_report_database_unittest.cc",
    "../browser/tracing/trace_report/trace_report_handler_unittest.cc",
    "../browser/tracing/tracing_scenario_unittest.cc",
    "../browser/usb/web_usb_service_impl_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_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/subresource_signed_exchange_url_loader_factory_unittest.cc",
    "../browser/webid/digital_credentials/digital_identity_request_impl_unittest.cc",
    "../browser/webid/federated_auth_disconnect_request_unittest.cc",
    "../browser/webid/federated_auth_request_impl_multiple_frames_unittest.cc",
    "../browser/webid/federated_auth_request_impl_registry_unittest.cc",
    "../browser/webid/federated_auth_request_impl_unittest.cc",
    "../browser/webid/federated_auth_user_info_request_unittest.cc",
    "../browser/webid/federated_provider_fetcher_unittest.cc",
    "../browser/webid/identity_registry_unittest.cc",
    "../browser/webid/idp_network_request_manager_unittest.cc",
    "../browser/webid/test/delegated_idp_network_request_manager.cc",
    "../browser/webid/test/delegated_idp_network_request_manager.h",
    "../browser/webid/test/federated_auth_request_request_token_callback_helper.cc",
    "../browser/webid/test/federated_auth_request_request_token_callback_helper.h",
    "../browser/webid/test/mock_api_permission_delegate.cc",
    "../browser/webid/test/mock_api_permission_delegate.h",
    "../browser/webid/test/mock_auto_reauthn_permission_delegate.cc",
    "../browser/webid/test/mock_auto_reauthn_permission_delegate.h",
    "../browser/webid/test/mock_identity_registry.cc",
    "../browser/webid/test/mock_identity_registry.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_modal_dialog_view_delegate.cc",
    "../browser/webid/test/mock_modal_dialog_view_delegate.h",
    "../browser/webid/test/mock_permission_delegate.cc",
    "../browser/webid/test/mock_permission_delegate.h",
    "../browser/webid/test/stub_digital_identity_provider.cc",
    "../browser/webid/test/stub_digital_identity_provider.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/webui/webui_config_map_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",
    "../child/child_process_synthetic_trial_syncer_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/synthetic_gesture_controller_unittest.cc",
    "../common/input/synthetic_pointer_action_unittest.cc",
    "../common/pseudonymization_salt_unittest.cc",
    "../common/service_worker/race_network_request_read_buffer_manager_unittest.cc",
    "../common/service_worker/race_network_request_url_loader_client_unittest.cc",
    "../common/service_worker/race_network_request_write_buffer_manager_unittest.cc",
    "../common/service_worker/service_worker_router_evaluator_unittest.cc",
    "../common/url_utils_unittest.cc",
    "../common/user_agent_unittest.cc",
    "../common/webid/identity_url_loader_throttle_unittest.cc",
    "../common/webplugininfo_unittest.cc",
    "../public/test/browser_task_environment_unittest.cc",
    "../public/test/no_renderer_crashes_assertion_unittest.cc",
    "../public/test/permission_overrides_unittest.cc",
    "../public/test/permission_type_unittest.cc",
    "../public/test/referrer_unittest.cc",
    "../public/test/test_utils_unittest.cc",
    "../renderer/accessibility/annotations/ax_image_stopwords_unittest.cc",
    "../renderer/content_security_policy_util_unittest.cc",
    "../renderer/media/batching_media_log_unittest.cc",
    "../renderer/media/gpu/gpu_video_accelerator_factories_impl_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",
    "navigation_simulator_unittest.cc",
    "test_aggregation_service_impl_unittest.cc",
    "test_page_unittest.cc",
    "test_render_frame_host_unittest.cc",
  ]

  if (is_mac) {
    sources += [
      "../browser/child_process_task_port_provider_mac_unittest.cc",
      "../browser/cocoa/system_hotkey_map_unittest.mm",
      "../browser/media/capture/screen_capture_kit_fullscreen_module_unittest.mm",
      "../browser/renderer_host/input/mouse_wheel_rails_filter_unittest_mac.cc",
      "../browser/renderer_host/media/video_capture_devices_changed_observer_unittest.cc",
      "../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_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 (is_ios) {
    sources += [
      "../browser/date_time_chooser/ios/date_time_chooser_util_unittest.mm",
    ]
  }

  if (is_fuchsia) {
    sources += [ "../browser/renderer_host/media/fuchsia_media_codec_provider_impl_unittest.cc" ]

    additional_manifest_fragments = [
      "//build/config/fuchsia/test/fonts.shard.test-cml",

      # TODO(crbug.com/40055105): Investigate removing the requirement
      # for VmexResource.
      "//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml",
      "//build/config/fuchsia/test/network.shard.test-cml",
      "//build/config/fuchsia/test/platform_video_codecs.shard.test-cml",
      "//build/config/fuchsia/test/present_view.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/attribution_reporting/attribution_input_event_tracker_android_unittest.cc",
      "../browser/attribution_reporting/attribution_os_level_manager_android_unittest.cc",
      "../browser/display_cutout/display_cutout_host_impl_unittest.cc",
      "../browser/display_cutout/safe_area_insets_host_impl_unittest.cc",
      "../browser/navigation_transitions/physics_model_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 (enable_compute_pressure) {
    sources += [
      "../browser/compute_pressure/pressure_service_for_frame_unittest.cc",
      "../browser/compute_pressure/pressure_service_for_worker_unittest.cc",
      "../browser/webid/digital_credentials/cross_device_request_dispatcher_unittest.cc",
      "../browser/webid/digital_credentials/cross_device_transaction_impl_unittest.cc",
    ]
  }

  if (!is_android && !is_ios) {
    sources += [ "../browser/file_system_access/file_path_watcher/file_path_watcher_unittest.cc" ]
  }

  if (is_win) {
    sources += [
      "../browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc",
      "../browser/speech/tts_win_utils_unittest.cc",
      "../browser/utility_sandbox_delegate_unittest.cc",
      "../renderer/media/win/overlay_state_observer_impl_unittest.cc",
    ]
  }

  if (is_win || is_mac) {
    sources +=
        [ "../browser/media/web_app_system_media_controls_manager_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/",
    ]
  }
  if (is_ios) {
    bundle_deps = [
      ":content_shell_pak_bundle_data",
      ":content_test_bundle_data",
      ":content_test_perfetto_bundle_data",
      "//media/test:media_bundle_data",
      "//testing/buildbot/filters:content_unittests_filters_bundle_data",
    ]
  }

  configs += [ "//build/config:precompiled_headers" ]

  public_deps = [ "//content:content_resources" ]

  deps = [
    ":content_test_mojo_bindings",
    ":run_all_unittests",
    ":test_interfaces",
    ":test_support",
    "//base",
    "//base/allocator:buildflags",
    "//base/test:proto_test_support",
    "//base/test:test_support",
    "//build:android_buildflags",
    "//build:buildflag_header_h",
    "//build:chromecast_buildflags",
    "//build:chromeos_buildflags",
    "//cc",
    "//cc:test_support",
    "//cc/mojom",
    "//components/attribution_reporting:mojom",
    "//components/cbor",
    "//components/input",
    "//components/network_session_configurator/browser",
    "//components/network_session_configurator/common",
    "//components/offline_pages/buildflags",
    "//components/payments/mojom",
    "//components/permissions:permissions_common",
    "//components/permissions:test_support",
    "//components/services/quarantine/public/mojom",
    "//components/services/storage",
    "//components/services/storage:filesystem_proxy_factory",
    "//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/user_prefs/test:test_support",
    "//components/variations:test_support",
    "//components/variations:variations",
    "//components/variations/net:net",
    "//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/attribution_reporting:mojo_bindings",
    "//content/browser/attribution_reporting:registration_result_mojom",
    "//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/indexed_db:unit_tests",
    "//content/browser/notifications:notification_proto",
    "//content/browser/private_aggregation:for_content_tests",
    "//content/browser/private_aggregation/proto:private_aggregation_budgets_proto",
    "//content/browser/tracing/trace_report:mojo_bindings",
    "//content/child:for_content_tests",
    "//content/common:buildflags",
    "//content/common:for_content_tests",
    "//content/gpu",
    "//content/public/browser",
    "//content/public/browser:proto",
    "//content/public/child",
    "//content/public/common",
    "//content/public/renderer",
    "//content/renderer:for_content_tests",
    "//content/services/auction_worklet:tests",
    "//content/services/auction_worklet/public/mojom:for_content_tests",
    "//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/common:test_support",
    "//gpu/ipc/host",
    "//gpu/ipc/service",
    "//ipc:test_sink",
    "//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/cpp:test_support",
    "//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",
    "//services/viz/public/cpp/gpu",
    "//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/distributed_point_functions/shim:buildflags",
    "//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:ozone_buildflags",
    "//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",
    "//ui/webui:test_support",
  ]

  if (enable_nocompile_tests) {
    deps += [ ":content_nocompile_tests" ]
  }

  data_deps = [
    "//testing/buildbot/filters:content_unittests_filters",
    "//third_party/mesa_headers",
  ]

  if (!is_ios) {
    data_deps += [ "//third_party/perfetto/protos/perfetto/config/chrome:scenario_descriptor" ]
    data += [ "$root_gen_dir/third_party/perfetto/protos/perfetto/config/chrome/scenario_config.descriptor" ]
  }

  # Platforms where sqlite_dev_shell is defined.
  if (is_win || is_mac || is_linux || is_chromeos) {
    sources += [ "../browser/attribution_reporting/attribution_storage_sql_query_plans_unittest.cc" ]
    deps += [ "../browser/attribution_reporting:sqlite_test_utils" ]
  }

  if (is_chromeos_lacros) {
    deps += [
      "//chromeos/crosapi/mojom",
      "//chromeos/lacros:test_support",
    ]
  }

  if (is_mac) {
    data_deps += [ "//device/fido/strings:fido_test_strings" ]
  }

  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:fuchsia.accessibility.semantics_cpp" ]
  }

  if (enable_printing || enable_printing_tests) {
    deps += [
      "//printing",
      "//printing/backend",
    ]
  }

  if (enable_ppapi) {
    sources += [
      "../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",
    ]
    if (is_win) {
      sources += [ "../browser/ppapi_plugin_sandboxed_process_launcher_delegate_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_database_unittest.cc",
      "../browser/media/cdm_storage_manager_unittest.cc",
      "../browser/media/key_system_support_impl_unittest.cc",
      "../browser/media/media_license_manager_unittest.cc",
      "../browser/media/media_license_storage_host_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 && !is_ios) {
      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/media/captured_surface_controller_permission_manager_unittest.cc",
        "../browser/media/captured_surface_controller_unittest.cc",
        "../browser/renderer_host/media/sub_capture_target_id_web_contents_helper_unittest.cc",
      ]
    }
  }

  if (is_linux || is_chromeos) {
    if (use_dbus) {
      deps += [ "//dbus:test_support" ]
    }
  }
  if (is_win) {
    sources += [
      "../browser/device_posture/device_posture_registry_watcher_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_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/font_data/font_data_manager_unittest.cc",
      "../renderer/media/win/dcomp_texture_wrapper_unittest.cc",
    ]
    deps += [
      "//components/services/font_data/public/mojom",
      "//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",
    ]
  }
  if (is_mac) {
    deps += [
      "//crypto:test_support",
      "//device/fido:icloud_keychain_test_support",
      "//sandbox/mac:seatbelt",
      "//third_party/ocmock",
      "//ui/accelerated_widget_mac",
      "//ui/base/mojom",
    ]
    frameworks = [
      "AuthenticationServices.framework",
      "AVFAudio.framework",
      "Carbon.framework",
      "IOSurface.framework",
    ]
    weak_frameworks = [ "ScreenCaptureKit.framework" ]  # macOS 12.3
  }
  if (is_chromeos_ash) {
    sources += [ "../browser/handwriting/handwriting_recognition_service_impl_cros_unittest.cc" ]
    deps += [
      "//ash/constants:constants",
      "//chromeos/ash/components/audio",
      "//chromeos/ash/components/dbus/audio",
      "//chromeos/services/machine_learning/public/cpp:stub",
      "//chromeos/services/machine_learning/public/mojom",
      "//chromeos/services/machine_learning/public/mojom",
    ]
  }
  if (is_chromeos_lacros) {
    sources += [ "../browser/screenlock_monitor/screenlock_monitor_device_source_lacros_unittest.cc" ]
    deps += [
      "//chromeos/crosapi/mojom",
      "//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/message_payload_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_android_unittest.cc",
      "../browser/media/key_system_support_android_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_unittest_support_java",
      "//build/config/freetype",
      "//cc/slim",
      "//components/download/internal/common:internal_java",
      "//content/browser:fontations_name_table_ffi",
      "//content/public/android:content_java",
      "//gin:v8_snapshot_assets",
      "//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 (enable_chrome_android_internal) {
      data_deps += [ "//clank/build/bot/filters:content_unittests_filters" ]
    }
    defines += [ "APPCACHE_USE_SIMPLE_CACHE" ]
  } else {
    # Non-Android.
    sources += [
      "../browser/devtools/protocol/webauthn_handler_unittest.cc",
      "../browser/host_zoom_map_impl_unittest.cc",
      "../browser/picture_in_picture/document_picture_in_picture_navigation_throttle_unittest.cc",
      "../browser/serial/serial_unittest.cc",
      "../browser/speech/network_speech_recognition_engine_impl_unittest.cc",
      "../browser/speech/speech_recognizer_impl_unittest.cc",
      "../browser/tracing/tracing_ui_unittest.cc",
    ]
    deps += [
      "//components/speech:speech",
      "//device/fido:cablev2_authenticator",
      "//device/fido:cablev2_test_util",
      "//media/mojo/mojom:web_speech_recognition",
    ]

    if (!is_fuchsia) {
      sources += [
        "../browser/speech/soda_speech_recognition_engine_impl_unittest.cc",
        "../browser/speech/speech_recognition_manager_impl_unittest.cc",
      ]
      deps += [
        "//components/soda:constants",
        "//components/soda:utils",
        "//content/test:test_support",
        "//media/mojo/mojom:speech_recognition",
      ]

      if (is_chromeos_ash) {
        deps += [ "//ash/constants:constants" ]
      }
    }
  }

  # 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/service_worker/service_worker_hid_delegate_observer_unittest.cc",
      "../browser/service_worker/service_worker_usb_delegate_observer_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",
    ]
    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 (enable_plugins) {
    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 (enable_vr) {
    sources += [ "../browser/xr/service/xr_runtime_manager_unittest.cc" ]
    deps += [ "//device/vr:vr_fakes" ]
  }

  # TODO(crbug.com/1293538): Update to check is_cast_audio_only
  if (is_castos || is_cast_android) {
    deps += [ "//chromecast:chromecast_buildflags" ]
  }
}

if (is_ios) {
  bundle_data("content_shell_pak_bundle_data") {
    testonly = true
    public_deps = [ "//content/shell:pak" ]
    sources = [ "$root_out_dir/content_shell.pak" ]
    outputs = [ "{{bundle_resources_dir}}/content_shell.pak" ]
  }

  bundle_data_from_filelist("content_test_bundle_data") {
    testonly = true
    filelist_name = "content_test_bundle_data.filelist"
  }

  if (current_toolchain == default_toolchain) {
    _extension_toolchain = "${current_toolchain}_blink_app_ext"
    extension_bundle_data("content_process_bundle") {
      testonly = true
      extension_dir = "Extensions"
      extension_name = "test_content_process.appex"
      extension_target = "//content/test/ios/appex:test_content_process(${_extension_toolchain})"
    }
    extension_bundle_data("network_process_bundle") {
      testonly = true
      extension_dir = "Extensions"
      extension_name = "test_network_process.appex"
      extension_target = "//content/test/ios/appex:test_network_process(${_extension_toolchain})"
    }
    extension_bundle_data("gpu_process_bundle") {
      testonly = true
      extension_dir = "Extensions"
      extension_name = "test_gpu_process.appex"
      extension_target =
          "//content/test/ios/appex:test_gpu_process(${_extension_toolchain})"
    }
  }
}
if (is_apple) {
  bundle_data("content_test_perfetto_bundle_data") {
    testonly = true
    _relative_path = "third_party/perfetto/protos/perfetto/config/chrome"
    public_deps = [ "//third_party/perfetto/protos/perfetto/config/chrome:scenario_descriptor" ]
    sources = [ "$root_gen_dir/$_relative_path/scenario_config.descriptor" ]
    outputs =
        [ "{{bundle_resources_dir}}/gen/$_relative_path/{{source_file_part}}" ]
  }
}

if (enable_nocompile_tests) {
  nocompile_source_set("content_nocompile_tests") {
    sources = [
      "../browser/browser_task_traits_nocompile.nc",
      "../browser/browser_thread_nocompile.nc",
    ]

    deps = [ "//content/public/browser" ]
  }
}

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.
#
# TODO(crbug.com/40130215): Remove once power testing is migrated to perf waterfall.
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",
      "//content/public/android:content_java",
      "//third_party/jni_zero:jni_zero_java",
      "//ui/android:ui_full_java",
    ]
  }
}

group("gpu_pytype") {
  testonly = true

  data = [
    "//content/test/gpu/get_machine_times.py",
    "//content/test/gpu/run_pytype.py",
    "//content/test/gpu/unexpected_pass_finder.py",
    "//content/test/gpu/validate_tag_consistency.py",

    "//content/test/gpu/gold_inexact_matching/",
    "//content/test/gpu/flake_suppressor/",
    "//content/test/gpu/machine_times/",
    "//content/test/gpu/unexpected_passes/",
    "//testing/flake_suppressor_common/",
    "//testing/unexpected_passes_common/",
  ]

  data_deps = [
    # This includes more than we strictly need to, but this ensures that we
    # don't accidentally omit Python files that the real tests would be using.
    ":telemetry_gpu_integration_test_scripts_only",
    ":telemetry_gpu_integration_test_support",
    "//testing:pytype_dependencies",
  ]
}

if (is_fuchsia) {
  group("telemetry_gpu_integration_test_fuchsia") {
    testonly = true
    data = [ "//content/test/gpu/run_gpu_integration_test_fuchsia.py" ]
    data_deps = [
      "//content/test:fuchsia_telemetry_test_data",
      "//content/test:telemetry_gpu_integration_test_support",
      "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
    ]
  }
}