# 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/compiler/compiler.gni")
import("//build/config/crypto.gni")
import("//build/config/features.gni")
import("//build/config/ui.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//ppapi/features/features.gni")
import("//testing/test.gni")
import("//third_party/WebKit/public/public_features.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.
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/download/mock_download_file.cc",
    "../browser/download/mock_download_file.h",
    "../browser/service_worker/embedded_worker_test_helper.cc",
    "../browser/service_worker/embedded_worker_test_helper.h",
    "../public/test/async_file_test_helper.cc",
    "../public/test/async_file_test_helper.h",
    "../public/test/background_sync_test_util.cc",
    "../public/test/background_sync_test_util.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/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_speech_recognition_manager.cc",
    "../public/test/fake_speech_recognition_manager.h",
    "../public/test/frame_load_waiter.cc",
    "../public/test/frame_load_waiter.h",
    "../public/test/javascript_test_observer.cc",
    "../public/test/javascript_test_observer.h",
    "../public/test/memory_coordinator_test_utils.cc",
    "../public/test/memory_coordinator_test_utils.h",
    "../public/test/mock_blob_url_request_context.cc",
    "../public/test/mock_blob_url_request_context.h",
    "../public/test/mock_download_item.cc",
    "../public/test/mock_download_item.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_render_process_host.cc",
    "../public/test/mock_render_process_host.h",
    "../public/test/mock_render_thread.cc",
    "../public/test/mock_render_thread.h",
    "../public/test/mock_resource_context.cc",
    "../public/test/mock_resource_context.h",
    "../public/test/mock_special_storage_policy.cc",
    "../public/test/mock_special_storage_policy.h",
    "../public/test/mock_storage_client.cc",
    "../public/test/mock_storage_client.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/sandbox_file_system_test_helper.cc",
    "../public/test/sandbox_file_system_test_helper.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_request_handler.cc",
    "../public/test/test_download_request_handler.h",
    "../public/test/test_file_error_injector.cc",
    "../public/test/test_file_error_injector.h",
    "../public/test/test_file_system_backend.cc",
    "../public/test/test_file_system_backend.h",
    "../public/test/test_file_system_context.cc",
    "../public/test/test_file_system_context.h",
    "../public/test/test_file_system_options.cc",
    "../public/test/test_file_system_options.h",
    "../public/test/test_frame_navigation_observer.cc",
    "../public/test/test_frame_navigation_observer.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_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_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/text_input_test_utils.cc",
    "../public/test/text_input_test_utils.h",
    "../public/test/text_input_test_utils_mac.mm",
    "../public/test/unittest_test_suite.cc",
    "../public/test/unittest_test_suite.h",
    "../public/test/web_contents_tester.cc",
    "../public/test/web_contents_tester.h",
    "accessibility_browser_test_utils.cc",
    "accessibility_browser_test_utils.h",
    "appcache_test_helper.cc",
    "appcache_test_helper.h",
    "blink_test_environment.cc",
    "blink_test_environment.h",
    "content_browser_sanity_checker.cc",
    "content_browser_sanity_checker.h",
    "content_test_suite.cc",
    "content_test_suite.h",
    "dwrite_font_fake_sender_win.cc",
    "dwrite_font_fake_sender_win.h",
    "fake_compositor_dependencies.cc",
    "fake_compositor_dependencies.h",
    "fake_plugin_service.cc",
    "fake_plugin_service.h",
    "mock_background_sync_controller.cc",
    "mock_background_sync_controller.h",
    "mock_google_streaming_server.cc",
    "mock_google_streaming_server.h",
    "mock_gpu_channel_establish_factory.cc",
    "mock_gpu_channel_establish_factory.h",
    "mock_keyboard.cc",
    "mock_keyboard.h",
    "mock_keyboard_driver_win.cc",
    "mock_keyboard_driver_win.h",
    "mock_permission_manager.cc",
    "mock_permission_manager.h",
    "mock_render_process.cc",
    "mock_render_process.h",
    "mock_ssl_host_state_delegate.cc",
    "mock_ssl_host_state_delegate.h",
    "mock_webassociatedurlloader.cc",
    "mock_webassociatedurlloader.h",
    "mock_webblob_registry_impl.cc",
    "mock_webblob_registry_impl.h",
    "mock_webclipboard_impl.cc",
    "mock_webclipboard_impl.h",
    "net/url_request_abort_on_end_job.cc",
    "net/url_request_abort_on_end_job.h",
    "ppapi_unittest.cc",
    "ppapi_unittest.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_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_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_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",
  ]

  public_deps = [
    "//content/public/app:both",
    "//content/public/browser",
    "//content/public/common",
    "//third_party/WebKit/public:blink",
    "//third_party/WebKit/public:test_support",
  ]
  deps = [
    ":content_test_mojo_bindings",
    "//base/third_party/dynamic_annotations",
    "//cc:test_support",
    "//cc/blink",
    "//cc/ipc",
    "//cc/surfaces",
    "//components/display_compositor",
    "//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/renderer",
    "//content/public/utility",
    "//content/renderer:for_content_tests",
    "//content/utility:for_content_tests",
    "//device/base/synchronization",
    "//device/geolocation",
    "//device/nfc:mojo_bindings",
    "//ipc:test_support",
    "//media",
    "//media/capture",
    "//media/mojo/interfaces:image_capture",
    "//mojo/edk/system",
    "//mojo/edk/test:test_support",
    "//net:test_support",
    "//services/service_manager/public/cpp",
    "//skia",
    "//storage/browser",
    "//storage/common",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/accessibility:ax_gen",
    "//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/gfx:test_support",
    "//ui/gl",
    "//ui/gl:test_support",
    "//ui/resources",
    "//ui/surface",
    "//url",
    "//url/mojo:url_mojom_gurl",
    "//v8",
  ]

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

  if (is_android) {
    sources -= [
      "mock_google_streaming_server.cc",
      "mock_google_streaming_server.h",
    ]
  }

  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 (enable_webrtc) {
    sources += [
      "../renderer/media/mock_data_channel_impl.cc",
      "../renderer/media/mock_data_channel_impl.h",
      "../renderer/media/mock_media_stream_dispatcher.cc",
      "../renderer/media/mock_media_stream_dispatcher.h",
      "../renderer/media/mock_peer_connection_impl.cc",
      "../renderer/media/mock_peer_connection_impl.h",
      "../renderer/media/mock_web_rtc_peer_connection_handler_client.cc",
      "../renderer/media/mock_web_rtc_peer_connection_handler_client.h",
      "../renderer/media/webrtc/mock_peer_connection_dependency_factory.cc",
      "../renderer/media/webrtc/mock_peer_connection_dependency_factory.h",
    ]

    deps += [
      "//third_party/libjingle/webrtc:libjingle_webrtc",
      "//third_party/webrtc/api:libjingle_peerconnection",
      "//third_party/webrtc/api:rtc_stats_api",
      "//third_party/webrtc/base:rtc_base",
      "//third_party/webrtc/media:rtc_media",
      "//third_party/webrtc/modules/video_capture",
      "//third_party/webrtc/stats:rtc_stats",
    ]
  }

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

  if (use_aura) {
    deps += [
      "//ui/aura:test_support",
      "//ui/resources:ui_test_pak",
      "//ui/wm",
    ]
  }

  if (use_aura || is_mac) {
    deps += [
      "//third_party/libvpx",
      "//ui/compositor",
    ]

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

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

  if (is_win) {
    deps += [
      "//content:sandbox_helper_win",
      "//third_party/iaccessible2",
    ]
  }

  if (is_android) {
    deps += [
      "//device/geolocation:geolocation_java",
      "//media/capture/video/android:android",
      "//ui/android",
      "//ui/shell_dialogs",
    ]
  }

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

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

  if (is_mac) {
    deps += [ "//ui/accelerated_widget_mac" ]
  }
}

