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

import("//build/config/chrome_build.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/crypto.gni")
import("//build/config/features.gni")
import("//build/config/jumbo.gni")
import("//build/config/ui.gni")
import("//build/nocompile.gni")
import("//media/media_options.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//net/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//services/catalog/public/tools/catalog.gni")
import("//services/service_manager/public/service_manifest.gni")
import("//testing/test.gni")
import("//third_party/blink/public/public_features.gni")
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
import("//v8/gni/v8.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.
jumbo_static_library("test_support") {
  testonly = true

  # See comment at the top of //content/BUILD.gn for why this is disabled in
  # component builds.
  if (is_component_build) {
    check_includes = false
  }

  sources = [
    "../browser/accessibility/accessibility_event_recorder.cc",
    "../browser/accessibility/accessibility_event_recorder.h",
    "../browser/accessibility/accessibility_event_recorder_mac.mm",
    "../browser/accessibility/accessibility_event_recorder_win.cc",
    "../browser/background_fetch/background_fetch_embedded_worker_test_helper.cc",
    "../browser/background_fetch/background_fetch_embedded_worker_test_helper.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/mock_background_fetch_delegate.cc",
    "../browser/background_fetch/mock_background_fetch_delegate.h",
    "../browser/fileapi/file_system_chooser_test_helpers.cc",
    "../browser/fileapi/file_system_chooser_test_helpers.h",
    "../browser/media/session/mock_media_session_observer.cc",
    "../browser/media/session/mock_media_session_observer.h",
    "../browser/media/session/mock_media_session_player_observer.cc",
    "../browser/media/session/mock_media_session_player_observer.h",
    "../browser/service_worker/embedded_worker_test_helper.cc",
    "../browser/service_worker/embedded_worker_test_helper.h",
    "../browser/service_worker/service_worker_test_utils.cc",
    "../browser/service_worker/service_worker_test_utils.h",
    "../browser/web_package/mock_signed_exchange_handler.cc",
    "../browser/web_package/mock_signed_exchange_handler.h",
    "../public/test/audio_service_test_helper.cc",
    "../public/test/audio_service_test_helper.h",
    "../public/test/background_sync_test_util.cc",
    "../public/test/background_sync_test_util.h",
    "../public/test/blink_test_environment.cc",
    "../public/test/blink_test_environment.h",
    "../public/test/browser_side_navigation_test_utils.cc",
    "../public/test/browser_side_navigation_test_utils.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/cache_test_util.cc",
    "../public/test/cache_test_util.h",
    "../public/test/content_mock_cert_verifier.cc",
    "../public/test/content_mock_cert_verifier.h",
    "../public/test/content_test_suite_base.cc",
    "../public/test/content_test_suite_base.h",
    "../public/test/download_test_observer.cc",
    "../public/test/download_test_observer.h",
    "../public/test/fake_download_item.cc",
    "../public/test/fake_download_item.h",
    "../public/test/fake_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/find_test_utils.cc",
    "../public/test/find_test_utils.h",
    "../public/test/frame_load_waiter.cc",
    "../public/test/frame_load_waiter.h",
    "../public/test/hit_test_region_observer.cc",
    "../public/test/hit_test_region_observer.h",
    "../public/test/javascript_test_observer.cc",
    "../public/test/javascript_test_observer.h",
    "../public/test/mock_browsing_data_remover_delegate.cc",
    "../public/test/mock_browsing_data_remover_delegate.h",
    "../public/test/mock_download_manager.cc",
    "../public/test/mock_download_manager.h",
    "../public/test/mock_notification_observer.cc",
    "../public/test/mock_notification_observer.h",
    "../public/test/mock_permission_manager.cc",
    "../public/test/mock_permission_manager.h",
    "../public/test/mock_render_process_host.cc",
    "../public/test/mock_render_process_host.h",
    "../public/test/mock_render_thread.cc",
    "../public/test/mock_render_thread.h",
    "../public/test/mock_resource_context.cc",
    "../public/test/mock_resource_context.h",
    "../public/test/navigation_handle_observer.cc",
    "../public/test/navigation_handle_observer.h",
    "../public/test/navigation_simulator.cc",
    "../public/test/navigation_simulator.h",
    "../public/test/network_service_test_helper.cc",
    "../public/test/network_service_test_helper.h",
    "../public/test/ppapi_test_utils.cc",
    "../public/test/ppapi_test_utils.h",
    "../public/test/render_view_test.cc",
    "../public/test/render_view_test.h",
    "../public/test/scoped_overscroll_modes.cc",
    "../public/test/scoped_overscroll_modes.h",
    "../public/test/service_worker_test_helpers.cc",
    "../public/test/service_worker_test_helpers.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/test_browser_context.cc",
    "../public/test/test_browser_context.h",
    "../public/test/test_browser_thread.cc",
    "../public/test/test_browser_thread.h",
    "../public/test/test_browser_thread_bundle.cc",
    "../public/test/test_browser_thread_bundle.h",
    "../public/test/test_content_client_initializer.cc",
    "../public/test/test_content_client_initializer.h",
    "../public/test/test_download_http_response.cc",
    "../public/test/test_download_http_response.h",
    "../public/test/test_file_error_injector.cc",
    "../public/test/test_file_error_injector.h",
    "../public/test/test_fileapi_operation_waiter.cc",
    "../public/test/test_fileapi_operation_waiter.h",
    "../public/test/test_frame_navigation_observer.cc",
    "../public/test/test_frame_navigation_observer.h",
    "../public/test/test_host_resolver.cc",
    "../public/test/test_host_resolver.h",
    "../public/test/test_launcher.cc",
    "../public/test/test_launcher.h",
    "../public/test/test_navigation_observer.cc",
    "../public/test/test_navigation_observer.h",
    "../public/test/test_navigation_throttle.cc",
    "../public/test/test_navigation_throttle.h",
    "../public/test/test_navigation_throttle_inserter.cc",
    "../public/test/test_navigation_throttle_inserter.h",
    "../public/test/test_navigation_ui_data.cc",
    "../public/test/test_navigation_ui_data.h",
    "../public/test/test_notification_tracker.cc",
    "../public/test/test_notification_tracker.h",
    "../public/test/test_renderer_host.cc",
    "../public/test/test_renderer_host.h",
    "../public/test/test_service.cc",
    "../public/test/test_service.h",
    "../public/test/test_service_manager_context.cc",
    "../public/test/test_service_manager_context.h",
    "../public/test/test_storage_partition.cc",
    "../public/test/test_storage_partition.h",
    "../public/test/test_synchronous_compositor_android.cc",
    "../public/test/test_synchronous_compositor_android.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/text_input_test_utils.cc",
    "../public/test/text_input_test_utils.h",
    "../public/test/text_input_test_utils_mac.mm",
    "../public/test/throttling_url_loader_test_util.cc",
    "../public/test/throttling_url_loader_test_util.h",
    "../public/test/unittest_test_suite.cc",
    "../public/test/unittest_test_suite.h",
    "../public/test/url_loader_interceptor.cc",
    "../public/test/url_loader_interceptor.h",
    "../public/test/web_contents_binding_set_test_binder.h",
    "../public/test/web_contents_tester.cc",
    "../public/test/web_contents_tester.h",
    "../renderer/media/stream/mock_mojo_media_stream_dispatcher_host.cc",
    "../renderer/media/stream/mock_mojo_media_stream_dispatcher_host.h",
    "../renderer/media/webrtc/mock_data_channel_impl.cc",
    "../renderer/media/webrtc/mock_data_channel_impl.h",
    "../renderer/media/webrtc/mock_peer_connection_dependency_factory.cc",
    "../renderer/media/webrtc/mock_peer_connection_dependency_factory.h",
    "../renderer/media/webrtc/mock_peer_connection_impl.cc",
    "../renderer/media/webrtc/mock_peer_connection_impl.h",
    "../renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.cc",
    "../renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h",
    "../renderer/media/webrtc/test/webrtc_stats_report_obtainer.cc",
    "../renderer/media/webrtc/test/webrtc_stats_report_obtainer.h",
    "accessibility_browser_test_utils.cc",
    "accessibility_browser_test_utils.h",
    "appcache_test_helper.cc",
    "appcache_test_helper.h",
    "barrier_builder.cc",
    "barrier_builder.h",
    "content_browser_sanity_checker.cc",
    "content_browser_sanity_checker.h",
    "content_test_suite.cc",
    "content_test_suite.h",
    "did_commit_provisional_load_interceptor.cc",
    "did_commit_provisional_load_interceptor.h",
    "dwrite_font_fake_sender_win.cc",
    "dwrite_font_fake_sender_win.h",
    "fake_compositor_dependencies.cc",
    "fake_compositor_dependencies.h",
    "fake_leveldb_database.cc",
    "fake_leveldb_database.h",
    "fake_plugin_service.cc",
    "fake_plugin_service.h",
    "fake_renderer_compositor_frame_sink.cc",
    "fake_renderer_compositor_frame_sink.h",
    "gmock_util.h",
    "gpu_browsertest_helpers.cc",
    "gpu_browsertest_helpers.h",
    "mock_background_sync_controller.cc",
    "mock_background_sync_controller.h",
    "mock_clipboard_host.cc",
    "mock_clipboard_host.h",
    "mock_keyboard.cc",
    "mock_keyboard.h",
    "mock_keyboard_driver_win.cc",
    "mock_keyboard_driver_win.h",
    "mock_navigation_client_impl.cc",
    "mock_navigation_client_impl.h",
    "mock_overscroll_observer.h",
    "mock_platform_notification_service.cc",
    "mock_platform_notification_service.h",
    "mock_render_process.cc",
    "mock_render_process.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_webblob_registry_impl.cc",
    "mock_webblob_registry_impl.h",
    "mock_widget_impl.cc",
    "mock_widget_impl.h",
    "mock_widget_input_handler.cc",
    "mock_widget_input_handler.h",
    "not_implemented_network_url_loader_factory.cc",
    "not_implemented_network_url_loader_factory.h",
    "ppapi_unittest.cc",
    "ppapi_unittest.h",
    "storage_partition_test_utils.cc",
    "storage_partition_test_utils.h",
    "stub_layer_tree_view_delegate.cc",
    "stub_layer_tree_view_delegate.h",
    "test_background_sync_context.cc",
    "test_background_sync_context.h",
    "test_background_sync_manager.cc",
    "test_background_sync_manager.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_mojo_proxy_resolver_factory.cc",
    "test_mojo_proxy_resolver_factory.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_render_frame.cc",
    "test_render_frame.h",
    "test_render_frame_host.cc",
    "test_render_frame_host.h",
    "test_render_frame_host_factory.cc",
    "test_render_frame_host_factory.h",
    "test_render_view_host.cc",
    "test_render_view_host.h",
    "test_render_view_host_factory.cc",
    "test_render_view_host_factory.h",
    "test_render_widget_host.cc",
    "test_render_widget_host.h",
    "test_render_widget_host_factory.cc",
    "test_render_widget_host_factory.h",
    "test_web_contents.cc",
    "test_web_contents.h",
    "test_web_contents_factory.cc",
    "web_contents_observer_sanity_checker.cc",
    "web_contents_observer_sanity_checker.h",
    "web_gesture_curve_mock.cc",
    "web_gesture_curve_mock.h",
  ]

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

  public_deps = [
    "//components/download/public/common:test_support",
    "//components/variations:test_support",
    "//content/public/app:both",
    "//content/public/browser",
    "//content/public/common",
    "//ipc",
    "//media/mojo/clients",
    "//media/mojo/interfaces",
    "//services/media_session/public/cpp/test:test_support",
    "//services/media_session/public/mojom",
    "//third_party/blink/public:blink",
    "//third_party/blink/public:test_support",
  ]
  deps = [
    ":content_test_mojo_bindings",
    "//base/third_party/dynamic_annotations",
    "//cc:test_support",
    "//components/services/leveldb/public/interfaces",
    "//components/viz/host",
    "//components/viz/service",
    "//content/app:both_for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/speech/proto",
    "//content/child:for_content_tests",
    "//content/gpu",
    "//content/public/browser",
    "//content/public/child",
    "//content/public/common",
    "//content/public/common:service_names",
    "//content/public/renderer",
    "//content/public/utility",
    "//content/renderer:for_content_tests",
    "//content/renderer/compositor",
    "//content/shell:pak",
    "//content/utility:for_content_tests",
    "//device/base/synchronization",
    "//gpu/ipc:gl_in_process_context",
    "//ipc:test_support",
    "//media",
    "//media/capture",
    "//media/capture/mojom:image_capture",
    "//mojo/core/embedder",
    "//net:test_support",
    "//services/audio/public/mojom",
    "//services/device/public/mojom",
    "//services/ws/public/cpp/gpu",

    # TODO(jam): remove this by adding a public header for the NetworkContext
    # public testing method.
    "//services/network:network_service",
    "//services/network:test_support",
    "//services/network/public/mojom",
    "//services/proxy_resolver:lib",
    "//services/service_manager/public/cpp",
    "//services/viz/public/interfaces",
    "//skia",
    "//storage/browser",
    "//storage/browser:test_support",
    "//storage/common",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/webrtc/api:libjingle_peerconnection_api",
    "//third_party/webrtc/api:rtc_stats_api",
    "//third_party/webrtc/media:rtc_media_base",
    "//third_party/webrtc/modules/video_capture",
    "//third_party/webrtc/pc:libjingle_peerconnection",
    "//third_party/webrtc/rtc_base:rtc_base_approved",
    "//third_party/webrtc/stats:rtc_stats",
    "//third_party/webrtc_overrides:init_webrtc",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/base",
    "//ui/base:test_support",
    "//ui/base:ui_data_pack",
    "//ui/base/ime",
    "//ui/compositor:test_support",
    "//ui/display",
    "//ui/events:dom_keycode_converter",
    "//ui/events:events_base",
    "//ui/events:gesture_detection",
    "//ui/events:test_support",
    "//ui/events/blink",
    "//ui/gfx:test_support",
    "//ui/gl",
    "//ui/gl:test_support",
    "//ui/resources",
    "//ui/shell_dialogs:shell_dialogs",
    "//ui/surface",
    "//url",
    "//url/mojom:url_mojom_gurl",
    "//v8",
  ]

  data_deps = [
    "//content/shell:pak",
    "//tools/v8_context_snapshot:v8_context_snapshot",
  ]

  if (is_android) {
    deps += [
      "//content/shell:android_shell_descriptors",
      "//mojo/public/java/system:native_support",
    ]
  }

  if (enable_plugins) {
    deps += [
      "//content/ppapi_plugin",
      "//ppapi/host",
      "//ppapi/proxy",
      "//ppapi/proxy:test_support",
      "//ppapi/shared_impl",
      "//ppapi/shared_impl:test_support",
    ]
  } else {
    sources -= [
      "../public/test/ppapi_test_utils.cc",
      "ppapi_unittest.cc",
    ]
  }

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

  if (use_glib) {
    configs += [ "//build/config/linux:glib" ]
  }

  if (use_aura) {
    sources += [
      "mock_overscroll_controller_delegate_aura.cc",
      "mock_overscroll_controller_delegate_aura.h",
    ]

    deps += [
      "//ui/aura:test_support",
      "//ui/resources:ui_test_pak",
      "//ui/wm",
    ]
  }

  if (use_aura || is_mac) {
    deps += [
      "//components/viz/common",
      "//components/viz/host",
      "//components/viz/service",
      "//third_party/libvpx",
      "//ui/compositor",
    ]

    sources += [
      "../browser/compositor/test/test_image_transport_factory.cc",
      "../browser/compositor/test/test_image_transport_factory.h",
    ]
  }

  if (is_mac) {
    deps += [ "//ui/views:test_support" ]
  }

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

  if (is_win) {
    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 += [
      "//media/capture/video/android:android",
      "//ui/android",
      "//ui/android:test_support",
      "//ui/shell_dialogs",
    ]
  }

  if (is_win) {
    deps += [ "//sandbox" ]
  }

  if (v8_use_external_startup_data) {
    deps += [ "//gin:gin" ]
  }

  if (is_mac) {
    deps += [
      "//sandbox/mac:seatbelt",
      "//ui/accelerated_widget_mac",
    ]
  }
}

# browsertest_support can be used by targets that run content_shell based
# browser tests.
jumbo_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 = [
    "../public/test/content_browser_test.cc",
    "../public/test/content_browser_test.h",
    "../public/test/content_browser_test_utils.cc",
    "../public/test/content_browser_test_utils.h",
    "../public/test/content_browser_test_utils_mac.mm",
    "../public/test/content_cert_verifier_browser_test.cc",
    "../public/test/content_cert_verifier_browser_test.h",
    "content_browser_test_utils_internal.cc",
    "content_browser_test_utils_internal.h",
    "content_test_launcher.cc",
  ]

  deps = [
    ":test_support",
    ":web_test_support",
    "//base",
    "//base:i18n",
    "//base/test:test_config",
    "//base/test:test_support",
    "//components/viz/service",
    "//content/app:both_for_content_tests",
    "//content/browser:for_content_tests",
    "//content/shell:content_shell_lib",
    "//gin",
    "//media",
    "//net",
    "//skia",
    "//testing/gtest",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/base",
    "//ui/base/ime",
  ]

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

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

  configs += [ "//v8:external_startup_data" ]
}

mojom("content_test_mojo_bindings") {
  sources = [
    "../public/test/test_service.mojom",
    "frame_host_test_interface.mojom",
    "test_browser_associated_interfaces.mojom",
  ]
  public_deps = [
    "//url/mojom:url_mojom_gurl",
  ]
}

mojom("web_ui_test_mojo_bindings") {
  sources = [
    "data/web_ui_test_mojo_bindings.mojom",
  ]
}

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

static_library("web_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 = [
    "../public/test/nested_message_pump_android.cc",
    "../public/test/nested_message_pump_android.h",
    "../public/test/web_test_support.h",
    "web_test_support.cc",
  ]

  deps = [
    ":test_support",
    "//cc",
    "//components/viz/test:test_support",
    "//content/browser:for_content_tests",
    "//content/child:for_content_tests",
    "//content/public/common",
    "//content/public/renderer",
    "//content/renderer:for_content_tests",
    "//content/renderer/compositor",
    "//content/shell:web_test_switches",
    "//content/shell/test_runner:test_runner",
    "//device/bluetooth",
    "//device/gamepad/public/cpp:shared_with_blink",
    "//gpu/ipc/service",
    "//services/device/public/cpp/generic_sensor",
    "//services/ws/public/cpp/gpu",
    "//skia",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/events/blink",
    "//ui/gfx:test_support",
    "//v8",
  ]

  if (is_android) {
    deps += [ "//content/public/test/android:test_support_content_jni_headers" ]
  }
}

static_library("test_runner_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/test_runner_support.h",
    "test_runner_support.cc",
  ]

  deps = [
    "//content/public/renderer",
    "//content/renderer:for_content_tests",
    "//third_party/blink/public:blink",
  ]
}

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

  jinja_template("content_browsertests_manifest") {
    testonly = true
    input =
        "//content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2"
    output =
        "${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml"
  }

  android_library("content_browsertests_java") {
    testonly = true
    java_files = [
      "../shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java",
      "../shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsApplication.java",
    ]
    deps = [
      ":content_browsertests_resources",
      "//base:base_java",
      "//base:base_java_test_support",
      "//components/viz/service:service_java",
      "//content/public/android:content_java",
      "//content/public/test/android:content_java_test_support",
      "//content/shell/android:content_shell_browsertests_java",
      "//testing/android/native_test:native_test_java",
      "//ui/android:ui_java",
    ]
  }

  android_resources("content_browsertests_resources") {
    testonly = true
    resource_dirs = [ "//content/shell/android/browsertests_apk/res" ]
    custom_package = "org.chromium.content_browsertests_apk"
  }
}