# browsertest_support can be used by targets that run content_shell based
# browser tests.
static_library("browsertest_support") {
  testonly = true

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

  sources = [
    "../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",
    "content_browser_test_utils_internal.cc",
    "content_browser_test_utils_internal.h",
    "content_test_launcher.cc",
  ]

  deps = [
    ":layouttest_support",
    ":test_support",
    "//base",
    "//base:i18n",
    "//base/test:test_config",
    "//base/test:test_support",
    "//cc/surfaces",
    "//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_gen",
    "//ui/base",
    "//ui/base/ime",
  ]

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

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

mojom("content_test_mojo_bindings") {
  sources = [
    "../public/test/test_service.mojom",
    "test_browser_associated_interfaces.mojom",
  ]
}

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

static_library("layouttest_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/layouttest_support.h",
    "../public/test/nested_message_pump_android.cc",
    "../public/test/nested_message_pump_android.h",
    "layouttest_support.cc",
  ]

  deps = [
    ":test_support",
    "//cc",
    "//cc/blink",
    "//components/test_runner:test_runner",
    "//content/browser:for_content_tests",
    "//content/child:for_content_tests",
    "//content/public/common",
    "//content/renderer:for_content_tests",
    "//device/bluetooth",
    "//skia",
    "//ui/accessibility:ax_gen",
    "//ui/events/blink",
    "//v8",
  ]

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

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",
      "//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_event_recorder.cc",
    "../browser/accessibility/accessibility_event_recorder.h",
    "../browser/accessibility/accessibility_event_recorder_mac.mm",
    "../browser/accessibility/accessibility_event_recorder_win.cc",
    "../browser/accessibility/accessibility_ipc_error_browsertest.cc",
    "../browser/accessibility/accessibility_mode_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/hit_testing_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/background_sync/background_sync_browsertest.cc",
    "../browser/battery_status/battery_monitor_impl_browsertest.cc",
    "../browser/battery_status/battery_monitor_integration_browsertest.cc",
    "../browser/blob_storage/blob_url_browsertest.cc",
    "../browser/bookmarklet_browsertest.cc",
    "../browser/browser_side_navigation_browsertest.cc",
    "../browser/browsing_data/clear_site_data_throttle_browsertest.cc",
    "../browser/child_process_launcher_browsertest.cc",
    "../browser/child_process_security_policy_browsertest.cc",
    "../browser/compositor/image_transport_factory_browsertest.cc",
    "../browser/cross_site_transfer_browsertest.cc",
    "../browser/database_browsertest.cc",
    "../browser/device_sensors/device_sensor_browsertest.cc",
    "../browser/devtools/protocol/devtools_protocol_browsertest.cc",
    "../browser/devtools/site_per_process_devtools_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",
    "../browser/fileapi/fileapi_browsertest.cc",
    "../browser/find_request_manager_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/render_widget_host_view_child_frame_browsertest.cc",
    "../browser/generic_sensor_browsertest.cc",
    "../browser/gpu/gpu_ipc_browsertests.cc",
    "../browser/host_zoom_map_impl_browsertest.cc",
    "../browser/iframe_zoom_browsertest.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/loader/async_resource_handler_browsertest.cc",
    "../browser/loader/async_revalidation_manager_browsertest.cc",
    "../browser/loader/cross_site_resource_handler_browsertest.cc",
    "../browser/loader/reload_cache_control_browsertest.cc",
    "../browser/loader/resource_dispatcher_host_browsertest.cc",
    "../browser/manifest/manifest_browsertest.cc",
    "../browser/media/encrypted_media_browsertest.cc",
    "../browser/media/media_browsertest.cc",
    "../browser/media/media_browsertest.h",
    "../browser/media/media_canplaytype_browsertest.cc",
    "../browser/media/media_color_browsertest.cc",
    "../browser/media/media_redirect_browsertest.cc",
    "../browser/media/media_source_browsertest.cc",
    "../browser/media/midi_browsertest.cc",
    "../browser/media/session/audio_focus_delegate_default_browsertest.cc",
    "../browser/media/session/media_session_impl_browsertest.cc",
    "../browser/media/session/media_session_impl_visibility_browsertest.cc",
    "../browser/media/session/mock_media_session_player_observer.cc",
    "../browser/media/session/mock_media_session_player_observer.h",
    "../browser/memory/memory_coordinator_browsertest.cc",
    "../browser/memory/memory_pressure_controller_impl_browsertest.cc",
    "../browser/message_port_provider_browsertest.cc",
    "../browser/mojo_sandbox_browsertest.cc",
    "../browser/net_info_browsertest.cc",
    "../browser/presentation/presentation_browsertest.cc",
    "../browser/renderer_host/input/composited_scrolling_browsertest.cc",
    "../browser/renderer_host/input/main_thread_event_queue_browsertest.cc",
    "../browser/renderer_host/input/non_blocking_event_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/render_process_host_browsertest.cc",
    "../browser/renderer_host/render_view_host_browsertest.cc",
    "../browser/renderer_host/render_widget_host_view_browsertest.cc",
    "../browser/resource_loading_browsertest.cc",
    "../browser/screen_orientation/screen_orientation_browsertest.cc",
    "../browser/security_exploit_browsertest.cc",
    "../browser/service_worker/service_worker_browsertest.cc",
    "../browser/session_history_browsertest.cc",
    "../browser/shapedetection/shapedetection_browsertest.cc",
    "../browser/shared_worker/worker_browsertest.cc",
    "../browser/site_per_process_browsertest.cc",
    "../browser/site_per_process_browsertest.h",
    "../browser/site_per_process_mac_browsertest.mm",
    "../browser/top_document_isolation_browsertest.cc",
    "../browser/tracing/background_tracing_manager_browsertest.cc",
    "../browser/tracing/memory_tracing_browsertest.cc",
    "../browser/tracing/tracing_controller_browsertest.cc",
    "../browser/utility_process_host_impl_browsertest.cc",
    "../browser/utility_process_mojo_client_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/webkit_browsertest.cc",
    "../browser/webui/web_ui_mojo_browsertest.cc",
    "../child/site_isolation_stats_gatherer_browsertest.cc",
    "../renderer/accessibility/render_accessibility_impl_browsertest.cc",
    "../renderer/gin_browsertest.cc",
    "../renderer/history_controller_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/webui_resource_browsertest.cc",
  ]

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

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

  deps = [
    ":browsertest_support",
    ":content_test_mojo_bindings",
    ":layouttest_support",
    ":test_support",
    ":web_ui_test_mojo_bindings",
    "//base/test:test_support",
    "//components/discardable_memory/client",
    "//components/discardable_memory/common",
    "//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/renderer",
    "//content/renderer:for_content_tests",
    "//content/shell:content_shell_lib",
    "//content/test:test_support",
    "//device/base/synchronization",
    "//device/battery",
    "//device/battery:mojo_bindings",
    "//device/generic_sensor",
    "//device/power_save_blocker",
    "//device/sensors/public/cpp",
    "//device/vibration:mojo_bindings",
    "//device/wake_lock",
    "//gin",
    "//gpu",
    "//ipc:mojom",
    "//ipc:test_support",
    "//media",
    "//media:test_support",
    "//media/audio:test_support",
    "//media/base:test_support",
    "//mojo/edk/system",
    "//mojo/edk/test:test_support",
    "//mojo/public/cpp/bindings",
    "//mojo/public/js",
    "//net:test_support",
    "//ppapi/features",
    "//services/service_manager/public/cpp",
    "//storage/browser",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/WebKit/public:blink",
    "//third_party/leveldatabase",
    "//third_party/mesa:osmesa",
    "//third_party/zlib",
    "//ui/accessibility",
    "//ui/accessibility:ax_gen",
    "//ui/base:test_support",
    "//ui/base/ime",
    "//ui/compositor",
    "//ui/display",
    "//ui/events:test_support",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gl",
    "//ui/gl:test_support",
    "//ui/native_theme",
    "//ui/resources",
    "//ui/shell_dialogs",
    "//ui/snapshot",
  ]

  data = []

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

  if (enable_plugins) {
    deps += [
      "//ppapi/host",
      "//ppapi/proxy",
      "//ppapi/proxy:ipc",
      "//ppapi/shared_impl:test_support",
    ]
    data_deps += [ "//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) {
    data += [
      "//net/tools/testserver/",
      "//ppapi/tests/test_case.html",
      "//ppapi/tests/test_page.css",
      "//third_party/pyftpdlib/",
      "//third_party/pywebsocket/",
      "//third_party/tlslite/",
    ]
  }

  if (is_win || is_linux || is_android) {
  }

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

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

    libs = [ "oleacc.lib" ]

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

  if (is_linux) {
    sources += [ "../zygote/zygote_browsertest.cc" ]
  }

  if (is_android) {
    sources += [
      "../browser/accessibility/android_granularity_movement_browsertest.cc",
      "../browser/media/session/audio_focus_delegate_android_browsertest.cc",
      "../shell/android/browsertests_apk/content_browser_tests_jni_onload.cc",
    ]
    sources -= [
      "../browser/battery_status/battery_monitor_impl_browsertest.cc",
      "../browser/media/session/audio_focus_delegate_default_browsertest.cc",
    ]
    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",
    ]
    deps -= [ "//device/battery" ]
    android_manifest =
        "${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml"
    android_manifest_dep = ":content_browsertests_manifest"
    use_default_launcher = false
  }

  if (is_mac) {
    sources += [ "../renderer/external_popup_menu_browsertest.cc" ]
    deps += [ "//content/shell:content_shell" ]
    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 && !is_mac) {
    sources -=
        [ "../browser/compositor/image_transport_factory_browsertest.cc" ]
  }

  if (enable_webrtc) {
    sources += [
      "../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_webcam_browsertest.cc",
      "../browser/webrtc/webrtc_webcam_browsertest.h",
    ]
    deps += [ "//testing/perf" ]
  }

  if (enable_plugins) {
    sources += [
      "../renderer/pepper/fake_pepper_plugin_instance.cc",
      "../renderer/pepper/mock_renderer_ppapi_host.cc",
      "../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 (enable_web_speech) {
    sources += [ "../browser/speech/speech_recognition_browsertest.cc" ]
  }

  if (!is_chrome_branded) {
    # These tests depend on single process mode, which is disabled
    # in official builds.
    sources += [
      "../child/child_thread_impl_browsertest.cc",
      "../renderer/browser_render_view_browsertest.cc",
      "../renderer/dom_serializer_browsertest.cc",
      "../renderer/resource_fetcher_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/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",
    ]
  }
}

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
  }

  defines = []
  sources = [
    "../browser/accessibility/accessibility_mode_helper_unittest.cc",
    "../browser/accessibility/browser_accessibility_mac_unittest.mm",
    "../browser/accessibility/browser_accessibility_manager_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_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_data_builder_unittest.cc",
    "../browser/blob_storage/blob_dispatcher_host_unittest.cc",
    "../browser/blob_storage/blob_flattener_unittest.cc",
    "../browser/blob_storage/blob_memory_controller_unittest.cc",
    "../browser/blob_storage/blob_reader_unittest.cc",
    "../browser/blob_storage/blob_slice_unittest.cc",
    "../browser/blob_storage/blob_storage_context_unittest.cc",
    "../browser/blob_storage/blob_storage_registry_unittest.cc",
    "../browser/blob_storage/blob_transport_host_unittest.cc",
    "../browser/blob_storage/blob_transport_request_builder_unittest.cc",
    "../browser/blob_storage/blob_url_request_job_unittest.cc",
    "../browser/bluetooth/bluetooth_allowed_devices_map_unittest.cc",
    "../browser/bluetooth/bluetooth_blacklist_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_thread_unittest.cc",
    "../browser/browser_url_handler_impl_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_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/compositor/reflector_impl_unittest.cc",
    "../browser/compositor/software_browser_compositor_output_surface_unittest.cc",
    "../browser/compositor/software_output_device_ozone_unittest.cc",
    "../browser/database_quota_client_unittest.cc",
    "../browser/database_tracker_unittest.cc",
    "../browser/database_util_unittest.cc",
    "../browser/databases_table_unittest.cc",
    "../browser/device_sensors/data_fetcher_shared_memory_base_unittest.cc",
    "../browser/device_sensors/sensor_manager_android_unittest.cc",
    "../browser/device_sensors/sensor_manager_chromeos_unittest.cc",
    "../browser/devtools/devtools_http_handler_unittest.cc",
    "../browser/devtools/devtools_manager_unittest.cc",
    "../browser/devtools/protocol/tracing_handler_unittest.cc",
    "../browser/devtools/shared_worker_devtools_manager_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/session_storage_database_unittest.cc",
    "../browser/download/base_file_unittest.cc",
    "../browser/download/base_file_win_unittest.cc",
    "../browser/download/download_file_unittest.cc",
    "../browser/download/download_item_impl_unittest.cc",
    "../browser/download/download_manager_impl_unittest.cc",
    "../browser/download/quarantine_linux_unittest.cc",
    "../browser/download/quarantine_mac_unittest.mm",
    "../browser/download/quarantine_win_unittest.cc",
    "../browser/download/rate_estimator_unittest.cc",
    "../browser/download/save_package_unittest.cc",
    "../browser/fileapi/copy_or_move_file_validator_unittest.cc",
    "../browser/fileapi/copy_or_move_operation_delegate_unittest.cc",
    "../browser/fileapi/dragged_file_util_unittest.cc",
    "../browser/fileapi/external_mount_points_unittest.cc",
    "../browser/fileapi/file_system_context_unittest.cc",
    "../browser/fileapi/file_system_dir_url_request_job_unittest.cc",
    "../browser/fileapi/file_system_file_stream_reader_unittest.cc",
    "../browser/fileapi/file_system_operation_impl_unittest.cc",
    "../browser/fileapi/file_system_operation_impl_write_unittest.cc",
    "../browser/fileapi/file_system_operation_runner_unittest.cc",
    "../browser/fileapi/file_system_quota_client_unittest.cc",
    "../browser/fileapi/file_system_url_request_job_unittest.cc",
    "../browser/fileapi/file_system_url_unittest.cc",
    "../browser/fileapi/file_system_usage_cache_unittest.cc",
    "../browser/fileapi/file_writer_delegate_unittest.cc",
    "../browser/fileapi/fileapi_message_filter_unittest.cc",
    "../browser/fileapi/isolated_context_unittest.cc",
    "../browser/fileapi/local_file_stream_reader_unittest.cc",
    "../browser/fileapi/local_file_stream_writer_unittest.cc",
    "../browser/fileapi/local_file_util_unittest.cc",
    "../browser/fileapi/mock_file_change_observer.cc",
    "../browser/fileapi/mock_file_change_observer.h",
    "../browser/fileapi/mock_file_update_observer.cc",
    "../browser/fileapi/mock_file_update_observer.h",
    "../browser/fileapi/mock_url_request_delegate.cc",
    "../browser/fileapi/mock_url_request_delegate.h",
    "../browser/fileapi/native_file_util_unittest.cc",
    "../browser/fileapi/obfuscated_file_util_unittest.cc",
    "../browser/fileapi/plugin_private_file_system_backend_unittest.cc",
    "../browser/fileapi/recursive_operation_delegate_unittest.cc",
    "../browser/fileapi/sandbox_database_test_helper.cc",
    "../browser/fileapi/sandbox_database_test_helper.h",
    "../browser/fileapi/sandbox_directory_database_unittest.cc",
    "../browser/fileapi/sandbox_file_system_backend_delegate_unittest.cc",
    "../browser/fileapi/sandbox_file_system_backend_unittest.cc",
    "../browser/fileapi/sandbox_isolated_origin_database_unittest.cc",
    "../browser/fileapi/sandbox_origin_database_unittest.cc",
    "../browser/fileapi/sandbox_prioritized_origin_database_unittest.cc",
    "../browser/fileapi/timed_task_helper_unittest.cc",
    "../browser/fileapi/transient_file_util_unittest.cc",
    "../browser/fileapi/upload_file_system_file_element_reader_unittest.cc",
    "../browser/frame_host/frame_tree_node_blame_context_unittest.cc",
    "../browser/frame_host/frame_tree_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/render_frame_host_manager_unittest.cc",
    "../browser/frame_host/render_widget_host_view_child_frame_unittest.cc",
    "../browser/frame_host/render_widget_host_view_guest_unittest.cc",
    "../browser/gamepad/gamepad_service_test_helpers.cc",
    "../browser/gamepad/gamepad_service_test_helpers.h",
    "../browser/gamepad/gamepad_service_unittest.cc",
    "../browser/gpu/gpu_data_manager_impl_private_unittest.cc",
    "../browser/gpu/shader_disk_cache_unittest.cc",
    "../browser/host_zoom_map_impl_unittest.cc",
    "../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_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_quota_client_unittest.cc",
    "../browser/indexed_db/indexed_db_transaction_unittest.cc",
    "../browser/indexed_db/indexed_db_unittest.cc",
    "../browser/indexed_db/leveldb/leveldb_unittest.cc",
    "../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/loader/async_resource_handler_unittest.cc",
    "../browser/loader/async_revalidation_driver_unittest.cc",
    "../browser/loader/async_revalidation_manager_unittest.cc",
    "../browser/loader/intercepting_resource_handler_unittest.cc",
    "../browser/loader/mime_sniffing_resource_handler_unittest.cc",
    "../browser/loader/mojo_async_resource_handler_unittest.cc",
    "../browser/loader/navigation_url_loader_unittest.cc",
    "../browser/loader/resource_buffer_unittest.cc",
    "../browser/loader/resource_dispatcher_host_unittest.cc",
    "../browser/loader/resource_loader_unittest.cc",
    "../browser/loader/resource_scheduler_unittest.cc",
    "../browser/loader/temporary_file_stream_unittest.cc",
    "../browser/loader/test_resource_handler.cc",
    "../browser/loader/test_resource_handler.h",
    "../browser/loader/test_url_loader_client.cc",
    "../browser/loader/test_url_loader_client.h",
    "../browser/loader/upload_data_stream_builder_unittest.cc",
    "../browser/loader/url_loader_factory_impl_unittest.cc",
    "../browser/mach_broker_mac_unittest.cc",
    "../browser/media/audible_metrics_unittest.cc",
    "../browser/media/audio_stream_monitor_unittest.cc",
    "../browser/media/capture/audio_mirroring_manager_unittest.cc",
    "../browser/media/capture/cursor_renderer_aura_unittest.cc",
    "../browser/media/capture/web_contents_audio_input_stream_unittest.cc",
    "../browser/media/capture/web_contents_video_capture_device_unittest.cc",
    "../browser/media/cdm_service_impl_unittest.cc",
    "../browser/media/media_internals_unittest.cc",
    "../browser/media/midi_host_unittest.cc",
    "../browser/media/session/audio_focus_manager_unittest.cc",
    "../browser/media/session/media_session_controller_unittest.cc",
    "../browser/media/session/media_session_uma_helper_unittest.cc",
    "../browser/memory/memory_coordinator_impl_unittest.cc",
    "../browser/memory/memory_coordinator_unittest.cc",
    "../browser/memory/memory_monitor_android_unittest.cc",
    "../browser/memory/memory_monitor_win_unittest.cc",
    "../browser/memory/test_memory_monitor.cc",
    "../browser/memory/test_memory_monitor.h",
    "../browser/net/quota_policy_cookie_store_unittest.cc",
    "../browser/notification_service_impl_unittest.cc",
    "../browser/notifications/notification_database_data_unittest.cc",
    "../browser/notifications/notification_database_unittest.cc",
    "../browser/notifications/notification_id_generator_unittest.cc",
    "../browser/notifications/platform_notification_context_unittest.cc",
    "../browser/notifications/type_converters_unittest.cc",
    "../browser/payments/payment_app_manager_unittest.cc",
    "../browser/presentation/presentation_service_impl_unittest.cc",
    "../browser/presentation/presentation_type_converters_unittest.cc",
    "../browser/quota/mock_quota_manager.cc",
    "../browser/quota/mock_quota_manager.h",
    "../browser/quota/mock_quota_manager_proxy.cc",
    "../browser/quota/mock_quota_manager_proxy.h",
    "../browser/quota/mock_quota_manager_unittest.cc",
    "../browser/quota/quota_backend_impl_unittest.cc",
    "../browser/quota/quota_database_unittest.cc",
    "../browser/quota/quota_manager_unittest.cc",
    "../browser/quota/quota_reservation_manager_unittest.cc",
    "../browser/quota/quota_temporary_storage_evictor_unittest.cc",
    "../browser/quota/storage_monitor_unittest.cc",
    "../browser/quota/usage_tracker_unittest.cc",
    "../browser/renderer_host/clipboard_message_filter_unittest.cc",
    "../browser/renderer_host/dwrite_font_proxy_message_filter_win_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_ack_handler.cc",
    "../browser/renderer_host/input/mock_input_ack_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/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/touch_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_debug_writer_unittest.cc",
    "../browser/renderer_host/media/audio_input_device_manager_unittest.cc",
    "../browser/renderer_host/media/audio_input_sync_writer_unittest.cc",
    "../browser/renderer_host/media/audio_output_authorization_handler_unittest.cc",
    "../browser/renderer_host/media/audio_renderer_host_unittest.cc",
    "../browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc",
    "../browser/renderer_host/media/media_devices_manager_unittest.cc",
    "../browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc",
    "../browser/renderer_host/media/media_stream_manager_unittest.cc",
    "../browser/renderer_host/media/media_stream_ui_proxy_unittest.cc",
    "../browser/renderer_host/media/video_capture_buffer_pool_unittest.cc",
    "../browser/renderer_host/media/video_capture_controller_unittest.cc",
    "../browser/renderer_host/media/video_capture_device_client_unittest.cc",
    "../browser/renderer_host/media/video_capture_manager_unittest.cc",
    "../browser/renderer_host/media/video_capture_unittest.cc",
    "../browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc",
    "../browser/renderer_host/render_process_host_unittest.cc",
    "../browser/renderer_host/render_view_host_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_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/resolve_proxy_msg_helper_unittest.cc",
    "../browser/service_manager/merge_dictionary_unittest.cc",
    "../browser/service_worker/embedded_worker_instance_unittest.cc",
    "../browser/service_worker/foreign_fetch_request_handler_unittest.cc",
    "../browser/service_worker/link_header_support_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_controllee_request_handler_unittest.cc",
    "../browser/service_worker/service_worker_database_unittest.cc",
    "../browser/service_worker/service_worker_dispatcher_host_unittest.cc",
    "../browser/service_worker/service_worker_handle_unittest.cc",
    "../browser/service_worker/service_worker_job_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_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/shared_worker/shared_worker_instance_unittest.cc",
    "../browser/shared_worker/shared_worker_service_impl_unittest.cc",
    "../browser/site_instance_impl_unittest.cc",
    "../browser/ssl/ssl_manager_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_tracing_config_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/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",
    "../child/blink_platform_impl_unittest.cc",
    "../child/blob_storage/blob_consolidation_unittest.cc",
    "../child/blob_storage/blob_transport_controller_unittest.cc",
    "../child/dwrite_font_proxy/dwrite_font_proxy_win_unittest.cc",
    "../child/dwrite_font_proxy/font_fallback_win_unittest.cc",
    "../child/fileapi/webfilewriter_base_unittest.cc",
    "../child/font_warmup_win_unittest.cc",
    "../child/indexed_db/mock_webidbcallbacks.cc",
    "../child/indexed_db/mock_webidbcallbacks.h",
    "../child/indexed_db/webidbcursor_impl_unittest.cc",
    "../child/indexed_db/webidbdatabase_impl_unittest.cc",
    "../child/memory/child_memory_coordinator_impl_unittest.cc",
    "../child/notifications/notification_data_conversions_unittest.cc",
    "../child/resource_dispatcher_unittest.cc",
    "../child/service_worker/service_worker_dispatcher_unittest.cc",
    "../child/shared_memory_data_consumer_handle_unittest.cc",
    "../child/shared_memory_received_data_factory_unittest.cc",
    "../child/site_isolation_stats_gatherer_unittest.cc",
    "../child/url_response_body_consumer_unittest.cc",
    "../child/v8_value_converter_impl_unittest.cc",
    "../child/web_data_consumer_handle_impl_unittest.cc",
    "../child/web_url_loader_impl_unittest.cc",
    "../child/worker_thread_registry_unittest.cc",
    "../common/android/address_parser_unittest.cc",
    "../common/android/gin_java_bridge_value_unittest.cc",
    "../common/bluetooth/web_bluetooth_device_id_unittest.cc",
    "../common/common_param_traits_unittest.cc",
    "../common/cross_site_document_classifier_unittest.cc",
    "../common/cursors/webcursor_unittest.cc",
    "../common/database_connections_unittest.cc",
    "../common/database_identifier_unittest.cc",
    "../common/dom_storage/dom_storage_map_unittest.cc",
    "../common/fileapi/file_system_util_unittest.cc",
    "../common/host_shared_bitmap_manager_unittest.cc",
    "../common/indexed_db/indexed_db_key_unittest.cc",
    "../common/input/event_with_latency_info_unittest.cc",
    "../common/input/gesture_event_stream_validator_unittest.cc",
    "../common/input/input_param_traits_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/mac/font_descriptor_unittest.mm",
    "../common/manifest_util_unittest.cc",
    "../common/navigation_params_unittest.cc",
    "../common/origin_trials/trial_token_unittest.cc",
    "../common/origin_trials/trial_token_validator_unittest.cc",
    "../common/origin_util_unittest.cc",
    "../common/page_state_serialization_unittest.cc",
    "../common/page_zoom_unittest.cc",
    "../common/plugin_list_unittest.cc",
    "../common/sandbox_mac_compiler_unittest.mm",
    "../common/sandbox_mac_diraccess_unittest.mm",
    "../common/sandbox_mac_fontloading_unittest.mm",
    "../common/sandbox_mac_system_access_unittest.mm",
    "../common/sandbox_mac_unittest_helper.h",
    "../common/sandbox_mac_unittest_helper.mm",
    "../common/service_worker/service_worker_utils_unittest.cc",
    "../common/webplugininfo_unittest.cc",
    "../renderer/android/disambiguation_popup_helper_unittest.cc",
    "../renderer/android/email_detector_unittest.cc",
    "../renderer/android/phone_number_detector_unittest.cc",
    "../renderer/bmp_image_decoder_unittest.cc",
    "../renderer/categorized_worker_pool_unittest.cc",
    "../renderer/device_sensors/device_light_event_pump_unittest.cc",
    "../renderer/device_sensors/device_motion_event_pump_unittest.cc",
    "../renderer/device_sensors/device_orientation_event_pump_unittest.cc",
    "../renderer/dom_storage/dom_storage_cached_area_unittest.cc",
    "../renderer/gpu/compositor_forwarding_message_filter_unittest.cc",
    "../renderer/gpu/frame_swap_message_queue_unittest.cc",
    "../renderer/gpu/queue_message_swap_promise_unittest.cc",
    "../renderer/gpu/render_widget_compositor_unittest.cc",
    "../renderer/ico_image_decoder_unittest.cc",
    "../renderer/input/input_event_filter_unittest.cc",
    "../renderer/input/main_thread_event_queue_unittest.cc",
    "../renderer/manifest/manifest_parser_unittest.cc",
    "../renderer/media/android/media_info_loader_unittest.cc",
    "../renderer/media/audio_message_filter_unittest.cc",
    "../renderer/media/audio_renderer_mixer_manager_unittest.cc",
    "../renderer/media/audio_renderer_sink_cache_unittest.cc",
    "../renderer/media/mock_audio_device_factory.cc",
    "../renderer/media/mock_audio_device_factory.h",
    "../renderer/media/render_media_client_unittest.cc",
    "../renderer/media/render_media_log_unittest.cc",
    "../renderer/media/video_capture_impl_manager_unittest.cc",
    "../renderer/media/video_capture_impl_unittest.cc",
    "../renderer/media/webmediaplayer_ms_unittest.cc",
    "../renderer/peripheral_content_heuristic_unittest.cc",
    "../renderer/render_thread_impl_unittest.cc",
    "../renderer/render_widget_unittest.cc",
    "../renderer/scheduler/resource_dispatch_throttler_unittest.cc",
    "../renderer/screen_orientation/screen_orientation_dispatcher_unittest.cc",
    "../renderer/skia_benchmarking_extension_unittest.cc",
    "fileapi_test_file_set.cc",
    "fileapi_test_file_set.h",
    "image_decoder_test.cc",
    "image_decoder_test.h",
    "run_all_unittests.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_android || is_linux || is_mac || is_win) {
    data = [
      "$root_out_dir/content_shell.pak",
      "data/",
      "//media/test/data/",
    ]
  }

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

  deps = [
    ":content_test_mojo_bindings",
    ":test_support",
    "//base/test:test_support",
    "//base/third_party/dynamic_annotations",
    "//cc",
    "//cc:test_support",
    "//cc/ipc",
    "//cc/surfaces",
    "//components/display_compositor",
    "//components/payments:payment_app",
    "//content:resources",
    "//content/app:both_for_content_tests",
    "//content/browser:for_content_tests",
    "//content/browser/cache_storage:cache_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/renderer",
    "//content/renderer:for_content_tests",
    "//crypto",
    "//device/battery",
    "//device/battery:mojo_bindings",
    "//device/bluetooth",
    "//device/bluetooth:mocks",
    "//device/gamepad",
    "//device/gamepad:test_helpers",
    "//device/sensors/public/cpp",
    "//device/sensors/public/interfaces",
    "//gin",
    "//gpu",
    "//gpu:test_support",
    "//ipc:test_support",
    "//media:shared_memory_support",
    "//media:test_support",
    "//media/audio:test_support",
    "//media/base:test_support",
    "//media/blink",
    "//media/capture",
    "//media/midi:midi",
    "//media/midi:mojo_cpp_sources",
    "//mojo/edk/test:test_support",
    "//mojo/public/cpp/bindings",
    "//net:extras",
    "//net:test_support",
    "//ppapi/c",
    "//ppapi/features",
    "//printing",
    "//skia",
    "//sql",
    "//sql:test_support",
    "//storage/browser",
    "//storage/common",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/WebKit/public:blink",
    "//third_party/icu",
    "//third_party/leveldatabase",
    "//third_party/libjingle",
    "//third_party/re2",
    "//third_party/widevine/cdm:headers",
    "//ui/accessibility",
    "//ui/base:test_support",
    "//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/ipc",
    "//ui/gfx/ipc/skia",
    "//ui/gl",
    "//ui/gl:test_support",
  ]

  data_deps = [
    "//third_party/mesa:osmesa",
  ]

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

  if (enable_plugins) {
    # Put WebRTC-related plugins sources in the "enable_webrtc &&
    # enable_plugins" section below.
    sources += [
      "../browser/renderer_host/pepper/browser_ppapi_host_test.cc",
      "../browser/renderer_host/pepper/browser_ppapi_host_test.h",
      "../browser/renderer_host/pepper/pepper_file_system_browser_host_unittest.cc",
      "../browser/renderer_host/pepper/pepper_gamepad_host_unittest.cc",
      "../browser/renderer_host/pepper/pepper_printing_host_unittest.cc",
      "../browser/renderer_host/pepper/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_webrtc) {
    # Put WebRTC-related plugins sources in the "enable_webrtc &&
    # enable_plugins" section below.
    sources += [
      "../browser/renderer_host/p2p/socket_host_tcp_server_unittest.cc",
      "../browser/renderer_host/p2p/socket_host_tcp_unittest.cc",
      "../browser/renderer_host/p2p/socket_host_test_utils.cc",
      "../browser/renderer_host/p2p/socket_host_test_utils.h",
      "../browser/renderer_host/p2p/socket_host_udp_unittest.cc",
      "../browser/webrtc/webrtc_eventlog_host_unittest.cc",
      "../browser/webrtc/webrtc_internals_unittest.cc",
      "../renderer/media/audio_repetition_detector_unittest.cc",
      "../renderer/media/audio_track_recorder_unittest.cc",
      "../renderer/media/canvas_capture_handler_unittest.cc",
      "../renderer/media/gpu/rtc_video_decoder_unittest.cc",
      "../renderer/media/gpu/rtc_video_encoder_unittest.cc",
      "../renderer/media/html_audio_element_capturer_source_unittest.cc",
      "../renderer/media/html_video_element_capturer_source_unittest.cc",
      "../renderer/media/media_devices_event_dispatcher_unittest.cc",
      "../renderer/media/media_recorder_handler_unittest.cc",
      "../renderer/media/media_stream_audio_processor_unittest.cc",
      "../renderer/media/media_stream_audio_unittest.cc",
      "../renderer/media/media_stream_constraints_util_unittest.cc",
      "../renderer/media/media_stream_dispatcher_unittest.cc",
      "../renderer/media/media_stream_video_capturer_source_unittest.cc",
      "../renderer/media/media_stream_video_renderer_sink_unittest.cc",
      "../renderer/media/media_stream_video_source_unittest.cc",
      "../renderer/media/media_stream_video_track_unittest.cc",
      "../renderer/media/mock_constraint_factory.cc",
      "../renderer/media/mock_media_stream_registry.cc",
      "../renderer/media/mock_media_stream_registry.h",
      "../renderer/media/mock_media_stream_video_sink.cc",
      "../renderer/media/mock_media_stream_video_sink.h",
      "../renderer/media/mock_media_stream_video_source.cc",
      "../renderer/media/mock_media_stream_video_source.h",
      "../renderer/media/peer_connection_tracker_unittest.cc",
      "../renderer/media/rtc_data_channel_handler_unittest.cc",
      "../renderer/media/rtc_peer_connection_handler_unittest.cc",
      "../renderer/media/speech_recognition_audio_sink_unittest.cc",
      "../renderer/media/user_media_client_impl_unittest.cc",
      "../renderer/media/video_track_recorder_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/processed_local_audio_source_unittest.cc",
      "../renderer/media/webrtc/stun_field_trial_unittest.cc",
      "../renderer/media/webrtc/webrtc_media_stream_adapter_unittest.cc",
      "../renderer/media/webrtc/webrtc_video_capturer_adapter_unittest.cc",
      "../renderer/media/webrtc_audio_renderer_unittest.cc",
      "../renderer/media/webrtc_local_audio_source_provider_unittest.cc",
      "../renderer/media/webrtc_uma_histograms_unittest.cc",
      "../renderer/p2p/filtering_network_manager_unittest.cc",
      "../renderer/p2p/ipc_network_manager_unittest.cc",
      "//third_party/webrtc/base/task_queue_unittest.cc",
    ]
    deps += [
      "//third_party/libjingle/webrtc:libjingle_webrtc",
      "//third_party/opus",
      "//third_party/webrtc/api:libjingle_peerconnection",
      "//third_party/webrtc/base:rtc_base",
      "//third_party/webrtc/media:rtc_media",
      "//third_party/webrtc/modules/desktop_capture:primitives",
      "//third_party/webrtc/modules/video_capture",
      "//third_party/webrtc/stats:rtc_stats_test_utils",
      "//ui/shell_dialogs:shell_dialogs",
    ]

    if (is_linux || is_mac || is_win) {
      sources +=
          [ "../browser/media/capture/desktop_capture_device_unittest.cc" ]
      deps += [ "//third_party/webrtc/modules/desktop_capture" ]
    }

    if (is_chromeos) {
      sources +=
          [ "../browser/media/capture/desktop_capture_device_aura_unittest.cc" ]
    }

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

  if (enable_webrtc && enable_plugins) {
    sources += [
      "../renderer/media/pepper_to_video_track_adapter_unittest.cc",
      "../renderer/media/video_track_to_pepper_adapter_unittest.cc",
    ]
  }

  if (enable_web_speech) {
    sources += [
      "../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",
    ]
  }

  if (is_linux) {
    if (use_dbus) {
      deps += [ "//dbus:test_support" ]
    }
  }
  if (is_win) {
    deps += [ "//third_party/iaccessible2" ]
    libs = [ "dwrite.lib" ]
  }
  if (is_mac) {
    deps += [
      "//third_party/mozilla",
      "//third_party/ocmock",
      "//ui/accelerated_widget_mac",
    ]
  }
  if (is_chromeos) {
    deps += [ "//chromeos" ]
  }
  if (is_android) {
    sources += [
      "../browser/android/java/gin_java_method_invocation_helper_unittest.cc",
      "../browser/android/java/java_type_unittest.cc",
      "../browser/android/java/jni_helper_unittest.cc",
      "../browser/android/scoped_surface_request_manager_unittest.cc",
      "../browser/android/url_request_content_job_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/media/session/audio_focus_manager_unittest.cc",
      "../browser/webui/url_data_manager_backend_unittest.cc",
    ]
    deps -= [ "//device/battery" ]

    deps += [
      "//base:base_java_unittest_support",
      "//content/public/android:content_java",
      "//device/geolocation:geolocation_java",
      "//media/capture/content/android",
      "//media/capture/content/android:screen_capture_java",
      "//v8:v8_external_startup_data_assets",
    ]

    defines += [ "APPCACHE_USE_SIMPLE_CACHE" ]
  }
  if (!is_android) {
    deps += [ "//third_party/libvpx" ]
  }

  if (use_aura) {
    deps += [
      "//services/ui/public/cpp/tests:unittest_support",
      "//ui/aura:test_support",
      "//ui/aura_extra",
      "//ui/wm",
    ]
    sources += [ "../renderer/mus/compositor_mus_connection_unittest.cc" ]
  } else {
    sources -= [
      "../browser/renderer_host/render_widget_host_view_aura_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",
    ]
  }

  # Avoid windows due to non-availability of cursor resources in test.
  if (!use_aura || is_win) {
    sources -= [ "../browser/media/capture/cursor_renderer_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" ]
  } else {
    sources -=
        [ "../browser/compositor/software_output_device_ozone_unittest.cc" ]
  }

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

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

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 = [
    "../browser/renderer_host/input/input_router_impl_perftest.cc",
    "../test/run_all_perftests.cc",
  ]
  deps = [
    "//base/test:test_support",
    "//cc",
    "//cc/ipc",
    "//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",
  ]

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

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