test("content_browsertests") {
  # See comment at the top of //content/BUILD.gn for why this is disabled in
  # component builds.
  if (is_component_build) {
    check_includes = false
  }

  sources = [
    "../app/mojo/mojo_browsertest.cc",
    "../browser/accessibility/accessibility_action_browsertest.cc",
    "../browser/accessibility/accessibility_ipc_error_browsertest.cc",
    "../browser/accessibility/accessibility_mode_browsertest.cc",
    "../browser/accessibility/aom_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_tree_browsertest.cc",
    "../browser/accessibility/fullscreen_browsertest.cc",
    "../browser/accessibility/hit_testing_browsertest.cc",
    "../browser/accessibility/line_layout_browsertest.cc",
    "../browser/accessibility/site_per_process_accessibility_browsertest.cc",
    "../browser/accessibility/snapshot_ax_tree_browsertest.cc",
    "../browser/accessibility/touch_accessibility_aura_browsertest.cc",
    "../browser/appcache/appcache_browsertest.cc",
    "../browser/back_forward_cache_browsertest.cc",
    "../browser/background_sync/background_sync_browsertest.cc",
    "../browser/battery_monitor_browsertest.cc",
    "../browser/blob_storage/blob_storage_browsertest.cc",
    "../browser/blob_storage/blob_url_browsertest.cc",
    "../browser/bookmarklet_browsertest.cc",
    "../browser/browser_thread_browsertest.cc",
    "../browser/browsing_data/browsing_data_remover_impl_browsertest.cc",
    "../browser/browsing_data/clear_site_data_handler_browsertest.cc",
    "../browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc",
    "../browser/child_process_launcher_browsertest.cc",
    "../browser/child_process_security_policy_browsertest.cc",
    "../browser/content_service_browsertest.cc",
    "../browser/cross_site_transfer_browsertest.cc",
    "../browser/database_browsertest.cc",
    "../browser/device_sensors/device_sensor_browsertest.cc",
    "../browser/devtools/devtools_video_consumer_browsertest.cc",
    "../browser/devtools/protocol/devtools_protocol_browsertest.cc",
    "../browser/devtools/protocol/devtools_protocol_test_support.cc",
    "../browser/devtools/protocol/devtools_protocol_test_support.h",
    "../browser/devtools/render_frame_devtools_agent_host_browsertest.cc",
    "../browser/devtools/site_per_process_devtools_browsertest.cc",
    "../browser/display_cutout/display_cutout_browsertest.cc",
    "../browser/do_not_track_browsertest.cc",
    "../browser/dom_storage/dom_storage_browsertest.cc",
    "../browser/download/download_browsertest.cc",
    "../browser/download/drag_download_file_browsertest.cc",
    "../browser/download/mhtml_generation_browsertest.cc",
    "../browser/download/save_package_browsertest.cc",
    "../browser/fileapi/file_system_browsertest.cc",

    # These tests have incorrect threading (https://crbug.com/860547).
    #"../browser/fileapi/file_system_url_loader_factory_browsertest.cc",

    "../browser/fileapi/file_system_chooser_browsertest.cc",
    "../browser/fileapi/fileapi_browsertest.cc",
    "../browser/find_request_manager_browsertest.cc",
    "../browser/font_unique_name_lookup/font_unique_name_browsertest.cc",
    "../browser/frame_host/blocked_scheme_navigation_browsertest.cc",
    "../browser/frame_host/form_submission_throttle_browsertest.cc",
    "../browser/frame_host/frame_tree_browsertest.cc",
    "../browser/frame_host/interstitial_page_impl_browsertest.cc",
    "../browser/frame_host/navigation_controller_impl_browsertest.cc",
    "../browser/frame_host/navigation_handle_impl_browsertest.cc",
    "../browser/frame_host/render_frame_host_impl_browsertest.cc",
    "../browser/frame_host/render_frame_host_manager_browsertest.cc",
    "../browser/frame_host/render_frame_message_filter_browsertest.cc",
    "../browser/frame_host/webui_navigation_browsertest.cc",
    "../browser/generic_sensor/generic_sensor_browsertest.cc",
    "../browser/gpu/gpu_ipc_browsertests.cc",
    "../browser/gpu/in_process_gpu_thread_browsertests.cc",
    "../browser/indexed_db/indexed_db_browsertest.cc",
    "../browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc",
    "../browser/indexed_db/mock_browsertest_indexed_db_class_factory.h",
    "../browser/isolated_origin_browsertest.cc",
    "../browser/keyboard_lock_browsertest.cc",
    "../browser/keyboard_lock_browsertest.h",
    "../browser/keyboard_lock_browsertest_mac.mm",
    "../browser/loader/cors_file_origin_browsertest.cc",
    "../browser/loader/cors_origin_access_list_browsertest.cc",
    "../browser/loader/cross_site_document_blocking_browsertest.cc",
    "../browser/loader/loader_browsertest.cc",
    "../browser/loader/prefetch_browsertest.cc",
    "../browser/loader/reload_cache_control_browsertest.cc",
    "../browser/loader/resource_scheduler_browsertest.cc",
    "../browser/manifest/manifest_browsertest.cc",
    "../browser/media/encrypted_media_browsertest.cc",
    "../browser/media/media_autoplay_browsertest.cc",
    "../browser/media/media_browsertest.cc",
    "../browser/media/media_browsertest.h",
    "../browser/media/media_canplaytype_browsertest.cc",
    "../browser/media/media_capabilities_browsertest.cc",
    "../browser/media/media_color_browsertest.cc",
    "../browser/media/media_redirect_browsertest.cc",
    "../browser/media/media_source_browsertest.cc",
    "../browser/media/media_suspend_browsertest.cc",
    "../browser/media/midi_browsertest.cc",
    "../browser/media/session/audio_focus_delegate_default_browsertest.cc",
    "../browser/media/session/media_session_browsertest.cc",
    "../browser/media/session/media_session_impl_browsertest.cc",
    "../browser/media/session/media_session_impl_visibility_browsertest.cc",
    "../browser/media/session/media_session_service_impl_browsertest.cc",
    "../browser/media/webaudio/audio_context_manager_browsertest.cc",
    "../browser/message_port_provider_browsertest.cc",
    "../browser/mojo_sandbox_browsertest.cc",
    "../browser/navigation_browsertest.cc",
    "../browser/net/accept_header_browsertest.cc",
    "../browser/net_info_browsertest.cc",
    "../browser/network_service_browsertest.cc",
    "../browser/network_service_restart_browsertest.cc",
    "../browser/oop_browsertest.cc",
    "../browser/payments/payment_app_browsertest.cc",
    "../browser/performance_memory_browsertest.cc",
    "../browser/pointer_lock_browsertest.cc",
    "../browser/pointer_lock_browsertest.h",
    "../browser/pointer_lock_browsertest_mac.mm",
    "../browser/portal/portal_browsertest.cc",
    "../browser/power_monitor_browsertest.cc",
    "../browser/presentation/presentation_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/fling_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_latency_browsertest.cc",
    "../browser/renderer_host/input/touch_action_browsertest.cc",
    "../browser/renderer_host/input/touch_input_browsertest.cc",
    "../browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc",
    "../browser/renderer_host/input/touchpad_pinch_browsertest.cc",
    "../browser/renderer_host/input/wheel_event_listener_browsertest.cc",
    "../browser/renderer_host/input/wheel_scroll_latching_browsertest.cc",
    "../browser/renderer_host/media/video_capture_browsertest.cc",
    "../browser/renderer_host/render_process_host_browsertest.cc",
    "../browser/renderer_host/render_view_host_browsertest.cc",
    "../browser/renderer_host/render_widget_host_browsertest.cc",
    "../browser/renderer_host/render_widget_host_view_browsertest.cc",
    "../browser/renderer_host/render_widget_host_view_child_frame_browsertest.cc",
    "../browser/renderer_host/render_widget_host_view_mac_browsertest.mm",
    "../browser/resource_loading_browsertest.cc",
    "../browser/scheduler/responsiveness/native_event_observer_browsertest.mm",
    "../browser/scheduler/responsiveness/native_event_observer_browsertest_win.cc",
    "../browser/screen_orientation/screen_orientation_browsertest.cc",
    "../browser/security_exploit_browsertest.cc",
    "../browser/service_manager/service_manager_context_browsertest.cc",
    "../browser/service_worker/service_worker_browsertest.cc",
    "../browser/service_worker/service_worker_clients_api_browsertest.cc",
    "../browser/service_worker/service_worker_tls_browsertest.cc",
    "../browser/session_history_browsertest.cc",
    "../browser/shape_detection/shape_detection_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_mac_browsertest.mm",
    "../browser/snapshot_browsertest.cc",
    "../browser/storage_partition_impl_browsertest.cc",
    "../browser/tracing/background_tracing_manager_browsertest.cc",
    "../browser/tracing/memory_instrumentation_browsertest.cc",
    "../browser/tracing/memory_tracing_browsertest.cc",
    "../browser/tracing/tracing_controller_browsertest.cc",
    "../browser/utility_process_host_browsertest.cc",
    "../browser/vibration_browsertest.cc",
    "../browser/wake_lock/wake_lock_browsertest.cc",
    "../browser/web_contents/opened_by_dom_browsertest.cc",
    "../browser/web_contents/web_contents_impl_browsertest.cc",
    "../browser/web_contents/web_contents_view_aura_browsertest.cc",
    "../browser/web_contents_binding_set_browsertest.cc",
    "../browser/web_package/signed_exchange_request_handler_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_depth_capture_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_webcam_browsertest.cc",
    "../browser/webrtc/webrtc_webcam_browsertest.h",
    "../browser/webui/web_ui_mojo_browsertest.cc",
    "../browser/worker_host/worker_browsertest.cc",
    "../renderer/accessibility/render_accessibility_impl_browsertest.cc",
    "../renderer/blink_platform_audio_hardware_browsertest.cc",
    "../renderer/gin_browsertest.cc",
    "../renderer/media/renderer_webmediaplayer_delegate_browsertest.cc",
    "../renderer/mouse_lock_dispatcher_browsertest.cc",
    "../renderer/render_frame_impl_browsertest.cc",
    "../renderer/render_thread_impl_browsertest.cc",
    "../renderer/render_view_browsertest.cc",
    "../renderer/render_view_browsertest_mac.mm",
    "../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/url_loader_interceptor_test.cc",
    "../test/webui_resource_browsertest.cc",
  ]

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  if (is_chromecast) {
    defines += [ "IS_CHROMECAST" ]
  }

  configs += [
    "//build/config:precompiled_headers",
    "//build/config/compiler:no_size_t_to_int_warning",
  ]

  deps = [
    ":browsertest_support",
    ":content_test_mojo_bindings",
    ":test_support",
    ":web_test_support",
    ":web_ui_test_mojo_bindings",
    "//base/test:test_support",
    "//components/discardable_memory/client",
    "//components/discardable_memory/common",
    "//components/discardable_memory/service",
    "//components/network_session_configurator/common",
    "//components/payments/mojom",
    "//components/services/leveldb/public/cpp:cpp",
    "//components/ukm:test_support",
    "//components/url_formatter:url_formatter",
    "//components/viz/test:test_support",
    "//content:resources",
    "//content/app:both_for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/background_sync:background_sync_proto",
    "//content/child:for_content_tests",
    "//content/gpu",
    "//content/public/browser",
    "//content/public/child",
    "//content/public/common",
    "//content/public/common:buildflags",
    "//content/public/gpu",
    "//content/public/renderer",
    "//content/renderer:for_content_tests",
    "//content/renderer/compositor",
    "//content/shell:content_shell_lib",
    "//content/shell:mojo_bindings",
    "//content/shell:pak",
    "//content/test:test_support",
    "//device/base/synchronization",
    "//gin",
    "//gpu",
    "//gpu/ipc/host",
    "//ipc",
    "//ipc:test_support",
    "//media:test_support",
    "//media/webrtc",
    "//mojo/core/embedder",
    "//mojo/public/cpp/bindings",
    "//net:test_support",
    "//ppapi/buildflags",
    "//services/audio/public/cpp",
    "//services/catalog:lib",
    "//services/content/public/cpp",
    "//services/content/public/mojom",
    "//services/device/public/cpp:device_features",
    "//services/device/public/cpp/generic_sensor",
    "//services/device/public/cpp/test:test_support",
    "//services/device/public/mojom",
    "//services/device/public/mojom:generic_sensor",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/network:test_support",
    "//services/service_manager/public/cpp",
    "//services/test/echo/public/mojom",
    "//services/video_capture/public/cpp",
    "//services/video_capture/public/mojom:constants",
    "//services/viz/privileged/interfaces",
    "//services/ws/public/cpp/gpu",
    "//storage/browser",
    "//storage/browser:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/blink/public:blink",
    "//third_party/leveldatabase",
    "//third_party/libaom:av1_buildflags",
    "//third_party/mesa_headers",
    "//third_party/zlib",
    "//ui/accessibility",
    "//ui/accessibility:ax_enums_mojo",
    "//ui/base:test_support",
    "//ui/base/ime",
    "//ui/compositor",
    "//ui/display",
    "//ui/events:test_support",
    "//ui/events/blink:blink",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gl",
    "//ui/gl:test_support",
    "//ui/latency",
    "//ui/native_theme",
    "//ui/resources",
    "//ui/shell_dialogs",
    "//ui/snapshot",
  ]

  data = []

  data_deps = [
    ":web_ui_test_mojo_bindings_js_data_deps",
    "//content/shell:pak",
    "//testing/buildbot/filters:content_browsertests_filters",
    "//third_party/mesa_headers",
  ]

  if (enable_plugins) {
    deps += [
      "//ppapi/host",
      "//ppapi/proxy",
      "//ppapi/proxy:ipc",
      "//ppapi/shared_impl:test_support",
    ]
    data_deps += [
      "//ppapi:corb_test_plugin",
      "//ppapi:power_saver_test_plugin",
      "//ppapi:ppapi_tests",
    ]
    if (is_mac) {
      data += [ "$root_out_dir/ppapi_tests.plugin/" ]
    }
  }

  if (is_android || is_linux || is_mac || is_win) {
    data += [
      "$root_out_dir/content_shell.pak",
      "data/",
      "//media/test/data/",
    ]
  }

  if (is_linux || 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/mouse_cursor_overlay_controller_browsertest.cc",
      "../browser/media/capture/web_contents_video_capture_device_browsertest.cc",
    ]

    # For chromecast, content_browsertests does not provide a shell window.
    if (use_aura && !is_chromecast) {
      sources += [ "../browser/media/capture/aura_window_video_capture_device_browsertest.cc" ]
    }

    deps += [ "//third_party/libyuv" ]
    data += [
      "//net/tools/testserver/",
      "//ppapi/tests/test_case.html",
      "//ppapi/tests/test_page.css",
      "//ppapi/tests/test_url_loader_data/",
      "//third_party/pyftpdlib/",
      "//third_party/pywebsocket/src/mod_pywebsocket/",
      "//third_party/tlslite/",
    ]
  }

  if (is_win) {
    sources += [
      "../browser/accessibility/accessibility_win_browsertest.cc",
      "../browser/renderer_host/direct_manipulation_browsertest.cc",
    ]

    deps += [
      "//content/app/strings",
      "//net:net_resources",
      "//third_party/blink/public:resources",
      "//third_party/iaccessible2",
      "//third_party/isimpledom",
    ]

    if (symbol_level != 0) {
      data += [ "$root_out_dir/content_browsertests.exe.pdb" ]
    }
  }

  if (is_linux) {
    sources += [ "../zygote/zygote_browsertest.cc" ]
    deps += [
      "//services/service_manager/zygote",
      "//ui/gfx:test_support",
    ]
  }

  if (is_android) {
    enable_multidex = true
    if (is_component_build) {
      sources += [ "../browser/android/render_widget_host_connector.cc" ]
    }
    sources += [
      "../browser/accessibility/android_granularity_movement_browsertest.cc",
      "../browser/android/render_widget_host_connector_browsertest.cc",
      "../browser/android/render_widget_host_connector_browsertest.h",
      "../browser/media/session/audio_focus_delegate_android_browsertest.cc",
      "../browser/renderer_host/compositor_impl_android_browsertest.cc",
      "../shell/android/browsertests_apk/content_browser_tests_jni_onload.cc",
    ]
    sources -= [
      "../browser/keyboard_lock_browsertest.cc",
      "../browser/media/session/audio_focus_delegate_default_browsertest.cc",
      "../browser/pointer_lock_browsertest.cc",
      "../browser/pointer_lock_browsertest.h",
    ]
    deps += [
      ":content_browsertests_java",
      "//content/shell:content_shell_lib",
      "//content/shell/android:content_shell_assets",
      "//content/shell/android:content_shell_jni_headers",
      "//testing/android/native_test:native_test_support",
      "//ui/android:android",
      "//ui/touch_selection:touch_selection",
    ]
    android_manifest =
        "${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml"
    android_manifest_dep = ":content_browsertests_manifest"
    use_default_launcher = false
  } else {
    # Non-Android.
    sources += [
      "../browser/host_zoom_map_impl_browsertest.cc",
      "../browser/speech/speech_recognition_browsertest.cc",
      "../browser/zoom_browsertest.cc",
    ]
    deps += [ "//content/browser/speech/proto" ]
  }

  # HID support is not available without udev.
  is_linux_without_udev = is_linux && !use_udev
  if (!is_linux_without_udev && !is_android) {
    sources += [ "../browser/webauth/webauth_browsertest.cc" ]
    deps += [
      "//device/base",
      "//device/fido:fido",
      "//device/fido:mocks",
      "//device/fido:test_support",
    ]
  }

  if (is_mac) {
    sources += [
      "../browser/accessibility/browser_accessibility_cocoa_browsertest.mm",
      "../renderer/external_popup_menu_browsertest.cc",
    ]
    deps += [
      "//content/shell:content_shell",
      "//third_party/ocmock",
    ]
    data += [ "$root_out_dir/Content Shell.app/" ]
  }

  if (is_chromeos) {
    deps += [ "//chromeos" ]
  }

  if (use_aura && !is_win) {
    deps += [ "//ui/events:test_support" ]
  }

  if (use_aura) {
    sources +=
        [ "../browser/compositor/image_transport_factory_browsertest.cc" ]
  }

  if (enable_plugins) {
    sources += [
      "../browser/plugin_service_impl_browsertest.cc",
      "../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",
      "../renderer/pepper/plugin_power_saver_helper_browsertest.cc",
      "../test/ppapi/ppapi_browsertest.cc",
      "../test/ppapi/ppapi_test.cc",
      "../test/ppapi/ppapi_test.h",
    ]
    deps += [ "//ppapi/proxy:test_support" ]
    data_deps += [ "//ppapi:ppapi_tests" ]
  }

  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/fetchers/resource_fetcher_browsertest.cc",
      "../renderer/render_thread_impl_discardable_memory_browsertest.cc",
      "../renderer/savable_resources_browsertest.cc",
    ]

    deps += [
      "//components/discardable_memory/client",
      "//components/discardable_memory/common",
      "//components/discardable_memory/service",
    ]
  }

  if (use_aura) {
    deps += [
      "//ui/aura",
      "//ui/aura:test_support",
      "//ui/touch_selection:test_support",
      "//ui/touch_selection:touch_selection",
    ]
  } else {
    sources -= [
      "../browser/accessibility/touch_accessibility_aura_browsertest.cc",
      "../browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc",
      "../browser/web_contents/web_contents_view_aura_browsertest.cc",
    ]
  }

  if (is_chromecast) {
    sources -= [
      # The cast shell media pipeline doesn't produce real video frames that we
      # can inspect.
      "../browser/media/media_color_browsertest.cc",

      # The cast shell has plugin support but no pdf, causing blocked scheme PDF
      # tests to fail.
      "../browser/frame_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",
    ]
  }
}

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

test("content_unittests") {
  # See comment at the top of //content/BUILD.gn for why this is disabled in
  # component builds.
  if (is_component_build) {
    check_includes = false
  }

  if (is_android) {
    enable_multidex = true
  }

  defines = []
  sources = [
    "../browser/accessibility/browser_accessibility_mac_unittest.mm",
    "../browser/accessibility/browser_accessibility_manager_unittest.cc",
    "../browser/accessibility/browser_accessibility_unittest.cc",
    "../browser/accessibility/browser_accessibility_win_unittest.cc",
    "../browser/accessibility/one_shot_accessibility_tree_search_unittest.cc",
    "../browser/appcache/appcache_database_unittest.cc",
    "../browser/appcache/appcache_disk_cache_unittest.cc",
    "../browser/appcache/appcache_group_unittest.cc",
    "../browser/appcache/appcache_host_unittest.cc",
    "../browser/appcache/appcache_manifest_parser_unittest.cc",
    "../browser/appcache/appcache_quota_client_unittest.cc",
    "../browser/appcache/appcache_request_handler_unittest.cc",
    "../browser/appcache/appcache_response_unittest.cc",
    "../browser/appcache/appcache_service_unittest.cc",
    "../browser/appcache/appcache_storage_impl_unittest.cc",
    "../browser/appcache/appcache_storage_unittest.cc",
    "../browser/appcache/appcache_unittest.cc",
    "../browser/appcache/appcache_update_job_unittest.cc",
    "../browser/appcache/appcache_url_request_job_unittest.cc",
    "../browser/appcache/chrome_appcache_service_unittest.cc",
    "../browser/appcache/mock_appcache_policy.cc",
    "../browser/appcache/mock_appcache_policy.h",
    "../browser/appcache/mock_appcache_service.cc",
    "../browser/appcache/mock_appcache_service.h",
    "../browser/appcache/mock_appcache_storage.cc",
    "../browser/appcache/mock_appcache_storage.h",
    "../browser/appcache/mock_appcache_storage_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/image_helpers_unittest.cc",
    "../browser/background_sync/background_sync_manager_unittest.cc",
    "../browser/background_sync/background_sync_network_observer_unittest.cc",
    "../browser/background_sync/background_sync_service_impl_unittest.cc",
    "../browser/blob_storage/blob_url_unittest.cc",
    "../browser/bluetooth/bluetooth_allowed_devices_unittest.cc",
    "../browser/bluetooth/bluetooth_blocklist_unittest.cc",
    "../browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc",
    "../browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc",
    "../browser/browser_associated_interface_unittest.cc",
    "../browser/browser_main_loop_unittest.cc",
    "../browser/browser_thread_unittest.cc",
    "../browser/browser_url_handler_impl_unittest.cc",
    "../browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc",
    "../browser/browsing_data/browsing_data_remover_impl_unittest.cc",
    "../browser/browsing_data/clear_site_data_handler_unittest.cc",
    "../browser/browsing_data/clear_site_data_throttle_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_index_unittest.cc",
    "../browser/cache_storage/cache_storage_manager_unittest.cc",
    "../browser/cache_storage/cache_storage_operation_unittest.cc",
    "../browser/cache_storage/cache_storage_scheduler_unittest.cc",
    "../browser/child_process_security_policy_unittest.cc",
    "../browser/cocoa/system_hotkey_map_unittest.mm",
    "../browser/code_cache/generated_code_cache_unittest.cc",
    "../browser/compositor/reflector_impl_unittest.cc",
    "../browser/compositor/software_browser_compositor_output_surface_unittest.cc",
    "../browser/cookie_store/cookie_store_manager_unittest.cc",
    "../browser/devtools/devtools_http_handler_unittest.cc",
    "../browser/devtools/devtools_manager_unittest.cc",
    "../browser/devtools/devtools_video_consumer_unittest.cc",
    "../browser/devtools/protocol/tracing_handler_unittest.cc",
    "../browser/devtools/protocol_unittest.cc",
    "../browser/dom_storage/dom_storage_area_unittest.cc",
    "../browser/dom_storage/dom_storage_context_impl_unittest.cc",
    "../browser/dom_storage/dom_storage_database_unittest.cc",
    "../browser/dom_storage/local_storage_context_mojo_unittest.cc",
    "../browser/dom_storage/session_storage_area_impl_unittest.cc",
    "../browser/dom_storage/session_storage_context_mojo_unittest.cc",
    "../browser/dom_storage/session_storage_data_map_unittest.cc",
    "../browser/dom_storage/session_storage_database_unittest.cc",
    "../browser/dom_storage/session_storage_metadata_unittest.cc",
    "../browser/dom_storage/session_storage_namespace_impl_mojo_unittest.cc",
    "../browser/dom_storage/storage_area_impl_unittest.cc",
    "../browser/dom_storage/test/fake_leveldb_database_error_on_write.cc",
    "../browser/dom_storage/test/fake_leveldb_database_error_on_write.h",
    "../browser/dom_storage/test/fake_leveldb_service.cc",
    "../browser/dom_storage/test/fake_leveldb_service.h",
    "../browser/dom_storage/test/mojo_test_with_file_service.cc",
    "../browser/dom_storage/test/mojo_test_with_file_service.h",
    "../browser/dom_storage/test/storage_area_test_util.cc",
    "../browser/dom_storage/test/storage_area_test_util.h",
    "../browser/download/download_manager_impl_unittest.cc",
    "../browser/download/download_request_core_unittest.cc",
    "../browser/download/save_package_unittest.cc",
    "../browser/fileapi/browser_file_system_helper_unittest.cc",
    "../browser/fileapi/file_system_chooser_unittest.cc",
    "../browser/fileapi/file_system_operation_runner_unittest.cc",
    "../browser/frame_host/ancestor_throttle_unittest.cc",
    "../browser/frame_host/frame_service_base_unittest.cc",
    "../browser/frame_host/frame_tree_node_blame_context_unittest.cc",
    "../browser/frame_host/frame_tree_unittest.cc",
    "../browser/frame_host/mixed_content_navigation_throttle_unittest.cc",
    "../browser/frame_host/navigation_controller_impl_unittest.cc",
    "../browser/frame_host/navigation_entry_impl_unittest.cc",
    "../browser/frame_host/navigation_handle_impl_unittest.cc",
    "../browser/frame_host/navigator_impl_unittest.cc",
    "../browser/frame_host/origin_policy_throttle_unittest.cc",
    "../browser/frame_host/render_frame_host_feature_policy_unittest.cc",
    "../browser/frame_host/render_frame_host_manager_unittest.cc",
    "../browser/frame_host/render_widget_host_view_guest_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/indexed_db/fake_indexed_db_metadata_coding.cc",
    "../browser/indexed_db/fake_indexed_db_metadata_coding.h",
    "../browser/indexed_db/indexed_db_active_blob_registry_unittest.cc",
    "../browser/indexed_db/indexed_db_backing_store_unittest.cc",
    "../browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc",
    "../browser/indexed_db/indexed_db_database_unittest.cc",
    "../browser/indexed_db/indexed_db_dispatcher_host_unittest.cc",
    "../browser/indexed_db/indexed_db_factory_unittest.cc",
    "../browser/indexed_db/indexed_db_fake_backing_store.cc",
    "../browser/indexed_db/indexed_db_fake_backing_store.h",
    "../browser/indexed_db/indexed_db_leveldb_coding_unittest.cc",
    "../browser/indexed_db/indexed_db_pre_close_task_queue_unittest.cc",
    "../browser/indexed_db/indexed_db_quota_client_unittest.cc",
    "../browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc",
    "../browser/indexed_db/indexed_db_transaction_unittest.cc",
    "../browser/indexed_db/indexed_db_unittest.cc",
    "../browser/indexed_db/leveldb/leveldb_transaction_unittest.cc",
    "../browser/indexed_db/leveldb/leveldb_unittest.cc",
    "../browser/indexed_db/leveldb/mock_level_db.cc",
    "../browser/indexed_db/leveldb/mock_level_db.h",
    "../browser/indexed_db/leveldb/mock_leveldb_factory.cc",
    "../browser/indexed_db/leveldb/mock_leveldb_factory.h",
    "../browser/indexed_db/list_set_unittest.cc",
    "../browser/indexed_db/mock_indexed_db_callbacks.cc",
    "../browser/indexed_db/mock_indexed_db_callbacks.h",
    "../browser/indexed_db/mock_indexed_db_database_callbacks.cc",
    "../browser/indexed_db/mock_indexed_db_database_callbacks.h",
    "../browser/indexed_db/mock_indexed_db_factory.cc",
    "../browser/indexed_db/mock_indexed_db_factory.h",
    "../browser/indexed_db/mock_mojo_indexed_db_callbacks.cc",
    "../browser/indexed_db/mock_mojo_indexed_db_callbacks.h",
    "../browser/indexed_db/mock_mojo_indexed_db_database_callbacks.cc",
    "../browser/indexed_db/mock_mojo_indexed_db_database_callbacks.h",
    "../browser/indexed_db/scopes/disjoint_range_lock_manager_unittest.cc",
    "../browser/indexed_db/scopes/scopes_lock_manager_unittest.cc",
    "../browser/loader/cross_site_document_resource_handler_unittest.cc",
    "../browser/loader/data_pipe_to_source_stream_unittest.cc",
    "../browser/loader/detachable_resource_handler_unittest.cc",
    "../browser/loader/intercepting_resource_handler_unittest.cc",
    "../browser/loader/merkle_integrity_source_stream_unittest.cc",
    "../browser/loader/mime_sniffing_resource_handler_unittest.cc",
    "../browser/loader/mock_resource_loader.cc",
    "../browser/loader/mock_resource_loader.h",
    "../browser/loader/mojo_async_resource_handler_unittest.cc",
    "../browser/loader/navigation_url_loader_impl_unittest.cc",
    "../browser/loader/navigation_url_loader_unittest.cc",
    "../browser/loader/resource_dispatcher_host_unittest.cc",
    "../browser/loader/resource_loader_unittest.cc",
    "../browser/loader/source_stream_to_data_pipe_unittest.cc",
    "../browser/loader/test_resource_handler.cc",
    "../browser/loader/test_resource_handler.h",
    "../browser/loader/throttling_resource_handler_unittest.cc",
    "../browser/loader/upload_data_stream_builder_unittest.cc",
    "../browser/loader/url_loader_factory_impl_unittest.cc",
    "../browser/mach_broker_mac_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/capture/audio_mirroring_manager_unittest.cc",
    "../browser/media/capture/web_contents_audio_input_stream_unittest.cc",
    "../browser/media/cdm_registry_impl_unittest.cc",
    "../browser/media/flinging_renderer_unittest.cc",
    "../browser/media/forwarding_audio_stream_factory_unittest.cc",
    "../browser/media/media_devices_permission_checker_unittest.cc",
    "../browser/media/media_internals_unittest.cc",
    "../browser/media/midi_host_unittest.cc",
    "../browser/media/session/media_session_controller_unittest.cc",
    "../browser/media/session/media_session_controllers_manager_unittest.cc",
    "../browser/media/session/media_session_impl_service_routing_unittest.cc",
    "../browser/media/session/media_session_impl_uma_unittest.cc",
    "../browser/media/session/media_session_impl_unittest.cc",
    "../browser/media/session/media_session_uma_helper_unittest.cc",
    "../browser/media/webaudio/audio_context_manager_impl_unittest.cc",
    "../browser/memory/memory_monitor_android_unittest.cc",
    "../browser/memory/memory_monitor_win_unittest.cc",
    "../browser/memory/swap_metrics_driver_impl_unittest.cc",
    "../browser/memory/test_memory_monitor.cc",
    "../browser/memory/test_memory_monitor.h",
    "../browser/net/network_quality_observer_impl_unittest.cc",
    "../browser/net/quota_policy_cookie_store_unittest.cc",
    "../browser/network_service_client_unittest.cc",
    "../browser/notification_service_impl_unittest.cc",
    "../browser/notifications/blink_notification_service_impl_unittest.cc",
    "../browser/notifications/notification_database_data_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_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/portal/portal_unit_test.cc",
    "../browser/presentation/presentation_service_impl_unittest.cc",
    "../browser/renderer_host/clipboard_host_impl_unittest.cc",
    "../browser/renderer_host/cursor_manager_unittest.cc",
    "../browser/renderer_host/dwrite_font_proxy_message_filter_win_unittest.cc",
    "../browser/renderer_host/embedded_frame_sink_provider_impl_unittest.cc",
    "../browser/renderer_host/frame_token_message_queue_unittest.cc",
    "../browser/renderer_host/input/fling_controller_unittest.cc",
    "../browser/renderer_host/input/fling_scheduler_unittest.cc",
    "../browser/renderer_host/input/gesture_event_queue_unittest.cc",
    "../browser/renderer_host/input/input_router_impl_unittest.cc",
    "../browser/renderer_host/input/mock_input_disposition_handler.cc",
    "../browser/renderer_host/input/mock_input_disposition_handler.h",
    "../browser/renderer_host/input/mock_input_router_client.cc",
    "../browser/renderer_host/input/mock_input_router_client.h",
    "../browser/renderer_host/input/motion_event_web_unittest.cc",
    "../browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc",
    "../browser/renderer_host/input/mouse_wheel_rails_filter_unittest_mac.cc",
    "../browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc",
    "../browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc",
    "../browser/renderer_host/input/stylus_text_selector_unittest.cc",
    "../browser/renderer_host/input/synthetic_gesture_controller_unittest.cc",
    "../browser/renderer_host/input/synthetic_pointer_action_unittest.cc",
    "../browser/renderer_host/input/tap_suppression_controller_unittest.cc",
    "../browser/renderer_host/input/touch_action_filter_unittest.cc",
    "../browser/renderer_host/input/touch_emulator_unittest.cc",
    "../browser/renderer_host/input/touchpad_pinch_event_queue_unittest.cc",
    "../browser/renderer_host/input/web_input_event_builders_android_unittest.cc",
    "../browser/renderer_host/input/web_input_event_builders_mac_unittest.mm",
    "../browser/renderer_host/input/web_input_event_util_unittest.cc",
    "../browser/renderer_host/media/audio_input_delegate_impl_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_output_delegate_impl_unittest.cc",
    "../browser/renderer_host/media/audio_service_listener_unittest.cc",
    "../browser/renderer_host/media/fake_video_capture_device_launcher.cc",
    "../browser/renderer_host/media/fake_video_capture_device_launcher.h",
    "../browser/renderer_host/media/fake_video_capture_provider.cc",
    "../browser/renderer_host/media/fake_video_capture_provider.h",
    "../browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc",
    "../browser/renderer_host/media/media_devices_manager_unittest.cc",
    "../browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc",
    "../browser/renderer_host/media/media_stream_manager_unittest.cc",
    "../browser/renderer_host/media/media_stream_ui_proxy_unittest.cc",
    "../browser/renderer_host/media/mock_video_capture_provider.cc",
    "../browser/renderer_host/media/mock_video_capture_provider.h",
    "../browser/renderer_host/media/old_render_frame_audio_input_stream_factory_unittest.cc",
    "../browser/renderer_host/media/old_render_frame_audio_output_stream_factory_unittest.cc",
    "../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/overscroll_controller_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/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/renderer_host/web_database_host_impl_unittest.cc",
    "../browser/resolve_proxy_msg_helper_unittest.cc",
    "../browser/sandbox_mac_unittest.mm",
    "../browser/scheduler/browser_task_executor_unittest.cc",
    "../browser/scheduler/responsiveness/calculator_unittest.cc",
    "../browser/scheduler/responsiveness/watcher_unittest.cc",
    "../browser/screen_orientation/screen_orientation_provider_unittest.cc",
    "../browser/screenlock_monitor/screenlock_monitor_unittest.cc",
    "../browser/service_worker/embedded_worker_instance_unittest.cc",
    "../browser/service_worker/service_worker_cache_writer_unittest.cc",
    "../browser/service_worker/service_worker_context_core_unittest.cc",
    "../browser/service_worker/service_worker_context_request_handler_unittest.cc",
    "../browser/service_worker/service_worker_context_unittest.cc",
    "../browser/service_worker/service_worker_context_watcher_unittest.cc",
    "../browser/service_worker/service_worker_controllee_request_handler_unittest.cc",
    "../browser/service_worker/service_worker_data_pipe_reader_unittest.cc",
    "../browser/service_worker/service_worker_database_unittest.cc",
    "../browser/service_worker/service_worker_dispatcher_host_unittest.cc",
    "../browser/service_worker/service_worker_installed_scripts_sender_unittest.cc",
    "../browser/service_worker/service_worker_job_unittest.cc",
    "../browser/service_worker/service_worker_lifetime_tracker_unittest.cc",
    "../browser/service_worker/service_worker_metrics_unittest.cc",
    "../browser/service_worker/service_worker_navigation_loader_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_provider_host_unittest.cc",
    "../browser/service_worker/service_worker_read_from_cache_job_unittest.cc",
    "../browser/service_worker/service_worker_registration_unittest.cc",
    "../browser/service_worker/service_worker_request_handler_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_storage_unittest.cc",
    "../browser/service_worker/service_worker_url_request_job_unittest.cc",
    "../browser/service_worker/service_worker_version_unittest.cc",
    "../browser/service_worker/service_worker_write_to_cache_job_unittest.cc",
    "../browser/shareable_file_reference_unittest.cc",
    "../browser/site_instance_impl_unittest.cc",
    "../browser/speech/tts_controller_unittest.cc",
    "../browser/startup_task_runner_unittest.cc",
    "../browser/storage_partition_impl_map_unittest.cc",
    "../browser/storage_partition_impl_unittest.cc",
    "../browser/streams/stream_unittest.cc",
    "../browser/streams/stream_url_request_job_unittest.cc",
    "../browser/tracing/background_startup_tracing_observer_unittest.cc",
    "../browser/tracing/background_tracing_config_unittest.cc",
    "../browser/tracing/tracing_ui_unittest.cc",
    "../browser/web_contents/aura/gesture_nav_simple_unittest.cc",
    "../browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc",
    "../browser/web_contents/aura/overscroll_window_animation_unittest.cc",
    "../browser/web_contents/aura/overscroll_window_delegate_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_contents/web_contents_view_mac_unittest.mm",
    "../browser/web_contents/web_drag_dest_mac_unittest.mm",
    "../browser/web_contents/web_drag_source_mac_unittest.mm",
    "../browser/web_package/origins_list_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_prefetch_metric_recorder_unittest.cc",
    "../browser/web_package/signed_exchange_prologue_unittest.cc",
    "../browser/web_package/signed_exchange_signature_header_field_unittest.cc",
    "../browser/web_package/signed_exchange_signature_verifier_unittest.cc",
    "../browser/web_package/signed_exchange_utils_unittest.cc",
    "../browser/webrtc/webrtc_internals_message_handler_unittest.cc",
    "../browser/webrtc/webrtc_internals_unittest.cc",
    "../browser/websockets/websocket_manager_unittest.cc",
    "../browser/webui/url_data_manager_backend_unittest.cc",
    "../browser/webui/web_ui_data_source_unittest.cc",
    "../browser/webui/web_ui_message_handler_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",
    "../child/blink_platform_impl_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",
    "../common/android/gin_java_bridge_value_unittest.cc",
    "../common/background_fetch/background_fetch_struct_traits_unittest.cc",
    "../common/bluetooth/web_bluetooth_device_id_unittest.cc",
    "../common/common_param_traits_unittest.cc",
    "../common/content_security_policy/content_security_policy_unittest.cc",
    "../common/content_security_policy/csp_context_unittest.cc",
    "../common/content_security_policy/csp_source_list_unittest.cc",
    "../common/content_security_policy/csp_source_unittest.cc",
    "../common/content_switches_internal_unittest.cc",
    "../common/cursors/webcursor_unittest.cc",
    "../common/dom_storage/dom_storage_map_unittest.cc",
    "../common/input/actions_parser_unittest.cc",
    "../common/input/event_with_latency_info_unittest.cc",
    "../common/input/gesture_event_stream_validator_unittest.cc",
    "../common/input/synthetic_web_input_event_builders_unittest.cc",
    "../common/input/touch_event_stream_validator_unittest.cc",
    "../common/inter_process_time_ticks_converter_unittest.cc",
    "../common/mac/attributed_string_coder_unittest.mm",
    "../common/manifest_util_unittest.cc",
    "../common/media/media_devices_unittest.cc",
    "../common/mime_sniffing_throttle_unittest.cc",
    "../common/origin_util_unittest.cc",
    "../common/page_state_serialization_unittest.cc",
    "../common/page_zoom_unittest.cc",
    "../common/plugin_list_unittest.cc",
    "../common/service_manager/service_manager_connection_impl_unittest.cc",
    "../common/service_worker/service_worker_types_unittest.cc",
    "../common/service_worker/service_worker_utils_unittest.cc",
    "../common/throttling_url_loader_unittest.cc",
    "../common/unique_name_helper_unittest.cc",
    "../common/webplugininfo_unittest.cc",
    "../public/browser/site_isolation_policy_unittest.cc",

    # TODO(jam): move these network/ tests to services/network.
    "../public/common/drop_data_unittest.cc",
    "../public/common/url_utils_unittest.cc",
    "../public/test/referrer_unittest.cc",
    "../public/test/test_browser_thread_bundle_unittest.cc",
    "../renderer/bmp_image_decoder_unittest.cc",
    "../renderer/categorized_worker_pool_unittest.cc",
    "../renderer/child_frame_compositing_helper_unittest.cc",
    "../renderer/compositor/layer_tree_view_unittest.cc",
    "../renderer/dom_storage/dom_storage_cached_area_unittest.cc",
    "../renderer/dom_storage/local_storage_cached_area_unittest.cc",
    "../renderer/dom_storage/local_storage_cached_areas_unittest.cc",
    "../renderer/dom_storage/mock_leveldb_wrapper.cc",
    "../renderer/dom_storage/mock_leveldb_wrapper.h",
    "../renderer/frame_swap_message_queue_unittest.cc",
    "../renderer/ico_image_decoder_unittest.cc",
    "../renderer/input/input_event_prediction_unittest.cc",
    "../renderer/input/main_thread_event_queue_unittest.cc",
    "../renderer/loader/resource_dispatcher_unittest.cc",
    "../renderer/loader/shared_memory_data_consumer_handle_unittest.cc",
    "../renderer/loader/test_request_peer.cc",
    "../renderer/loader/test_request_peer.h",
    "../renderer/loader/url_loader_client_impl_unittest.cc",
    "../renderer/loader/url_response_body_consumer_unittest.cc",
    "../renderer/loader/web_data_consumer_handle_impl_unittest.cc",
    "../renderer/loader/web_url_loader_impl_unittest.cc",
    "../renderer/low_memory_mode_controller_unittest.cc",
    "../renderer/manifest/manifest_parser_unittest.cc",
    "../renderer/media/audio/audio_output_ipc_factory_unittest.cc",
    "../renderer/media/audio/audio_renderer_mixer_manager_unittest.cc",
    "../renderer/media/audio/audio_renderer_sink_cache_unittest.cc",
    "../renderer/media/audio/mock_audio_device_factory.cc",
    "../renderer/media/audio/mock_audio_device_factory.h",
    "../renderer/media/audio/mojo_audio_input_ipc_unittest.cc",
    "../renderer/media/audio/mojo_audio_output_ipc_unittest.cc",
    "../renderer/media/render_media_log_unittest.cc",
    "../renderer/media/renderer_webaudiodevice_impl_unittest.cc",
    "../renderer/media/stream/media_stream_audio_processor_unittest.cc",
    "../renderer/media/stream/media_stream_audio_unittest.cc",
    "../renderer/media/stream/media_stream_constraints_util_audio_unittest.cc",
    "../renderer/media/stream/media_stream_constraints_util_sets_unittest.cc",
    "../renderer/media/stream/media_stream_constraints_util_unittest.cc",
    "../renderer/media/stream/media_stream_constraints_util_video_content_unittest.cc",
    "../renderer/media/stream/media_stream_constraints_util_video_device_unittest.cc",
    "../renderer/media/stream/media_stream_device_observer_unittest.cc",
    "../renderer/media/stream/media_stream_video_capturer_source_unittest.cc",
    "../renderer/media/stream/media_stream_video_renderer_sink_unittest.cc",
    "../renderer/media/stream/media_stream_video_source_unittest.cc",
    "../renderer/media/stream/media_stream_video_track_unittest.cc",
    "../renderer/media/stream/mock_constraint_factory.cc",
    "../renderer/media/stream/mock_constraint_factory.h",
    "../renderer/media/stream/mock_media_stream_registry.cc",
    "../renderer/media/stream/mock_media_stream_registry.h",
    "../renderer/media/stream/mock_media_stream_video_sink.cc",
    "../renderer/media/stream/mock_media_stream_video_sink.h",
    "../renderer/media/stream/mock_media_stream_video_source.cc",
    "../renderer/media/stream/mock_media_stream_video_source.h",
    "../renderer/media/stream/processed_local_audio_source_unittest.cc",
    "../renderer/media/stream/user_media_client_impl_unittest.cc",
    "../renderer/media/stream/video_track_adapter_unittest.cc",
    "../renderer/media/stream/webmediaplayer_ms_unittest.cc",
    "../renderer/media/video_capture_impl_manager_unittest.cc",
    "../renderer/media/video_capture_impl_unittest.cc",
    "../renderer/media/webrtc/media_stream_remote_video_source_unittest.cc",
    "../renderer/media/webrtc/media_stream_track_metrics_unittest.cc",
    "../renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc",
    "../renderer/media/webrtc/peer_connection_dependency_factory_unittest.cc",
    "../renderer/media/webrtc/peer_connection_tracker_unittest.cc",
    "../renderer/media/webrtc/rtc_data_channel_handler_unittest.cc",
    "../renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc",
    "../renderer/media/webrtc/rtc_rtp_receiver_unittest.cc",
    "../renderer/media/webrtc/rtc_rtp_sender_unittest.cc",
    "../renderer/media/webrtc/rtc_rtp_transceiver_unittest.cc",
    "../renderer/media/webrtc/rtc_stats_unittest.cc",
    "../renderer/media/webrtc/rtc_video_decoder_adapter_unittest.cc",
    "../renderer/media/webrtc/rtc_video_decoder_unittest.cc",
    "../renderer/media/webrtc/rtc_video_encoder_unittest.cc",
    "../renderer/media/webrtc/stun_field_trial_unittest.cc",
    "../renderer/media/webrtc/transceiver_state_surfacer_unittest.cc",
    "../renderer/media/webrtc/two_keys_adapter_map_unittest.cc",
    "../renderer/media/webrtc/webrtc_audio_renderer_unittest.cc",
    "../renderer/media/webrtc/webrtc_media_stream_track_adapter_map_unittest.cc",
    "../renderer/media/webrtc/webrtc_media_stream_track_adapter_unittest.cc",
    "../renderer/media/webrtc/webrtc_set_description_observer_unittest.cc",
    "../renderer/media/webrtc/webrtc_uma_histograms_unittest.cc",
    "../renderer/media/webrtc/webrtc_video_capturer_adapter_unittest.cc",
    "../renderer/media/webrtc_local_audio_source_provider_unittest.cc",
    "../renderer/media_capture_from_element/canvas_capture_handler_unittest.cc",
    "../renderer/media_capture_from_element/html_audio_element_capturer_source_unittest.cc",
    "../renderer/media_capture_from_element/html_video_element_capturer_source_unittest.cc",
    "../renderer/media_recorder/audio_track_recorder_unittest.cc",
    "../renderer/media_recorder/media_recorder_handler_unittest.cc",
    "../renderer/media_recorder/video_track_recorder_unittest.cc",
    "../renderer/notifications/notification_data_conversions_unittest.cc",
    "../renderer/p2p/filtering_network_manager_unittest.cc",
    "../renderer/p2p/ipc_network_manager_unittest.cc",
    "../renderer/peripheral_content_heuristic_unittest.cc",
    "../renderer/queue_message_swap_promise_unittest.cc",
    "../renderer/render_frame_metadata_observer_impl_unittest.cc",
    "../renderer/render_thread_impl_unittest.cc",
    "../renderer/render_widget_unittest.cc",
    "../renderer/service_worker/service_worker_context_client_unittest.cc",
    "../renderer/service_worker/service_worker_provider_context_unittest.cc",
    "../renderer/service_worker/service_worker_subresource_loader_unittest.cc",
    "../renderer/service_worker/service_worker_timeout_timer_unittest.cc",
    "../renderer/skia_benchmarking_extension_unittest.cc",
    "../renderer/v8_value_converter_impl_unittest.cc",
    "../renderer/worker_thread_registry_unittest.cc",
    "../test/renderer_audio_output_stream_factory_context_impl_unittest.cc",
    "image_decoder_test.cc",
    "image_decoder_test.h",
    "navigation_simulator_unittest.cc",
    "proxy_service_mojo_unittest.cc",
    "url_request_context_builder_mojo_unittest.cc",
  ]

  # ChromeOS also defines linux but their memory-monitors conflict.
  if (is_chromeos) {
    sources += [ "../browser/memory/memory_monitor_chromeos_unittest.cc" ]
  } else {
    sources += [ "../browser/memory/memory_monitor_linux_unittest.cc" ]
  }

  if (is_mac) {
    sources += [ "../renderer/sandbox_mac_v2_unittest.mm" ]
  }

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

  if (is_android || is_linux || is_mac || is_win || is_fuchsia) {
    data = [
      "$root_out_dir/content_shell.pak",
      "data/",
      "//media/test/data/",
    ]
  }

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

  deps = [
    ":content_test_mojo_bindings",
    ":run_all_unittests",
    ":test_interfaces",
    ":test_support",
    "//base/allocator:buildflags",
    "//base/test:test_support",
    "//base/third_party/dynamic_annotations",
    "//cc",
    "//cc:test_support",
    "//components/cbor",
    "//components/network_session_configurator/browser",
    "//components/network_session_configurator/common",
    "//components/offline_pages/buildflags",
    "//components/payments/mojom",
    "//components/rappor:test_support",
    "//components/services/leveldb:lib",
    "//components/services/leveldb/public/cpp",
    "//components/ukm:test_support",
    "//components/viz/client",
    "//components/viz/common",
    "//components/viz/host",
    "//components/viz/service",
    "//components/viz/test:test_support",
    "//content:resources",
    "//content/app:both_for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/background_fetch:background_fetch_proto",
    "//content/browser/cache_storage:cache_storage_proto",
    "//content/browser/dom_storage:local_storage_proto",
    "//content/browser/notifications:notification_proto",
    "//content/browser/service_worker:service_worker_proto",
    "//content/browser/speech/proto",
    "//content/child:for_content_tests",
    "//content/gpu",
    "//content/public/browser",
    "//content/public/child",
    "//content/public/common",
    "//content/public/common:service_names",
    "//content/public/renderer",
    "//content/renderer:for_content_tests",
    "//content/renderer/compositor",
    "//crypto",
    "//device/bluetooth",
    "//device/bluetooth:mocks",
    "//device/gamepad",
    "//device/gamepad:test_helpers",
    "//device/gamepad/public/cpp:shared_with_blink",
    "//gin",
    "//gpu",
    "//gpu:test_support",
    "//gpu/ipc/host",
    "//gpu/ipc/service",
    "//ipc:test_support",
    "//jingle:jingle_glue",
    "//media:test_support",
    "//media/blink",
    "//media/capture",
    "//media/midi:midi",
    "//media/midi:mojo",
    "//mojo/core/embedder",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/test_support:test_utils",
    "//net:extras",
    "//net:test_support",
    "//ppapi/buildflags",
    "//ppapi/c",
    "//printing",
    "//services/audio/public/cpp:test_support",
    "//services/audio/public/mojom",
    "//services/device/public/cpp/generic_sensor",
    "//services/device/public/cpp/test:test_support",
    "//services/device/public/mojom",
    "//services/file:lib",
    "//services/file/public/mojom",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/metrics/public/mojom",
    "//services/network:network_service",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
    "//services/proxy_resolver/:lib",
    "//services/service_manager/public/cpp/test:test_support",
    "//services/video_capture/public/cpp:mocks",
    "//services/video_capture/public/mojom",
    "//skia",
    "//sql",
    "//sql:test_support",
    "//storage/browser",
    "//storage/browser:test_support",
    "//storage/common",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/blink/public:blink",
    "//third_party/icu",
    "//third_party/leveldatabase",
    "//third_party/libyuv",
    "//third_party/metrics_proto",
    "//third_party/opus",
    "//third_party/re2",
    "//third_party/sqlite",
    "//third_party/webrtc/api:libjingle_peerconnection_api",
    "//third_party/webrtc/api:rtc_stats_api",
    "//third_party/webrtc/api/video:video_frame",
    "//third_party/webrtc/api/video:video_frame_i420",
    "//third_party/webrtc/api/video_codecs:video_codecs_api",
    "//third_party/webrtc/media:rtc_media",
    "//third_party/webrtc/media:rtc_vp9_profile",
    "//third_party/webrtc/modules/desktop_capture:primitives",
    "//third_party/webrtc/modules/video_capture",
    "//third_party/webrtc/modules/video_coding:video_codec_interface",
    "//third_party/webrtc/pc:libjingle_peerconnection",
    "//third_party/webrtc/rtc_base:rtc_base",
    "//third_party/webrtc/rtc_base:timeutils",
    "//third_party/webrtc/stats:rtc_stats_test_utils",
    "//third_party/webrtc_overrides",
    "//third_party/webrtc_overrides:init_webrtc",
    "//third_party/widevine/cdm:headers",
    "//ui/accessibility",
    "//ui/base:test_support",
    "//ui/base/ime",
    "//ui/compositor:test_support",
    "//ui/display",
    "//ui/display:test_support",
    "//ui/events:gesture_detection",
    "//ui/events:test_support",
    "//ui/events/blink",
    "//ui/gfx:test_support",
    "//ui/gfx/geometry",
    "//ui/gfx/geometry/mojo:struct_traits",
    "//ui/gfx/ipc",
    "//ui/gfx/ipc/skia",
    "//ui/gl",
    "//ui/gl:test_support",
    "//ui/latency:test_support",
    "//ui/shell_dialogs:shell_dialogs",
  ]

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

  if (is_posix) {
    sources += [ "../browser/posix_file_descriptor_info_impl_unittest.cc" ]
  }

  if (enable_plugins) {
    sources += [
      "../browser/plugin_service_impl_unittest.cc",
      "../browser/renderer_host/pepper/browser_ppapi_host_test.cc",
      "../browser/renderer_host/pepper/browser_ppapi_host_test.h",
      "../browser/renderer_host/pepper/pepper_file_system_browser_host_unittest.cc",
      "../browser/renderer_host/pepper/pepper_gamepad_host_unittest.cc",
      "../browser/renderer_host/pepper/pepper_printing_host_unittest.cc",
      "../browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc",
      "../browser/renderer_host/pepper/quota_reservation_unittest.cc",
      "../renderer/pepper/event_conversion_unittest.cc",
      "../renderer/pepper/host_var_tracker_unittest.cc",
      "../renderer/pepper/mock_resource.h",
      "../renderer/pepper/pepper_broker_unittest.cc",
      "../renderer/pepper/plugin_instance_throttler_impl_unittest.cc",
      "../renderer/pepper/v8_var_converter_unittest.cc",
    ]
    deps += [
      "//ppapi/host",
      "//ppapi/proxy:test_support",
      "//ppapi/shared_impl:test_support",
    ]
  }

  if (enable_library_cdms) {
    sources += [
      "../browser/media/cdm_storage_impl_unittest.cc",
      "../browser/media/key_system_support_impl_unittest.cc",
    ]
  }

  if (is_chromecast) {
    sources -= [
      "../renderer/media_recorder/audio_track_recorder_unittest.cc",
      "../renderer/media_recorder/media_recorder_handler_unittest.cc",
      "../renderer/media_recorder/video_track_recorder_unittest.cc",
    ]
  }

  # Screen capture unit tests.
  if (is_linux || is_mac || is_win) {
    defines += [ "ENABLE_SCREEN_CAPTURE=1" ]
    deps += [
      "//media/capture:test_support",
      "//third_party/libyuv",
      "//third_party/webrtc/modules/desktop_capture",
    ]
    sources += [
      "../browser/media/capture/desktop_capture_device_unittest.cc",
      "../browser/media/capture/frame_sink_video_capture_device_unittest.cc",
    ]
    if (is_chromeos) {
      sources += [
        "../browser/media/capture/lame_capture_overlay_chromeos_unittest.cc",
      ]
    }
  }

  if (is_linux) {
    if (use_dbus) {
      deps += [ "//dbus:test_support" ]
    }
  }
  if (is_win) {
    deps += [
      "//third_party/blink/public/common",
      "//third_party/iaccessible2",
    ]
    libs = [
      "dwrite.lib",
      "wtsapi32.lib",
    ]
  }
  if (is_mac) {
    deps += [
      "//sandbox/mac:seatbelt",
      "//third_party/mozilla",
      "//third_party/ocmock",
      "//ui/accelerated_widget_mac",
    ]
    libs = [ "IOSurface.framework" ]
  }
  if (is_chromeos) {
    deps += [ "//chromeos" ]
  }
  if (is_android) {
    sources += [
      "../browser/android/android_overlay_provider_impl_unittest.cc",
      "../browser/android/java/gin_java_method_invocation_helper_unittest.cc",
      "../browser/android/java/java_type_unittest.cc",
      "../browser/android/overscroll_controller_android_unittest.cc",
      "../browser/android/scoped_surface_request_manager_unittest.cc",
      "../browser/android/url_request_content_job_unittest.cc",
      "../browser/font_unique_name_lookup/font_unique_name_lookup_unittest.cc",
      "../browser/media/capture/screen_capture_device_android_unittest.cc",
      "../renderer/java/gin_java_bridge_value_converter_unittest.cc",
      "../renderer/media/android/stream_texture_wrapper_impl_unittest.cc",
    ]
    sources -= [
      "../browser/tracing/tracing_ui_unittest.cc",
      "../browser/webui/url_data_manager_backend_unittest.cc",
    ]

    deps += [
      "//base:base_java_unittest_support",
      "//build/config/freetype",
      "//content/public/android:content_java",
      "//media/capture/content/android",
      "//media/capture/content/android:screen_capture_java",
      "//third_party/blink/public/common",
      "//third_party/blink/public/common:font_unique_name_table_proto",
      "//ui/android:android",
    ]

    if (use_v8_context_snapshot) {
      deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
    } else {
      deps += [ "//v8:v8_external_startup_data_assets" ]
    }

    defines += [ "APPCACHE_USE_SIMPLE_CACHE" ]
  } else {
    # Non-Android.
    sources += [
      "../browser/host_zoom_map_impl_unittest.cc",
      "../browser/speech/chunked_byte_buffer_unittest.cc",
      "../browser/speech/endpointer/endpointer_unittest.cc",
      "../browser/speech/speech_recognition_engine_unittest.cc",
      "../browser/speech/speech_recognizer_impl_unittest.cc",
    ]
    deps += [ "//third_party/libvpx" ]
  }

  # HID support is not available without udev.
  is_linux_without_udev = is_linux && !use_udev
  if (!is_linux_without_udev && !is_android) {
    sources += [ "../browser/webauth/authenticator_impl_unittest.cc" ]
    deps += [
      "//device/base",
      "//device/fido",
      "//device/fido:mocks",
      "//device/fido:test_support",
    ]
  }

  if (use_aura) {
    deps += [
      "//ui/aura:test_support",
      "//ui/aura_extra",
      "//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/aura/overscroll_navigation_overlay_unittest.cc",
      "../browser/web_contents/aura/overscroll_window_animation_unittest.cc",
      "../browser/web_contents/aura/overscroll_window_delegate_unittest.cc",
      "../browser/web_contents/web_contents_view_aura_unittest.cc",
    ]
  }

  if (use_aura || toolkit_views) {
    deps += [ "//ui/events:test_support" ]
  }
  if (!use_aura && !is_mac) {
    sources -= [
      "../browser/compositor/reflector_impl_unittest.cc",
      "../browser/compositor/software_browser_compositor_output_surface_unittest.cc",
    ]
  }

  if (!is_win && !is_mac) {
    sources -= [ "../common/plugin_list_unittest.cc" ]
  }

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

  if (is_mac) {
    deps += [ "//third_party/boringssl" ]
  }

  if (use_x11) {
    deps += [ "//ui/gfx/x" ]
  }
}

if (enable_nocompile_tests) {
  nocompile_test("content_nocompile_tests") {
    sources = [
      "../public/browser/browser_task_traits_unittest.nc",
    ]

    deps = [
      ":run_all_unittests",
      "//base",
      "//content/public/browser",
      "//testing/gtest",
    ]
  }
}

service_manifest("content_unittests_manifest") {
  name = "content_unittests"
  source = "unittests_manifest.json"
  packaged_services = [ "//services/file:manifest" ]
}

catalog("content_unittests_catalog") {
  embedded_services = [ ":content_unittests_manifest" ]
}

catalog_cpp_source("content_unittests_catalog_source") {
  catalog = ":content_unittests_catalog"
  generated_function_name = "content::CreateContentUnittestsCatalog"
}

test("content_perftests") {
  # 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 = [
    "../test/run_all_perftests.cc",
  ]
  deps = [
    "//base/test:test_support",
    "//cc",
    "//content/browser:for_content_tests",
    "//content/public/browser",
    "//content/public/common",
    "//content/test:test_support",
    "//skia",
    "//testing/gtest",
    "//testing/perf",
    "//ui/events/blink",
    "//ui/gfx",
    "//ui/gfx/geometry",

    # For TestMojoProxyResolverFactory. Remove once it moves to the network
    # service.
    "//services/service_manager/public/cpp",
  ]

  if (is_android) {
    deps += [ "//testing/android/native_test:native_test_native_code" ]
  }
}

group("fuzzers") {
  deps = [
    "//content/test/fuzzer",
  ]
}
