# 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("//chrome/common/features.gni")
import("//chrome/chrome_repack_locales.gni")
import("//chrome/test/base/js2gtest.gni")
import("//components/os_crypt/features.gni")
import("//components/spellcheck/spellcheck_build_features.gni")
import("//extensions/features/features.gni")
import("//media/media_options.gni")
import("//ppapi/features/features.gni")
import("//remoting/remoting_enable.gni")
import("//rlz/features/features.gni")
import("//services/service_manager/public/service_manifest.gni")
import("//services/catalog/public/tools/catalog.gni")
import("//testing/test.gni")
import("//ui/base/ui_features.gni")
import("//v8/gni/v8.gni")

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

# This target exists to reference other test executables to bring these files
# into the build.
group("test") {
  testonly = true
}

# 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") {
  defines = []
  testonly = true

  sources = [
    "base/chrome_process_util.cc",
    "base/chrome_process_util.h",
    "base/chrome_process_util_mac.cc",
    "base/chrome_render_view_host_test_harness.cc",
    "base/chrome_render_view_host_test_harness.h",
    "base/chrome_test_launcher.cc",
    "base/chrome_test_launcher.h",
    "base/chrome_test_suite.cc",
    "base/chrome_test_suite.h",
    "base/chrome_unit_test_suite.cc",
    "base/chrome_unit_test_suite.h",
    "base/dialog_test_browser_window.cc",
    "base/dialog_test_browser_window.h",
    "base/find_in_page_observer.cc",
    "base/find_in_page_observer.h",
    "base/scoped_browser_locale.cc",
    "base/scoped_browser_locale.h",
    "base/scoped_bundle_swizzler_mac.h",
    "base/scoped_bundle_swizzler_mac.mm",
    "base/scoped_testing_local_state.cc",
    "base/scoped_testing_local_state.h",
    "base/search_test_utils.cc",
    "base/search_test_utils.h",
    "base/test_browser_window.cc",
    "base/test_browser_window.h",
    "base/test_launcher_utils.cc",
    "base/test_launcher_utils.h",
    "base/test_switches.cc",
    "base/test_switches.h",
    "base/testing_browser_process.cc",
    "base/testing_browser_process.h",
    "base/testing_browser_process_platform_part.cc",
    "base/testing_browser_process_platform_part.h",
    "base/testing_io_thread_state.cc",
    "base/testing_io_thread_state.h",
    "base/testing_profile.cc",
    "base/testing_profile.h",
    "base/testing_profile_manager.cc",
    "base/testing_profile_manager.h",
    "base/tracing.cc",
    "base/tracing.h",
    "logging/win/file_logger.cc",
    "logging/win/file_logger.h",
    "logging/win/log_file_printer.cc",
    "logging/win/log_file_printer.h",
    "logging/win/log_file_reader.cc",
    "logging/win/log_file_reader.h",
    "logging/win/mof_data_parser.cc",
    "logging/win/mof_data_parser.h",
    "logging/win/test_log_collector.cc",
    "logging/win/test_log_collector.h",
  ]

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

  # New deps should go in the non-iOS section below.
  public_deps = [
    "//base/test:test_support",
    "//chrome:resources",
    "//chrome:strings",
    "//chrome/app:test_support",

    #"//chrome/app/theme:theme_resources",
    "//chrome/browser:test_support",
    "//chrome/common:test_support",
    "//chrome/renderer:test_support",
    "//components/bookmarks/test",
    "//components/gcm_driver:test_support",
    "//components/gcm_driver/instance_id:test_support",
    "//components/history/core/test:test",
    "//components/metrics:test_support",
    "//components/omnibox/browser:test_support",
    "//components/password_manager/core/browser:test_support",
    "//components/prefs:test_support",
    "//components/rappor:test_support",
    "//components/search_engines:test_support",
    "//components/signin/core/browser:test_support",
    "//components/sync",
    "//components/sync:test_support_driver",
    "//components/sync_preferences:test_support",
    "//components/sync_sessions:test_support",
    "//components/toolbar:test_support",
    "//components/update_client:test_support",
    "//components/zoom:test_support",
    "//content/public/app:both",
    "//content/test:test_support",
    "//extensions/features",
    "//gpu/ipc/service",
    "//media:media_features",
    "//net",
    "//net:test_support",
    "//pdf",
    "//ppapi/features",
    "//printing/features",
    "//skia",
    "//sql",
    "//sql:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/zlib",
    "//ui/gfx:test_support",
    "//ui/message_center:test_support",
  ]

  if (!is_ios) {
    public_deps += [
      "//chrome/child",
      "//chrome/renderer",
      "//chrome/utility",
      "//components/autofill/core/browser:test_support",
      "//components/captive_portal:test_support",
      "//components/gcm_driver/crypto:test_support",
      "//components/guest_view/browser:test_support",
      "//components/infobars/core",
      "//components/network_time:network_time_test_support",
      "//components/offline_pages/core:test_support",
      "//components/sessions:test_support",
      "//components/web_resource:test_support",
      "//content/public/child",
      "//content/public/common",
      "//content/public/renderer",
      "//content/public/utility",
      "//google_apis:test_support",
      "//ipc:test_support",
      "//media:test_support",
      "//sql:test_support",
      "//third_party/leveldatabase",
      "//ui/base",
      "//ui/events:events_base",
      "//ui/gl",
    ]
  }
  if (enable_plugins) {
    public_deps += [ "//ppapi/shared_impl" ]
  }

  if (is_android) {
    public_deps -= [ "//ui/message_center:test_support" ]
    sources -= [
      "base/dialog_test_browser_window.cc",
      "base/dialog_test_browser_window.h",
      "base/test_browser_window.cc",
      "base/test_browser_window.h",
    ]
  }

  if (enable_extensions) {
    public_deps += [
      "//apps:test_support",
      "//chrome/common/extensions/api",
      "//extensions:test_support",
    ]
  }

  if (is_linux) {
    public_deps += [ "//crypto:platform" ]
  }
  if (is_mac) {
    sources += [
      "//chrome/app/chrome_crash_reporter_client.cc",
      "//chrome/app/chrome_crash_reporter_client_mac.mm",
    ]
    public_deps += [
      "//breakpad",
      "//components/crash/content/app",
      "//third_party/ocmock",
    ]
  }
  if (is_win) {
    sources += [ "//chrome/app/chrome_crash_reporter_client_win.cc" ]
    public_deps += [
      "//chrome/install_static:install_static_util",
      "//components/crash/content/app",
      "//third_party/wtl",
    ]
  }
  if (is_chromeos) {
    public_deps += [
      "//components/ownership",
      "//components/user_manager:test_support",
    ]
  }

  if (use_aura) {
    sources += [
      "base/test_browser_window_aura.cc",
      "base/test_browser_window_aura.h",
    ]
  }

  if (use_ash) {
    sources += [
      "base/default_ash_event_generator_delegate.cc",
      "base/default_ash_event_generator_delegate.h",
    ]

    public_deps += [
      "//ash",
      "//ash/test:ash_with_aura_test_support",
      "//ash/test:test_support_with_content",
      "//ui/aura",
      "//ui/aura:test_support",
    ]
  }
  if (toolkit_views) {
    public_deps += [ "//ui/views:test_support" ]
  }

  if (enable_extensions) {
    public_deps += [
      "//apps:test_support",
      "//chrome/common/extensions/api",
      "//extensions:test_support",
    ]
  }
}

# TODO(GYP_GONE): Delete this after we've converted everything to GN.
# The _run targets exist only for compatibility w/ GYP.
group("telemetry_gpu_integration_test_run") {
  testonly = true
  deps = [
    ":telemetry_gpu_integration_test",
  ]
}

group("telemetry_gpu_integration_test") {
  testonly = true
  deps = [
    "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
  ]

  data = [
    # For isolate contract.
    "//testing/scripts/common.py",
    "//testing/xvfb.py",
    "//testing/scripts/run_gpu_integration_test_as_googletest.py",

    "//content/test/gpu/",
    "//content/test/data/gpu/",

    # For depth_capture
    "//content/test/data/media/depth_stream_test_utilities.js",
    "//content/test/data/media/getusermedia-depth-capture.html",
    "//content/test/data/media/webrtc_test_utilities.js",

    # For GpuProcess.video
    "//content/test/data/media/bear.ogv",

    # For webgl_conformance
    "//third_party/webgl/",
    "//content/test/gpu/run_gpu_integration_test.py",
  ]
}

if (!is_android) {
  static_library("test_support_ui") {
    defines = []
    testonly = true

    sources = [
      "../browser/permissions/permission_request_manager_test_api.cc",
      "../browser/permissions/permission_request_manager_test_api.h",
      "base/in_process_browser_test.cc",
      "base/in_process_browser_test.h",
      "base/in_process_browser_test_mac.cc",
      "base/javascript_browser_test.cc",
      "base/javascript_browser_test.h",
      "base/test_chrome_web_ui_controller_factory.cc",
      "base/test_chrome_web_ui_controller_factory.h",
      "base/ui_test_utils.cc",
      "base/ui_test_utils.h",
      "base/web_ui_browser_test.cc",
      "base/web_ui_browser_test.h",
    ]

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

    public_deps = [
      "//chrome/browser:test_support_ui",
    ]
    deps = [
      "//components/metrics:test_support",
      "//components/os_crypt:test_support",
      "//content/public/browser:browser",
      "//skia",
      "//testing/gtest",
    ]

    if (enable_plugins) {
      sources += [
        "ppapi/ppapi_test.cc",
        "ppapi/ppapi_test.h",
      ]
    }
  }

  import("//third_party/protobuf/proto_library.gni")

  proto_library("test_proto") {
    sources = [
      "../common/safe_browsing/ipc_protobuf_message_test.proto",
    ]
  }

  test("interactive_ui_tests") {
    sources = [
      "../browser/apps/app_browsertest_util.cc",
      "../browser/apps/app_browsertest_util.h",
      "../browser/apps/app_pointer_lock_interactive_uitest.cc",
      "../browser/apps/app_shim/app_shim_interactive_uitest_mac.mm",
      "../browser/apps/app_shim/app_shim_quit_interactive_uitest_mac.mm",
      "../browser/apps/app_window_interactive_uitest.cc",
      "../browser/apps/guest_view/web_view_interactive_browsertest.cc",
      "../browser/autofill/autofill_interactive_uitest.cc",
      "../browser/autofill/autofill_uitest_util.cc",
      "../browser/browser_keyevents_browsertest.cc",
      "../browser/extensions/api/extension_action/browser_action_interactive_test.cc",
      "../browser/extensions/api/notifications/notifications_apitest.cc",
      "../browser/extensions/api/omnibox/omnibox_api_interactive_test.cc",
      "../browser/extensions/api/tabs/tabs_interactive_test.cc",
      "../browser/extensions/browsertest_util.cc",
      "../browser/extensions/chrome_extension_test_notification_observer.cc",
      "../browser/extensions/chrome_extension_test_notification_observer.h",
      "../browser/extensions/clipboard_extension_apitest_chromeos.cc",
      "../browser/extensions/extension_apitest.cc",
      "../browser/extensions/extension_browsertest.cc",
      "../browser/extensions/extension_commands_global_registry_apitest.cc",
      "../browser/extensions/extension_crash_recovery_browsertest.cc",
      "../browser/extensions/extension_fullscreen_apitest.cc",
      "../browser/extensions/extension_function_test_utils.cc",
      "../browser/extensions/extension_keybinding_apitest.cc",
      "../browser/extensions/updater/extension_cache_fake.cc",
      "../browser/extensions/updater/extension_cache_fake.h",
      "../browser/extensions/window_open_interactive_apitest.cc",
      "../browser/mouseleave_browsertest.cc",
      "../browser/notifications/message_center_notifications_browsertest.cc",
      "../browser/password_manager/password_generation_interactive_uitest.cc",
      "../browser/password_manager/password_manager_interactive_uitest.cc",
      "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.cc",
      "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.h",
      "../browser/renderer_host/site_per_process_text_input_browsertest.cc",
      "../browser/site_per_process_interactive_browsertest.cc",
      "../browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc",
      "../browser/ui/blocked_content/popup_blocker_browsertest.cc",
      "../browser/ui/browser_focus_uitest.cc",
      "../browser/ui/cocoa/apps/app_shim_menu_controller_mac_interactive_uitest.mm",
      "../browser/ui/cocoa/apps/quit_with_apps_controller_mac_interactive_uitest.mm",
      "../browser/ui/cocoa/website_settings/permission_bubble_cocoa_interactive_uitest.mm",
      "../browser/ui/exclusive_access/flash_fullscreen_interactive_browsertest.cc",
      "../browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc",
      "../browser/ui/exclusive_access/fullscreen_controller_state_interactive_browsertest.cc",
      "../browser/ui/find_bar/find_bar_host_interactive_uitest.cc",
      "../browser/ui/omnibox/omnibox_view_browsertest.cc",
      "../browser/ui/passwords/manage_passwords_test.cc",
      "../browser/ui/passwords/manage_passwords_test.h",
      "../browser/ui/search/instant_extended_interactive_uitest.cc",
      "../browser/ui/search/instant_extended_manual_interactive_uitest.cc",
      "../browser/ui/search/instant_test_utils.cc",
      "../browser/ui/search/instant_test_utils.h",
      "../browser/ui/search/local_ntp_browsertest.cc",
      "../browser/ui/startup/startup_browser_creator_interactive_uitest.cc",
      "../browser/ui/translate/translate_bubble_test_utils.h",
      "../browser/ui/views/accessibility/navigation_accessibility_uitest_win.cc",
      "../browser/ui/webui/options/language_dictionary_interactive_uitest.cc",
      "../browser/ui/webui/options/language_options_interactive_uitest.cc",
      "//ui/base/clipboard/clipboard_android_unittest.cc",
      "//ui/base/clipboard/clipboard_unittest.cc",
      "base/always_on_top_window_killer_win.cc",
      "base/always_on_top_window_killer_win.h",
      "base/interactive_test_utils.cc",
      "base/interactive_test_utils.h",
      "base/interactive_test_utils_aura.cc",
      "base/interactive_test_utils_aura.h",
      "base/interactive_test_utils_common_views.cc",
      "base/interactive_test_utils_mac.mm",
      "base/interactive_test_utils_win.cc",
      "base/interactive_ui_tests_main.cc",
      "base/view_event_test_platform_part.h",
      "base/view_event_test_platform_part_chromeos.cc",
      "base/view_event_test_platform_part_default.cc",
      "ppapi/ppapi_interactive_browsertest.cc",
    ]

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

    data_deps = [
      "//testing/buildbot/filters:interactive_ui_tests_filters",
    ]

    data = [
      "data/",
      "//chrome/third_party/mock4js/",
      "//content/test/data/",
      "//net/tools/testserver/",
      "//ppapi/tests/test_case.html",
      "//ppapi/tests/test_case.html.mock-http-headers",
      "//ppapi/tests/test_page.css",
      "//ppapi/tests/test_page.css.mock-http-headers",
      "//third_party/accessibility-audit/axs_testing.js",
      "//third_party/chaijs/chai.js",
      "//third_party/mocha/mocha.js",
      "//third_party/pyftpdlib/",
      "//third_party/pywebsocket/",
      "//third_party/tlslite/",
      "//third_party/zlib/google/test/data/",
      "//tools/metrics/histograms/histograms.xml",
      "//ui/webui/resources/js/",
      "$root_out_dir/pyproto/google/",
      "$root_out_dir/test_case.html",
      "$root_out_dir/test_case.html.mock-http-headers",
      "$root_out_dir/test_page.css",
      "$root_out_dir/test_page.css.mock-http-headers",
      "$root_out_dir/ui_test.pak",
    ]
    if (is_linux || is_win) {
      data += [
        "$root_out_dir/chrome_100_percent.pak",
        "$root_out_dir/chrome_200_percent.pak",
        "$root_out_dir/locales/en-US.pak",
        "$root_out_dir/locales/fr.pak",
        "$root_out_dir/resources.pak",
      ]
    }
    if (is_linux) {
      data += [ "$root_out_dir/libppapi_tests.so" ]
    }

    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
    ldflags = []

    deps = [
      ":interactive_ui_tests_js_webui",
      ":test_support",
      ":test_support_ui",
      "//chrome:packed_resources",
      "//chrome:resources",
      "//chrome:strings",
      "//chrome/browser",
      "//chrome/browser/devtools",
      "//chrome/renderer",
      "//components/resources",
      "//components/sync",
      "//components/sync:test_support_model",
      "//content/app/resources",
      "//content/test:test_support",
      "//crypto:platform",
      "//crypto:test_support",
      "//extensions/features",
      "//google_apis:test_support",
      "//net",
      "//net:net_resources",
      "//net:test_support",
      "//skia",
      "//testing/gmock",
      "//testing/gtest",
      "//third_party/hunspell",
      "//third_party/icu",
      "//third_party/libpng",
      "//third_party/zlib",
      "//ui/base:test_support",
      "//ui/resources:ui_test_pak",
      "//ui/web_dialogs:test_support",
    ]

    # TODO(rockot) bug 505926: The chrome_extensions_interactive_uitests target
    # should be deleted and this line removed. See the
    # chrome_extensions_interactive_uitests target for more.
    deps += [ "//extensions:chrome_extensions_interactive_uitests" ]

    # Runtime dependencies
    data_deps += [
      "//ppapi:ppapi_tests",
      "//third_party/mesa:osmesa",
    ]

    if (use_aura) {
      sources += [ "../browser/ui/views/drag_and_drop_interactive_uitest.cc" ]
    }

    if (toolkit_views) {
      sources += [
        "../browser/ui/views/menu_controller_interactive_uitest.cc",
        "../browser/ui/views/menu_item_view_interactive_uitest.cc",
        "../browser/ui/views/menu_model_adapter_test.cc",
        "../browser/ui/views/menu_test_base.cc",
        "../browser/ui/views/menu_test_base.h",
        "../browser/ui/views/menu_view_drag_and_drop_test.cc",
        "../browser/ui/views/status_icons/status_tray_state_changer_interactive_uitest_win.cc",
        "//ui/views/corewm/desktop_capture_controller_unittest.cc",
        "//ui/views/widget/desktop_aura/desktop_window_tree_host_x11_interactive_uitest.cc",
        "//ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc",
        "//ui/views/widget/widget_interactive_uitest.cc",
        "base/view_event_test_base.cc",
        "base/view_event_test_base.h",
      ]
      deps += [
        "//ui/views",
        "//ui/views:test_support",
        "//ui/views/controls/webview:test_support",
      ]
      if (!is_mac || mac_views_browser) {
        # TODO(tapted): Move these to chrome_interactive_ui_test_views_sources
        # when the corresponding files are moved in chrome_browser_ui.gypi
        # (i.e. out of chrome_browser_ui_views_non_mac_sources).
        sources += [
          "../browser/ui/views/bookmarks/bookmark_bar_view_test.cc",
          "../browser/ui/views/bookmarks/bookmark_bar_view_test_helper.h",
          "../browser/ui/views/certificate_selector_browsertest.cc",
          "../browser/ui/views/constrained_window_views_browsertest.cc",
          "../browser/ui/views/extensions/extension_dialog_interactive_uitest.cc",
          "../browser/ui/views/find_bar_views_interactive_uitest.cc",
          "../browser/ui/views/frame/browser_view_focus_uitest.cc",
          "../browser/ui/views/frame/browser_view_interactive_uitest.cc",
          "../browser/ui/views/keyboard_access_browsertest.cc",
          "../browser/ui/views/location_bar/location_icon_view_interactive_uitest.cc",
          "../browser/ui/views/location_bar/page_action_image_view_interactive_uitest.cc",
          "../browser/ui/views/location_bar/star_view_browsertest.cc",
          "../browser/ui/views/omnibox/omnibox_view_views_browsertest.cc",
          "../browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc",
          "../browser/ui/views/passwords/manage_passwords_icon_view_interactive_uitest.cc",
          "../browser/ui/views/ssl_client_certificate_selector_browsertest.cc",
          "../browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc",
          "../browser/ui/views/tabs/tab_drag_controller_interactive_uitest.h",
          "../browser/ui/views/toolbar/toolbar_action_view_interactive_uitest.cc",
          "../browser/ui/views/toolbar/toolbar_button_interactive_uitest.cc",
          "../browser/ui/views/toolbar/toolbar_view_interactive_uitest.cc",
          "../browser/ui/views/translate/translate_bubble_test_utils_views.cc",
          "../browser/ui/views/website_settings/website_settings_popup_view_interactive_uitest.cc",
          "base/interactive_test_utils_views.cc",
        ]
      }
      if (is_win || is_linux) {
        # TODO(crbug.com/679127): Enable these tests on "mac_views_browser" once
        # it is supported.
        sources += [
          "../browser/ui/views/payments/payment_request_credit_card_editor_interactive_uitest.cc",
          "../browser/ui/views/payments/payment_request_interactive_uitest.cc",
          "../browser/ui/views/payments/payment_request_interactive_uitest_base.cc",
          "../browser/ui/views/payments/payment_request_interactive_uitest_base.h",
        ]
      }
      if (is_linux) {
        if (!is_chromeos) {
          # Desktop linux.
          sources -= [
            # TODO(port): This times out. Attempts have been made to fix the
            # individual failures, but each time I disable a test from these
            # suites, it seems like one or another starts timing out too.
            "../browser/ui/views/keyboard_access_browsertest.cc",
          ]
          if (!use_ozone) {
            sources += [ "../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc" ]
            deps += [ "//build/config/linux/gtk" ]
          }
        }
      }
      if (is_chromeos || !use_x11) {
        sources -= [
          "//ui/views/widget/desktop_aura/desktop_window_tree_host_x11_interactive_uitest.cc",
          "//ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc",
        ]
      }
      if (use_aura) {
        sources +=
            [ "//ui/views/widget/native_widget_aura_interactive_uitest.cc" ]
      }
      if (use_aura || is_mac) {
        deps += [ "//ui/touch_selection" ]
      }
    }

    if (is_chromeos) {
      sources += [
        "../../ash/accelerators/accelerator_interactive_uitest_chromeos.cc",
        "../browser/chromeos/accessibility/accessibility_highlight_manager_interactive_uitest.cc",
        "../browser/chromeos/accessibility/magnification_controller_browsertest.cc",
        "../browser/chromeos/accessibility/speech_monitor.cc",
        "../browser/chromeos/accessibility/speech_monitor.h",
        "../browser/chromeos/accessibility/spoken_feedback_browsertest.cc",
        "../browser/chromeos/accessibility/sticky_keys_browsertest.cc",
        "../browser/chromeos/input_method/textinput_browsertest.cc",
        "../browser/chromeos/input_method/textinput_surroundingtext_browsertest.cc",
        "../browser/chromeos/input_method/textinput_test_helper.cc",
        "../browser/chromeos/input_method/textinput_test_helper.h",
        "../browser/chromeos/login/eula_browsertest.cc",
        "../browser/chromeos/login/lock/screen_locker_browsertest.cc",
        "../browser/chromeos/login/lock/screen_locker_tester.cc",
        "../browser/chromeos/login/lock/screen_locker_tester.h",
        "../browser/chromeos/login/login_browsertest.cc",
        "../browser/chromeos/login/login_manager_test.cc",
        "../browser/chromeos/login/login_manager_test.h",
        "../browser/chromeos/login/login_ui_browsertest.cc",
        "../browser/chromeos/login/mixin_based_browser_test.cc",
        "../browser/chromeos/login/mixin_based_browser_test.h",
        "../browser/chromeos/login/oobe_browsertest.cc",
        "../browser/chromeos/login/screenshot_testing/SkDiffPixelsMetric.h",
        "../browser/chromeos/login/screenshot_testing/SkDiffPixelsMetric_cpu.cpp",
        "../browser/chromeos/login/screenshot_testing/SkImageDiffer.cpp",
        "../browser/chromeos/login/screenshot_testing/SkImageDiffer.h",
        "../browser/chromeos/login/screenshot_testing/SkPMetric.cpp",
        "../browser/chromeos/login/screenshot_testing/SkPMetric.h",
        "../browser/chromeos/login/screenshot_testing/screenshot_tester.cc",
        "../browser/chromeos/login/screenshot_testing/screenshot_tester.h",
        "../browser/chromeos/login/screenshot_testing/screenshot_testing_mixin.cc",
        "../browser/chromeos/login/screenshot_testing/screenshot_testing_mixin.h",
        "../browser/chromeos/login/test/https_forwarder.cc",
        "../browser/chromeos/login/test/https_forwarder.h",
        "../browser/chromeos/login/test/oobe_base_test.cc",
        "../browser/chromeos/login/test/oobe_base_test.h",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.cc",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.h",
        "../browser/notifications/login_state_notification_blocker_chromeos_browsertest.cc",
        "data/chromeos/service_login.html",
      ]
      deps += [
        "//ash/resources",
        "//chrome/browser/media/router:test_support",
        "//chromeos",
        "//mojo/edk/system",
        "//ui/app_list/presenter:test_support",
      ]

      data += [
        "//chrome/browser/chromeos/login/test/https_forwarder.py",
        "//google_apis/test/",
        "$root_out_dir/resources/chromeos/",
      ]

      data_deps += [ "//ui/keyboard:resources" ]

      if (enable_nacl) {
        data_deps += [
          "//components/nacl/loader:nacl_helper",
          "//ppapi/native_client:irt",
        ]

        if (enable_nacl_nonsfi) {
          data_deps += [ "//components/nacl/loader:helper_nonsfi" ]
        }
      }

      if (is_chrome_branded) {
        sources -= [
          # These tests are failing on official cros bots. crbug.com/431450.
          "../browser/ui/views/bookmarks/bookmark_bar_view_test.cc",
        ]
      }
    } else {  # ! is_chromeos
      # Non-ChromeOS notifications tests (ChromeOS does not use cross-platform
      # panels).
      sources += [
        "../browser/notifications/notification_interactive_uitest.cc",
        "../browser/notifications/platform_notification_service_interactive_uitest.cc",
      ]
    }

    if (is_win) {
      sources += [
        "../browser/downgrade/user_data_downgrade_browsertest.cc",
        "//ui/resources/cursors/aliasb.cur",
        "//ui/resources/cursors/cell.cur",
        "//ui/resources/cursors/col_resize.cur",
        "//ui/resources/cursors/copy.cur",
        "//ui/resources/cursors/none.cur",
        "//ui/resources/cursors/row_resize.cur",
        "//ui/resources/cursors/vertical_text.cur",
        "//ui/resources/cursors/zoom_in.cur",
        "//ui/resources/cursors/zoom_out.cur",
        "data/resource.rc",
      ]
      deps += [
        "//chrome:other_version",
        "//chrome/app:chrome_dll_resources",
        "//chrome/install_static:install_static_util",
        "//third_party/isimpledom",
        "//third_party/wtl",
        "//ui/resources",
      ]

      configs -= [ "//build/config/win:default_incremental_linking" ]
      configs +=
          [ "//build/config/win:default_large_module_incremental_linking" ]

      libs = [ "oleacc.lib" ]
    }

    if (is_mac) {
      data_deps += [
        "//chrome",
        "//chrome:chrome_framework",
      ]

      # The browser window can be views or Cocoa on Mac. Test accordingly.
      if (mac_views_browser) {
        # Aura depended tests.
        sources -= [ "../browser/ui/views/bookmarks/bookmark_bar_view_test.cc" ]
      } else {
        sources += [
          "../browser/ui/cocoa/extensions/browser_action_button_interactive_uitest.mm",
          "../browser/ui/cocoa/translate/translate_bubble_test_utils_cocoa.mm",
          "base/interactive_test_utils_cocoa.mm",
        ]
      }
    }

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

    if (enable_app_list) {
      sources +=
          [ "../browser/ui/app_list/app_list_service_interactive_uitest.cc" ]
    }

    if (!use_aura) {
      sources -= [
        "base/interactive_test_utils_aura.cc",
        "base/interactive_test_utils_aura.h",
      ]
    }

    if (use_ash) {
      sources += [
        "../browser/ui/ash/app_list/app_list_interactive_uitest.cc",
        "../browser/ui/views/ash/tab_scrubber_browsertest.cc",
        "../browser/ui/window_sizer/window_sizer_ash_uitest.cc",
        "//ash/drag_drop/drag_drop_interactive_uitest.cc",
        "//ash/wm/ash_native_cursor_manager_interactive_uitest.cc",
      ]
      sources -= [
        # Use only the _chromeos version on Ash / Chrome OS.
        "base/view_event_test_platform_part_default.cc",
      ]
      deps += [ "//ash/test:interactive_ui_test_support" ]
    }

    if (is_android) {
      sources -= [
        # Android does not use the message center-based Notification system.
        "../browser/notifications/message_center_notifications_browsertest.cc",

        # TODO(peter): Enable the Notification browser tests.
        "../browser/notifications/notification_interactive_uitest.cc",
        "../browser/notifications/platform_notification_service_interactive_uitest.cc",
      ]
    }

    if (!use_aura || is_chromeos) {
      sources -= [ "//ui/views/corewm/desktop_capture_controller_unittest.cc" ]
    }
  }

  if (enable_app_list && use_ash) {
    static_library("test_support_applist_ash") {
      defines = []
      testonly = true

      sources = [
        "../browser/ui/ash/app_list/test/app_list_service_ash_test_api.cc",
        "../browser/ui/ash/app_list/test/app_list_service_ash_test_api.h",
      ]
      deps = [
        "//chrome/browser/ui",
        "//ui/app_list/presenter:test_support",
      ]
    }
  }

  static_library("sync_integration_test_support") {
    testonly = true
    sources = [
      "../browser/sync/test/integration/apps_helper.cc",
      "../browser/sync/test/integration/apps_helper.h",
      "../browser/sync/test/integration/autofill_helper.cc",
      "../browser/sync/test/integration/autofill_helper.h",
      "../browser/sync/test/integration/await_match_status_change_checker.cc",
      "../browser/sync/test/integration/await_match_status_change_checker.h",
      "../browser/sync/test/integration/bookmarks_helper.cc",
      "../browser/sync/test/integration/bookmarks_helper.h",
      "../browser/sync/test/integration/dictionary_helper.cc",
      "../browser/sync/test/integration/dictionary_helper.h",
      "../browser/sync/test/integration/dictionary_load_observer.cc",
      "../browser/sync/test/integration/dictionary_load_observer.h",
      "../browser/sync/test/integration/extension_settings_helper.cc",
      "../browser/sync/test/integration/extension_settings_helper.h",
      "../browser/sync/test/integration/extensions_helper.cc",
      "../browser/sync/test/integration/extensions_helper.h",
      "../browser/sync/test/integration/fake_server_invalidation_service.cc",
      "../browser/sync/test/integration/fake_server_invalidation_service.h",
      "../browser/sync/test/integration/fake_server_match_status_checker.cc",
      "../browser/sync/test/integration/fake_server_match_status_checker.h",
      "../browser/sync/test/integration/migration_waiter.cc",
      "../browser/sync/test/integration/migration_waiter.h",
      "../browser/sync/test/integration/migration_watcher.cc",
      "../browser/sync/test/integration/migration_watcher.h",
      "../browser/sync/test/integration/multi_client_status_change_checker.cc",
      "../browser/sync/test/integration/multi_client_status_change_checker.h",
      "../browser/sync/test/integration/p2p_invalidation_forwarder.cc",
      "../browser/sync/test/integration/p2p_invalidation_forwarder.h",
      "../browser/sync/test/integration/p2p_sync_refresher.cc",
      "../browser/sync/test/integration/p2p_sync_refresher.h",
      "../browser/sync/test/integration/password_manager_setting_migrator_helper.cc",
      "../browser/sync/test/integration/password_manager_setting_migrator_helper.h",
      "../browser/sync/test/integration/passwords_helper.cc",
      "../browser/sync/test/integration/passwords_helper.h",
      "../browser/sync/test/integration/preferences_helper.cc",
      "../browser/sync/test/integration/preferences_helper.h",
      "../browser/sync/test/integration/printers_helper.cc",
      "../browser/sync/test/integration/printers_helper.h",
      "../browser/sync/test/integration/profile_sync_service_harness.cc",
      "../browser/sync/test/integration/profile_sync_service_harness.h",
      "../browser/sync/test/integration/quiesce_status_change_checker.cc",
      "../browser/sync/test/integration/quiesce_status_change_checker.h",
      "../browser/sync/test/integration/retry_verifier.cc",
      "../browser/sync/test/integration/retry_verifier.h",
      "../browser/sync/test/integration/search_engines_helper.cc",
      "../browser/sync/test/integration/search_engines_helper.h",
      "../browser/sync/test/integration/sessions_helper.cc",
      "../browser/sync/test/integration/sessions_helper.h",
      "../browser/sync/test/integration/single_client_status_change_checker.cc",
      "../browser/sync/test/integration/single_client_status_change_checker.h",
      "../browser/sync/test/integration/status_change_checker.cc",
      "../browser/sync/test/integration/status_change_checker.h",
      "../browser/sync/test/integration/sync_app_helper.cc",
      "../browser/sync/test/integration/sync_app_helper.h",
      "../browser/sync/test/integration/sync_app_list_helper.cc",
      "../browser/sync/test/integration/sync_app_list_helper.h",
      "../browser/sync/test/integration/sync_arc_package_helper.cc",
      "../browser/sync/test/integration/sync_arc_package_helper.h",
      "../browser/sync/test/integration/sync_datatype_helper.cc",
      "../browser/sync/test/integration/sync_datatype_helper.h",
      "../browser/sync/test/integration/sync_extension_helper.cc",
      "../browser/sync/test/integration/sync_extension_helper.h",
      "../browser/sync/test/integration/sync_extension_installer.cc",
      "../browser/sync/test/integration/sync_extension_installer.h",
      "../browser/sync/test/integration/sync_integration_test_util.cc",
      "../browser/sync/test/integration/sync_integration_test_util.h",
      "../browser/sync/test/integration/sync_test.cc",
      "../browser/sync/test/integration/sync_test.h",
      "../browser/sync/test/integration/themes_helper.cc",
      "../browser/sync/test/integration/themes_helper.h",
      "../browser/sync/test/integration/typed_urls_helper.cc",
      "../browser/sync/test/integration/typed_urls_helper.h",
      "../browser/sync/test/integration/updated_progress_marker_checker.cc",
      "../browser/sync/test/integration/updated_progress_marker_checker.h",
      "../browser/sync/test/integration/wifi_credentials_helper.cc",
      "../browser/sync/test/integration/wifi_credentials_helper.h",
      "../browser/sync/test/integration/wifi_credentials_helper_chromeos.cc",
      "../browser/sync/test/integration/wifi_credentials_helper_chromeos.h",
    ]
    public_deps = [
      "//chrome/browser",
    ]
    deps = [
      ":test_support",
      "//base",
      "//components/invalidation/impl",
      "//components/invalidation/impl:test_support",
      "//components/sync",
      "//components/sync:test_support_fake_server",
      "//components/sync:test_support_model",
      "//components/sync:test_support_testserver",
      "//content/test:test_support",
      "//net",
      "//skia",
    ]

    if (is_mac) {
      sources -= [
        "../browser/sync/test/integration/dictionary_helper.cc",
        "../browser/sync/test/integration/dictionary_helper.h",
        "../browser/sync/test/integration/dictionary_load_observer.cc",
        "../browser/sync/test/integration/dictionary_load_observer.h",
      ]
    }
    if (enable_app_list) {
      deps += [ "//ui/app_list:test_support" ]
    } else {
      sources -= [
        "../browser/sync/test/integration/sync_app_list_helper.cc",
        "../browser/sync/test/integration/sync_app_list_helper.h",
      ]
    }
    if (!is_chromeos) {
      sources -= [
        "../browser/sync/test/integration/printers_helper.cc",
        "../browser/sync/test/integration/printers_helper.h",
        "../browser/sync/test/integration/sync_arc_package_helper.cc",
        "../browser/sync/test/integration/sync_arc_package_helper.h",
        "../browser/sync/test/integration/wifi_credentials_helper.cc",
        "../browser/sync/test/integration/wifi_credentials_helper.h",
      ]
    }
    if (is_chromeos) {
      deps += [
        "//components/arc:arc_test_support",
        "//components/user_manager:test_support",
      ]
    }
  }

  js2gtest("interactive_ui_tests_js_webui") {
    test_type = "webui"

    sources = [
      "data/webui/cr_elements/cr_elements_focus_test.js",
      "data/webui/md_history/md_history_focus_test.js",
    ]

    gen_include_files = [
      "data/webui/polymer_browser_test_base.js",
      "data/webui/polymer_interactive_ui_test.js",
    ]

    deps = [
      "//chrome/browser/ui",
    ]

    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
  }

  js2gtest("browser_tests_js_webui") {
    test_type = "webui"

    # Javascript sources. These are combined with the .cc files in the GYP build
    # and are handled by a rule, but in the GN build they're in a separate
    # action so need to be separated out.
    sources = [
      "../browser/ui/webui/app_list/start_page_browsertest.js",
      "../browser/ui/webui/chromeos/bluetooth_pairing_ui_browsertest.js",
      "../browser/ui/webui/chromeos/certificate_manager_dialog_browsertest.js",
      "../browser/ui/webui/chromeos/set_time_ui_browsertest.js",
      "../browser/ui/webui/extensions/chromeos/kiosk_apps_browsertest.js",
      "../browser/ui/webui/extensions/extension_settings_browsertest.js",
      "../browser/ui/webui/help/help_browsertest.js",
      "../browser/ui/webui/identity_internals_ui_browsertest.js",
      "../browser/ui/webui/options/autofill_options_browsertest.js",
      "../browser/ui/webui/options/browser_options_browsertest.js",
      "../browser/ui/webui/options/certificate_manager_browsertest.js",
      "../browser/ui/webui/options/chromeos/accounts_options_browsertest.js",
      "../browser/ui/webui/options/chromeos/bluetooth_options_browsertest.js",
      "../browser/ui/webui/options/chromeos/date_time_options_browsertest.js",
      "../browser/ui/webui/options/chromeos/guest_mode_options_browsertest.js",
      "../browser/ui/webui/options/chromeos/power_overlay_browsertest.js",
      "../browser/ui/webui/options/content_options_browsertest.js",
      "../browser/ui/webui/options/content_settings_exception_area_browsertest.js",
      "../browser/ui/webui/options/cookies_view_browsertest.js",
      "../browser/ui/webui/options/edit_dictionary_browsertest.js",
      "../browser/ui/webui/options/font_settings_browsertest.js",
      "../browser/ui/webui/options/language_options_browsertest.js",
      "../browser/ui/webui/options/language_options_dictionary_download_browsertest.js",
      "../browser/ui/webui/options/manage_profile_browsertest.js",
      "../browser/ui/webui/options/multilanguage_options_webui_browsertest.js",
      "../browser/ui/webui/options/options_browsertest.js",
      "../browser/ui/webui/options/options_browsertest_base.js",
      "../browser/ui/webui/options/password_manager_browsertest.js",
      "../browser/ui/webui/options/profile_settings_reset_browsertest.js",
      "../browser/ui/webui/options/search_engine_manager_browsertest.js",
      "../browser/ui/webui/options/settings_format_browsertest.js",
      "../browser/ui/webui/options/startup_page_list_browsertest.js",
      "../browser/ui/webui/sync_internals_browsertest.js",
      "../browser/ui/webui/sync_setup_browsertest.js",
      "data/chromeos/oobe_webui_browsertest.js",
      "data/webui/about_invalidations_browsertest.js",
      "data/webui/accessibility_audit_browsertest.js",
      "data/webui/assertions.js",
      "data/webui/async_gen.js",
      "data/webui/bluetooth_internals_browsertest.js",
      "data/webui/certificate_viewer_dialog_test.js",
      "data/webui/chrome_send_browsertest.js",
      "data/webui/cr_elements/cr_elements_browsertest.js",
      "data/webui/extensions/cr_extensions_browsertest.js",
      "data/webui/history_browsertest.js",
      "data/webui/md_bookmarks/md_bookmarks_browsertest.js",
      "data/webui/md_downloads/downloads_browsertest.js",
      "data/webui/md_history/md_history_browsertest.js",
      "data/webui/md_user_manager/user_manager_browsertest.js",
      "data/webui/mock4js_browsertest.js",
      "data/webui/net_internals/bandwidth_view.js",
      "data/webui/net_internals/chromeos_view.js",
      "data/webui/net_internals/dns_view.js",
      "data/webui/net_internals/events_view.js",
      "data/webui/net_internals/hsts_view.js",
      "data/webui/net_internals/log_util.js",
      "data/webui/net_internals/log_view_painter.js",
      "data/webui/net_internals/main.js",
      "data/webui/net_internals/net_internals_test.js",
      "data/webui/net_internals/prerender_view.js",
      "data/webui/net_internals/sdch_view.js",
      "data/webui/net_internals/timeline_view.js",
      "data/webui/ntp4.js",
      "data/webui/polymer_browser_test_base.js",
      "data/webui/print_preview.js",
      "data/webui/print_preview_destination_search_test.js",
      "data/webui/sandboxstatus_browsertest.js",
      "data/webui/settings/advanced_page_browsertest.js",
      "data/webui/settings/animation_browsertest.js",
      "data/webui/settings/basic_page_browsertest.js",
      "data/webui/settings/cr_settings_browsertest.js",
      "data/webui/settings/easy_unlock_browsertest_chromeos.js",
      "data/webui/settings/help_page_browsertest.js",
      "data/webui/settings/languages_page_browsertest.js",
      "data/webui/settings/on_startup_browsertest.js",
      "data/webui/settings/passwords_and_autofill_fake_data.js",
      "data/webui/settings/passwords_and_forms_browsertest.js",
      "data/webui/settings/settings_autofill_section_browsertest.js",
      "data/webui/settings/settings_idle_render_browsertest.js",
      "data/webui/settings/settings_page_browsertest.js",
      "data/webui/settings/settings_passwords_section_browsertest.js",
      "data/webui/settings/settings_subpage_browsertest.js",
      "data/webui/settings/settings_ui_browsertest.js",
      "data/webui/settings/site_settings_page_browsertest.js",
      "data/webui/text_defaults_browsertest.js",
      "data/webui/webui_resource_async_browsertest.js",
    ]
    if (is_chrome_branded) {
      # crbug.com/230471
      sources -= [ "data/webui/accessibility_audit_browsertest.js" ]
    }
    if (!is_chromeos) {
      sources -= [
        "data/webui/certificate_viewer_dialog_test.js",
        "data/webui/settings/easy_unlock_browsertest_chromeos.js",
      ]
    } else {
      sources -= [ "data/webui/md_user_manager/user_manager_browsertest.js" ]
    }
    if (is_mac) {
      sources -= [
        # TODO(rouslan): This test depends on the custom dictionary UI,
        # which is disabled on Mac.
        "../browser/ui/webui/options/edit_dictionary_browsertest.js",

        # TODO(rouslan): This test depends on hunspell and we cannot run it
        # on Mac, which does not use hunspell by default.
        "../browser/ui/webui/options/language_options_dictionary_download_browsertest.js",
        "../browser/ui/webui/options/multilanguage_options_webui_browsertest.js",
      ]
    }
    if (!enable_app_list) {
      sources -= [ "../browser/ui/webui/app_list/start_page_browsertest.js" ]
    }
    if (!enable_print_preview) {
      sources -= [ "data/webui/print_preview.js" ]
    }
    if (enable_media_router) {
      sources +=
          [ "data/webui/media_router/media_router_elements_browsertest.js" ]
    }
    deps = [
      "//chrome/browser/ui",
      "//skia",
    ]
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
  }

  # TODO(GYP_GONE): Delete this after we've converted everything to GN.
  # The _run targets exist only for compatibility w/ GYP.
  group("telemetry_unittests_run") {
    testonly = true
    deps = [
      ":telemetry_unittests",
    ]
  }

  group("telemetry_unittests") {
    testonly = true
    deps = [
      "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
    ]

    data = [
      "//tools/perf/run_telemetry_tests",

      # For isolate contract.
      "//testing/scripts/common.py",
      "//testing/xvfb.py",
      "//testing/scripts/run_telemetry_as_googletest.py",
    ]
  }

  group("telemetry_gpu_unittests_run") {
    testonly = true
    deps = [
      ":telemetry_gpu_unittests",
    ]
  }

  group("telemetry_gpu_unittests") {
    deps = [
      "//third_party/catapult/telemetry:telemetry_test_support",
    ]
    data = [
      # TODO(kbr): refactor the telemetry dependencies more cleanly.
      "//content/test/gpu/",
      "//content/test/data/gpu/",

      # For GpuProcess.video
      "//content/test/data/media/bear.ogv",

      # For webgl_conformance_expectations_unittest
      "//third_party/webgl/src/sdk/tests/",

      # For resolve the imports in content/test/gpu/run_gpu_test.py
      "//tools/perf/chrome_telemetry_build/",

      # From telemetry_gpu_unittests.isolate
      "//third_party/pylint/",
      "//third_party/logilab/",
      "//testing/scripts/common.py",
      "//testing/xvfb.py",
      "//testing/scripts/run_telemetry_as_googletest.py",
    ]
  }

  # TODO(GYP_GONE): Delete this after we've converted everything to GN.
  # The _run targets exist only for compatibility w/ GYP.
  group("tab_capture_end2end_tests_run") {
    testonly = true
    deps = [
      ":browser_tests",
    ]
  }
}

static_library("browser_tests_runner") {
  testonly = true
  sources = []

  deps = [
    ":test_support",
  ]

  if (enable_package_mash_services) {
    sources += [
      "base/browser_tests_main_chromeos.cc",
      "base/mash_browser_tests_main.cc",
      "base/mash_browser_tests_main.h",
      "base/mojo_test_connector.cc",
      "base/mojo_test_connector.h",
    ]

    deps += [
      "//mash/package",
      "//services/service_manager/background:lib",
    ]

    data_deps = [
      ":mash_browser_tests_catalog_copy",
      "//mash/session",
    ]
  } else {
    sources += [ "base/browser_tests_main.cc" ]
  }
}

# Used only by chrome/browser/ui/webui/bidi_checker_web_ui_test.cc
chrome_repack_locales("repack_pseudo_locales") {
  visibility = [ ":*" ]

  input_locales = [ "fake-bidi" ]

  if (is_mac) {
    output_locales = [ "fake_bidi" ]  # Mac uses underscores.
  } else {
    output_locales = [ "fake-bidi" ]
  }
}

test("browser_tests") {
  sources = [
    # TODO(jbudorick): Move tests here from other lists as Android support is
    # implemented. See crbug.com/611756
  ]

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

  deps = [
    ":browser_tests_runner",
    ":repack_pseudo_locales",
    ":test_support",
    "//base",
    "//components/spellcheck:build_features",
    "//components/sync:test_support_model",
    "//extensions/features",
    "//media:media_features",
    "//ppapi/features",
    "//printing/features",
    "//rlz/features",
    "//third_party/WebKit/public:features",
  ]

  data_deps = [
    "//testing/buildbot/filters:browser_tests_filters",
  ]

  data = []

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  if (is_win) {
    data += [ "$root_out_dir/chrome_200_percent.pak" ]
    deps += [ "//chrome/app:chrome_dll_resources" ]
  }
  if (is_chromeos) {
    data += [
      # TODO(GYP): figure out which of these things are
      # actually needed and also which should be pulled in via
      # data or data_deps and through which dependencies.
      "//chrome/browser/chromeos/login/test/https_forwarder.py",
      "//chrome/browser/resources/chromeos/wallpaper_manager/",
      "//chromeos/test/data/",
      "//components/chrome_apps/webstore_widget/cws_widget/",
      "//ui/file_manager/file_manager/",
      "//ui/file_manager/gallery/",
      "//ui/file_manager/image_loader/",
      "//ui/file_manager/integration_tests/",
      "//third_party/analytics/",
      "//third_party/polymer/v1_0/components-chromium/polymer/",
      "$root_gen_dir/ui/login/login_resources.pak",
      "$root_out_dir/chromevox_test_data/",
      "$root_out_dir/content_shell.pak",
      "$root_out_dir/locales/",
      "$root_out_dir/resources/chromeos/",
    ]

    data_deps += [
      # Needed for --run-in-mash, which triggers launching chrome.
      "//chrome",
      "//ui/keyboard:resources",
    ]

    if (enable_nacl) {
      data_deps += [
        "//components/nacl/loader:nacl_helper",
        "//ppapi/native_client:irt",
      ]
    }

    deps += [ "//chrome/browser/chromeos:test_support" ]
  }

  # TODO(jbudorick): In progress. See crbug.com/611756
  if (is_android) {
    deps += [
      "//chrome/android:chrome_java",
      "//v8:v8_external_startup_data_assets",
    ]

    enable_multidex = true
  } else {  # Not Android.
    sources += [
      # The list of sources which is only used by chrome browser tests on
      # desktop platforms.
      "../../apps/app_restore_service_browsertest.cc",
      "../../apps/load_and_launch_browsertest.cc",
      "../app/chrome_version.rc.version",
      "../browser/accessibility/browser_accessibility_state_browsertest.cc",
      "../browser/app_controller_mac_browsertest.mm",
      "../browser/apps/app_browsertest.cc",
      "../browser/apps/app_shim/app_shim_host_manager_browsertest_mac.mm",
      "../browser/apps/app_shim/test/app_shim_host_manager_test_api_mac.cc",
      "../browser/apps/app_shim/test/app_shim_host_manager_test_api_mac.h",
      "../browser/apps/app_speech_recognition_browsertest.cc",
      "../browser/apps/app_url_redirector_browsertest.cc",
      "../browser/apps/app_window_browsertest.cc",
      "../browser/apps/event_page_browsertest.cc",
      "../browser/apps/guest_view/app_view_browsertest.cc",
      "../browser/apps/guest_view/extension_view/extension_view_browsertest.cc",
      "../browser/apps/guest_view/web_view_browsertest.cc",
      "../browser/apps/service_worker_browsertest.cc",
      "../browser/autocomplete/autocomplete_browsertest.cc",
      "../browser/autofill/autofill_browsertest.cc",
      "../browser/autofill/autofill_server_browsertest.cc",
      "../browser/autofill/content_autofill_driver_browsertest.cc",
      "../browser/autofill/form_structure_browsertest.cc",
      "../browser/banners/app_banner_manager_browsertest.cc",
      "../browser/bitmap_fetcher/bitmap_fetcher_browsertest.cc",
      "../browser/browser_encoding_browsertest.cc",
      "../browser/browsing_data/autofill_counter_browsertest.cc",
      "../browser/browsing_data/browsing_data_cache_storage_helper_browsertest.cc",
      "../browser/browsing_data/browsing_data_database_helper_browsertest.cc",
      "../browser/browsing_data/browsing_data_helper_browsertest.h",
      "../browser/browsing_data/browsing_data_indexed_db_helper_browsertest.cc",
      "../browser/browsing_data/browsing_data_local_storage_helper_browsertest.cc",
      "../browser/browsing_data/browsing_data_remover_browsertest.cc",
      "../browser/browsing_data/browsing_data_remover_test_util.cc",
      "../browser/browsing_data/browsing_data_remover_test_util.h",
      "../browser/browsing_data/cache_counter_browsertest.cc",
      "../browser/browsing_data/cache_test_util.cc",
      "../browser/browsing_data/cache_test_util.h",
      "../browser/browsing_data/conditional_cache_counting_helper_browsertest.cc",
      "../browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc",
      "../browser/browsing_data/downloads_counter_browsertest.cc",
      "../browser/browsing_data/history_counter_browsertest.cc",
      "../browser/browsing_data/media_licenses_counter_browsertest.cc",
      "../browser/browsing_data/passwords_counter_browsertest.cc",
      "../browser/budget_service/budget_manager_browsertest.cc",
      "../browser/chrome_content_browser_client_browsertest.cc",
      "../browser/chrome_find_request_manager_browsertest.cc",
      "../browser/chrome_main_browsertest.cc",
      "../browser/chrome_navigation_browsertest.cc",
      "../browser/chrome_plugin_browsertest.cc",
      "../browser/chrome_security_exploit_browsertest.cc",
      "../browser/chrome_site_per_process_browsertest.cc",
      "../browser/chrome_switches_browsertest.cc",
      "../browser/component_updater/component_patcher_operation_out_of_process_browsertest.cc",
      "../browser/content_settings/content_settings_browsertest.cc",
      "../browser/crash_recovery_browsertest.cc",
      "../browser/custom_handlers/protocol_handler_registry_browsertest.cc",
      "../browser/data_saver/data_saver_browsertest.cc",
      "../browser/devtools/device/adb/adb_client_socket_browsertest.cc",
      "../browser/devtools/device/adb/mock_adb_server.cc",
      "../browser/devtools/device/adb/mock_adb_server.h",
      "../browser/devtools/device/devtools_android_bridge_browsertest.cc",
      "../browser/devtools/device/port_forwarding_browsertest.cc",
      "../browser/devtools/device/usb/android_usb_browsertest.cc",
      "../browser/devtools/devtools_sanity_browsertest.cc",
      "../browser/devtools/devtools_window_testing.cc",
      "../browser/devtools/devtools_window_testing.h",
      "../browser/do_not_track_browsertest.cc",
      "../browser/dom_distiller/distillable_page_utils_browsertest.cc",
      "../browser/dom_distiller/dom_distiller_viewer_source_browsertest.cc",
      "../browser/dom_distiller/tab_utils_browsertest.cc",
      "../browser/domain_reliability/browsertest.cc",
      "../browser/download/download_browsertest.cc",
      "../browser/download/download_browsertest.h",
      "../browser/download/download_danger_prompt_browsertest.cc",
      "../browser/download/download_started_animation_browsertest.cc",
      "../browser/download/save_page_browsertest.cc",
      "../browser/extensions/active_tab_apitest.cc",
      "../browser/extensions/activity_log/activity_log_browsertest.cc",
      "../browser/extensions/alert_apitest.cc",
      "../browser/extensions/all_urls_apitest.cc",
      "../browser/extensions/api/activity_log_private/activity_log_private_apitest.cc",
      "../browser/extensions/api/autofill_private/autofill_private_apitest.cc",
      "../browser/extensions/api/automation/automation_apitest.cc",
      "../browser/extensions/api/autotest_private/autotest_private_apitest.cc",
      "../browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest_chromeos.cc",
      "../browser/extensions/api/bookmark_manager_private/bookmark_manager_private_apitest.cc",
      "../browser/extensions/api/bookmarks/bookmark_apitest.cc",
      "../browser/extensions/api/braille_display_private/braille_display_private_apitest.cc",
      "../browser/extensions/api/braille_display_private/mock_braille_controller.cc",
      "../browser/extensions/api/braille_display_private/mock_braille_controller.h",
      "../browser/extensions/api/browser/browser_apitest.cc",
      "../browser/extensions/api/browsing_data/browsing_data_test.cc",
      "../browser/extensions/api/cast_streaming/cast_streaming_apitest.cc",
      "../browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc",
      "../browser/extensions/api/command_line_private/command_line_private_apitest.cc",
      "../browser/extensions/api/commands/command_service_browsertest.cc",
      "../browser/extensions/api/content_settings/content_settings_apitest.cc",
      "../browser/extensions/api/context_menus/context_menu_apitest.cc",
      "../browser/extensions/api/cookies/cookies_apitest.cc",
      "../browser/extensions/api/debugger/debugger_apitest.cc",
      "../browser/extensions/api/debugger/debugger_extension_apitest.cc",
      "../browser/extensions/api/declarative/declarative_apitest.cc",
      "../browser/extensions/api/declarative_content/declarative_content_apitest.cc",
      "../browser/extensions/api/declarative_content/request_content_script_apitest.cc",
      "../browser/extensions/api/declarative_content/set_icon_apitest.cc",
      "../browser/extensions/api/desktop_capture/desktop_capture_apitest.cc",
      "../browser/extensions/api/developer_private/developer_private_apitest.cc",
      "../browser/extensions/api/dial/dial_apitest.cc",
      "../browser/extensions/api/downloads/downloads_api_browsertest.cc",
      "../browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc",
      "../browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc",
      "../browser/extensions/api/extension_action/browser_action_apitest.cc",
      "../browser/extensions/api/extension_action/browser_action_browsertest.cc",
      "../browser/extensions/api/extension_action/page_action_apitest.cc",
      "../browser/extensions/api/feedback_private/feedback_browsertest.cc",
      "../browser/extensions/api/feedback_private/feedback_private_apitest.cc",
      "../browser/extensions/api/file_system/file_system_apitest.cc",
      "../browser/extensions/api/file_system/file_system_apitest_chromeos.cc",
      "../browser/extensions/api/font_settings/font_settings_apitest.cc",
      "../browser/extensions/api/gcm/gcm_apitest.cc",
      "../browser/extensions/api/history/history_apitest.cc",
      "../browser/extensions/api/i18n/i18n_apitest.cc",
      "../browser/extensions/api/identity/identity_apitest.cc",
      "../browser/extensions/api/idltest/idltest_apitest.cc",
      "../browser/extensions/api/image_writer_private/image_writer_private_apitest.cc",
      "../browser/extensions/api/image_writer_private/test_utils.cc",
      "../browser/extensions/api/inline_install_private/inline_install_private_apitest.cc",
      "../browser/extensions/api/input_ime/input_ime_apitest_chromeos.cc",
      "../browser/extensions/api/instance_id/instance_id_apitest.cc",
      "../browser/extensions/api/log_private/log_private_apitest_chromeos.cc",
      "../browser/extensions/api/management/management_api_browsertest.cc",
      "../browser/extensions/api/management/management_apitest.cc",
      "../browser/extensions/api/management/management_browsertest.cc",
      "../browser/extensions/api/media_galleries/media_galleries_apitest.cc",
      "../browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc",
      "../browser/extensions/api/messaging/native_messaging_apitest.cc",
      "../browser/extensions/api/metrics_private/metrics_apitest.cc",
      "../browser/extensions/api/module/module_apitest.cc",
      "../browser/extensions/api/music_manager_private/music_manager_private_browsertest.cc",
      "../browser/extensions/api/networking_config_chromeos_apitest_chromeos.cc",
      "../browser/extensions/api/notification_provider/notification_provider_apitest.cc",
      "../browser/extensions/api/omnibox/omnibox_api_browsertest.cc",
      "../browser/extensions/api/page_capture/page_capture_apitest.cc",
      "../browser/extensions/api/passwords_private/passwords_private_apitest.cc",
      "../browser/extensions/api/permissions/permissions_apitest.cc",
      "../browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc",
      "../browser/extensions/api/preference/preference_apitest.cc",
      "../browser/extensions/api/processes/processes_apitest.cc",
      "../browser/extensions/api/proxy/proxy_apitest.cc",
      "../browser/extensions/api/resources_private/resources_private_apitest.cc",
      "../browser/extensions/api/screenlock_private/screenlock_private_apitest.cc",
      "../browser/extensions/api/sessions/sessions_apitest.cc",
      "../browser/extensions/api/settings_overrides/settings_overrides_browsertest.cc",
      "../browser/extensions/api/settings_private/settings_private_apitest.cc",
      "../browser/extensions/api/socket/socket_apitest.cc",
      "../browser/extensions/api/storage/settings_apitest.cc",
      "../browser/extensions/api/streams_private/streams_private_apitest.cc",
      "../browser/extensions/api/sync_file_system/sync_file_system_apitest.cc",
      "../browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc",
      "../browser/extensions/api/system_indicator/system_indicator_apitest.cc",
      "../browser/extensions/api/system_private/system_private_apitest.cc",
      "../browser/extensions/api/tab_capture/tab_capture_apitest.cc",
      "../browser/extensions/api/tabs/tabs_test.cc",
      "../browser/extensions/api/terminal/terminal_private_apitest.cc",
      "../browser/extensions/api/test/apitest_apitest.cc",
      "../browser/extensions/api/top_sites/top_sites_apitest.cc",
      "../browser/extensions/api/web_navigation/web_navigation_apitest.cc",
      "../browser/extensions/api/web_request/web_request_apitest.cc",
      "../browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc",
      "../browser/extensions/api/webrtc_from_web_accessible_resource_browsertest.cc",
      "../browser/extensions/api/webrtc_logging_private/webrtc_event_log_apitest.cc",
      "../browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc",
      "../browser/extensions/api/webstore_private/webstore_private_apitest.cc",
      "../browser/extensions/api_binding_perf_browsertest.cc",
      "../browser/extensions/app_background_page_apitest.cc",
      "../browser/extensions/app_process_apitest.cc",
      "../browser/extensions/app_window_overrides_browsertest.cc",
      "../browser/extensions/background_app_browsertest.cc",
      "../browser/extensions/background_page_apitest.cc",
      "../browser/extensions/background_scripts_apitest.cc",
      "../browser/extensions/background_xhr_browsertest.cc",
      "../browser/extensions/browsertest_util_browsertest.cc",
      "../browser/extensions/chrome_app_api_browsertest.cc",
      "../browser/extensions/chrome_theme_url_browsertest.cc",
      "../browser/extensions/chrome_ui_overrides_browsertest.cc",
      "../browser/extensions/content_capabilities_browsertest.cc",
      "../browser/extensions/content_script_apitest.cc",
      "../browser/extensions/content_security_policy_apitest.cc",
      "../browser/extensions/content_verifier_browsertest.cc",
      "../browser/extensions/crazy_extension_browsertest.cc",
      "../browser/extensions/cross_origin_xhr_apitest.cc",
      "../browser/extensions/crx_installer_browsertest.cc",
      "../browser/extensions/docs/examples/apps/calculator_browsertest.cc",
      "../browser/extensions/error_console/error_console_browsertest.cc",
      "../browser/extensions/events_apitest.cc",
      "../browser/extensions/execute_script_apitest.cc",
      "../browser/extensions/extension_action_runner_browsertest.cc",
      "../browser/extensions/extension_bindings_apitest.cc",
      "../browser/extensions/extension_context_menu_browsertest.cc",
      "../browser/extensions/extension_disabled_ui_browsertest.cc",
      "../browser/extensions/extension_dom_clipboard_apitest.cc",
      "../browser/extensions/extension_fileapi_apitest.cc",
      "../browser/extensions/extension_functional_browsertest.cc",
      "../browser/extensions/extension_geolocation_apitest.cc",
      "../browser/extensions/extension_get_views_apitest.cc",
      "../browser/extensions/extension_icon_source_apitest.cc",
      "../browser/extensions/extension_incognito_apitest.cc",
      "../browser/extensions/extension_install_prompt_browsertest.cc",
      "../browser/extensions/extension_install_prompt_test_helper.cc",
      "../browser/extensions/extension_install_prompt_test_helper.h",
      "../browser/extensions/extension_install_ui_browsertest.cc",
      "../browser/extensions/extension_javascript_url_apitest.cc",
      "../browser/extensions/extension_loading_browsertest.cc",
      "../browser/extensions/extension_management_test_util.cc",
      "../browser/extensions/extension_management_test_util.h",
      "../browser/extensions/extension_messages_apitest.cc",
      "../browser/extensions/extension_override_apitest.cc",
      "../browser/extensions/extension_request_limiting_throttle_browsertest.cc",
      "../browser/extensions/extension_resource_request_policy_apitest.cc",
      "../browser/extensions/extension_startup_browsertest.cc",
      "../browser/extensions/extension_storage_apitest.cc",
      "../browser/extensions/extension_storage_monitor_browsertest.cc",
      "../browser/extensions/extension_tab_util_browsertest.cc",
      "../browser/extensions/extension_tabs_apitest.cc",
      "../browser/extensions/extension_unload_browsertest.cc",
      "../browser/extensions/extension_url_rewrite_browsertest.cc",
      "../browser/extensions/extension_view_host_factory_browsertest.cc",
      "../browser/extensions/extension_websocket_apitest.cc",
      "../browser/extensions/extension_webui_apitest.cc",
      "../browser/extensions/fetch_apitest.cc",
      "../browser/extensions/gpu_browsertest.cc",
      "../browser/extensions/hotword_browsertest.cc",
      "../browser/extensions/isolated_app_browsertest.cc",
      "../browser/extensions/lazy_background_page_apitest.cc",
      "../browser/extensions/lazy_background_page_test_util.h",
      "../browser/extensions/mutation_observers_apitest.cc",
      "../browser/extensions/native_bindings_apitest.cc",
      "../browser/extensions/navigation_observer_browsertest.cc",
      "../browser/extensions/options_page_apitest.cc",
      "../browser/extensions/page_action_browsertest.cc",
      "../browser/extensions/process_management_browsertest.cc",
      "../browser/extensions/process_manager_browsertest.cc",
      "../browser/extensions/renderer_initialization_browsertest.cc",
      "../browser/extensions/requirements_checker_browsertest.cc",
      "../browser/extensions/sandboxed_pages_apitest.cc",
      "../browser/extensions/service_worker_apitest.cc",
      "../browser/extensions/shared_module_apitest.cc",
      "../browser/extensions/startup_helper_browsertest.cc",
      "../browser/extensions/stubs_apitest.cc",
      "../browser/extensions/subscribe_page_action_browsertest.cc",
      "../browser/extensions/wake_event_page_apitest.cc",
      "../browser/extensions/web_contents_browsertest.cc",
      "../browser/extensions/webstore_inline_installer_browsertest.cc",
      "../browser/extensions/webstore_installer_browsertest.cc",
      "../browser/extensions/webstore_installer_test.cc",
      "../browser/extensions/webstore_installer_test.h",
      "../browser/extensions/webstore_reinstaller_browsertest.cc",
      "../browser/extensions/webstore_startup_installer_browsertest.cc",
      "../browser/extensions/window_open_apitest.cc",
      "../browser/fast_shutdown_browsertest.cc",
      "../browser/favicon/content_favicon_driver_browsertest.cc",
      "../browser/first_run/first_run_browsertest.cc",
      "../browser/first_run/try_chrome_dialog_view_browsertest.cc",
      "../browser/gcm/fake_gcm_profile_service.cc",
      "../browser/gcm/fake_gcm_profile_service.h",
      "../browser/geolocation/access_token_store_browsertest.cc",
      "../browser/geolocation/geolocation_browsertest.cc",
      "../browser/global_keyboard_shortcuts_mac_browsertest.mm",
      "../browser/history/history_browsertest.cc",
      "../browser/history/redirect_browsertest.cc",
      "../browser/iframe_browsertest.cc",
      "../browser/image_decoder_browsertest.cc",
      "../browser/importer/edge_importer_browsertest_win.cc",
      "../browser/importer/firefox_importer_browsertest.cc",
      "../browser/importer/ie_importer_browsertest_win.cc",
      "../browser/importer/importer_unittest_utils.cc",
      "../browser/importer/importer_unittest_utils.h",
      "../browser/infobars/infobars_browsertest.cc",
      "../browser/installable/installable_manager_browsertest.cc",
      "../browser/interstitials/security_interstitial_page_test_utils.cc",
      "../browser/interstitials/security_interstitial_page_test_utils.h",
      "../browser/invalidation/profile_invalidation_provider_factory_browsertest.cc",
      "../browser/lifetime/browser_close_manager_browsertest.cc",
      "../browser/loader/chrome_resource_dispatcher_host_delegate_browsertest.cc",
      "../browser/loadtimes_extension_bindings_browsertest.cc",
      "../browser/locale_tests_browsertest.cc",
      "../browser/media/defer_background_media_browsertest.cc",
      "../browser/media/encrypted_media_browsertest.cc",
      "../browser/media/encrypted_media_supported_types_browsertest.cc",
      "../browser/media/media_browsertest.cc",
      "../browser/media/media_browsertest.h",
      "../browser/media/test_license_server.cc",
      "../browser/media/test_license_server.h",
      "../browser/media/test_license_server_config.h",
      "../browser/media/webrtc/media_stream_devices_controller_browsertest.cc",
      "../browser/media/webrtc/media_stream_infobar_browsertest.cc",
      "../browser/media/webrtc/test_stats_dictionary.cc",
      "../browser/media/webrtc/test_stats_dictionary.h",
      "../browser/media/webrtc/test_stats_dictionary_unittest.cc",
      "../browser/media/webrtc/webrtc_apprtc_browsertest.cc",
      "../browser/media/webrtc/webrtc_audio_quality_browsertest.cc",
      "../browser/media/webrtc/webrtc_browsertest.cc",
      "../browser/media/webrtc/webrtc_browsertest_audio.cc",
      "../browser/media/webrtc/webrtc_browsertest_audio.h",
      "../browser/media/webrtc/webrtc_browsertest_base.cc",
      "../browser/media/webrtc/webrtc_browsertest_base.h",
      "../browser/media/webrtc/webrtc_browsertest_common.cc",
      "../browser/media/webrtc/webrtc_browsertest_common.h",
      "../browser/media/webrtc/webrtc_browsertest_perf.cc",
      "../browser/media/webrtc/webrtc_browsertest_perf.h",
      "../browser/media/webrtc/webrtc_disable_encryption_flag_browsertest.cc",
      "../browser/media/webrtc/webrtc_getmediadevices_browsertest.cc",
      "../browser/media/webrtc/webrtc_internals_perf_browsertest.cc",
      "../browser/media/webrtc/webrtc_simulcast_browsertest.cc",
      "../browser/media/webrtc/webrtc_stats_perf_browsertest.cc",
      "../browser/media/webrtc/webrtc_video_quality_browsertest.cc",
      "../browser/media/webrtc/webrtc_webcam_browsertest.cc",
      "../browser/media/wv_test_license_server_config.cc",
      "../browser/media/wv_test_license_server_config.h",
      "../browser/media_galleries/fileapi/iapps_finder_impl_win_browsertest.cc",
      "../browser/media_galleries/fileapi/media_file_validator_browsertest.cc",
      "../browser/media_galleries/media_galleries_dialog_controller_mock.cc",
      "../browser/media_galleries/media_galleries_dialog_controller_mock.h",
      "../browser/memory/tab_manager_browsertest.cc",
      "../browser/memory/tab_manager_observer_browsertest.cc",
      "../browser/metrics/metrics_memory_details_browsertest.cc",
      "../browser/metrics/metrics_service_browsertest.cc",
      "../browser/metrics/tab_reactivation_tracker_browsertest.cc",
      "../browser/net/cookie_policy_browsertest.cc",
      "../browser/net/dns_probe_browsertest.cc",
      "../browser/net/errorpage_browsertest.cc",
      "../browser/net/ftp_browsertest.cc",
      "../browser/net/load_timing_browsertest.cc",
      "../browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc",
      "../browser/net/nqe/ui_network_quality_estimator_service_test_util.cc",
      "../browser/net/nqe/ui_network_quality_estimator_service_test_util.h",
      "../browser/net/nss_context_chromeos_browsertest.cc",
      "../browser/net/predictor_browsertest.cc",
      "../browser/net/proxy_browsertest.cc",
      "../browser/net/sdch_browsertest.cc",
      "../browser/net/spdyproxy/chrome_data_use_group_browsertest.cc",
      "../browser/net/websocket_browsertest.cc",
      "../browser/ntp_snippets/content_suggestions_service_factory_browsertest.cc",
      "../browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc",
      "../browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc",
      "../browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h",
      "../browser/page_load_metrics/page_load_metrics_browsertest.cc",
      "../browser/password_manager/credential_manager_browsertest.cc",
      "../browser/password_manager/password_manager_browsertest.cc",
      "../browser/pdf/pdf_extension_test.cc",
      "../browser/pdf/pdf_extension_test_util.cc",
      "../browser/pdf/pdf_extension_test_util.h",
      "../browser/permissions/permission_request_manager_browsertest.cc",
      "../browser/permissions/permissions_browsertest.cc",
      "../browser/permissions/permissions_browsertest.h",
      "../browser/plugins/flash_permission_browsertest.cc",
      "../browser/plugins/plugin_power_saver_browsertest.cc",
      "../browser/policy/cloud/cloud_policy_browsertest.cc",
      "../browser/policy/cloud/cloud_policy_manager_browsertest.cc",
      "../browser/policy/cloud/cloud_policy_test_utils.cc",
      "../browser/policy/cloud/component_cloud_policy_browsertest.cc",
      "../browser/policy/cloud/device_management_service_browsertest.cc",
      "../browser/policy/cloud/test_request_interceptor.cc",
      "../browser/policy/cloud/test_request_interceptor.h",
      "../browser/policy/policy_browsertest.cc",
      "../browser/policy/policy_network_browsertest.cc",
      "../browser/policy/policy_prefs_browsertest.cc",
      "../browser/policy/policy_startup_browsertest.cc",
      "../browser/predictors/resource_prefetch_predictor_browsertest.cc",
      "../browser/predictors/resource_prefetch_predictor_test_util.cc",
      "../browser/predictors/resource_prefetch_predictor_test_util.h",
      "../browser/prefetch/prefetch_browsertest.cc",
      "../browser/prefs/pref_functional_browsertest.cc",
      "../browser/prefs/pref_service_browsertest.cc",
      "../browser/prefs/synced_pref_change_registrar_browsertest.cc",
      "../browser/prefs/tracked/pref_hash_browsertest.cc",
      "../browser/prerender/prerender_browsertest.cc",
      "../browser/prerender/prerender_nostate_prefetch_browsertest.cc",
      "../browser/prerender/prerender_test_utils.cc",
      "../browser/previews/previews_service_browser_test.cc",
      "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
      "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
      "../browser/printing/print_preview_dialog_controller_browsertest.cc",
      "../browser/printing/print_preview_pdf_generated_browsertest.cc",
      "../browser/process_singleton_browsertest.cc",
      "../browser/profile_resetter/profile_resetter_browsertest.cc",
      "../browser/profiles/host_zoom_map_browsertest.cc",
      "../browser/profiles/profile_browsertest.cc",
      "../browser/profiles/profile_list_desktop_browsertest.cc",
      "../browser/profiles/profile_manager_browsertest.cc",
      "../browser/profiles/profile_window_browsertest.cc",
      "../browser/push_messaging/push_messaging_browsertest.cc",
      "../browser/referrer_policy_browsertest.cc",
      "../browser/renderer_context_menu/mock_render_view_context_menu.cc",
      "../browser/renderer_context_menu/mock_render_view_context_menu.h",
      "../browser/renderer_context_menu/render_view_context_menu_browsertest.cc",
      "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.cc",
      "../browser/renderer_context_menu/render_view_context_menu_browsertest_util.h",
      "../browser/renderer_context_menu/render_view_context_menu_test_util.cc",
      "../browser/renderer_context_menu/render_view_context_menu_test_util.h",
      "../browser/renderer_context_menu/spelling_menu_observer_browsertest.cc",
      "../browser/renderer_host/render_process_host_chrome_browsertest.cc",
      "../browser/repost_form_warning_browsertest.cc",
      "../browser/safe_browsing/srt_fetcher_browsertest_win.cc",
      "../browser/safe_json_parser_browsertest.cc",
      "../browser/search/hotword_installer_browsertest.cc",
      "../browser/search/suggestions/image_fetcher_impl_browsertest.cc",
      "../browser/search_engines/template_url_scraper_browsertest.cc",
      "../browser/service_process/service_process_control_browsertest.cc",
      "../browser/sessions/better_session_restore_browsertest.cc",
      "../browser/sessions/persistent_tab_restore_service_browsertest.cc",
      "../browser/sessions/session_restore_browsertest.cc",
      "../browser/sessions/session_restore_browsertest_chromeos.cc",
      "../browser/sessions/tab_restore_browsertest.cc",
      "../browser/site_details_browsertest.cc",
      "../browser/ui/ask_google_for_suggestions_dialog_browsertest.cc",

      # If this list is used on Android in the future, these browser/speech/*
      # files will probably not be applicable.
      "../browser/speech/extension_api/tts_extension_apitest.cc",
      "../browser/speech/speech_recognition_browsertest.cc",
      "../browser/spellchecker/spellcheck_service_browsertest.cc",
      "../browser/ssl/cert_verifier_browser_test.cc",
      "../browser/ssl/cert_verifier_browser_test.h",
      "../browser/ssl/certificate_reporting_test_utils.cc",
      "../browser/ssl/certificate_reporting_test_utils.h",
      "../browser/ssl/chrome_ssl_host_state_delegate_test.cc",
      "../browser/ssl/security_state_tab_helper_browser_tests.cc",
      "../browser/ssl/ssl_browser_tests.cc",
      "../browser/ssl/ssl_client_certificate_selector_test.cc",
      "../browser/ssl/ssl_client_certificate_selector_test.h",
      "../browser/storage/durable_storage_browsertest.cc",
      "../browser/subresource_filter/subresource_filter_browsertest.cc",
      "../browser/subresource_filter/test_ruleset_publisher.cc",
      "../browser/subresource_filter/test_ruleset_publisher.h",
      "../browser/sync_file_system/mock_local_change_processor.cc",
      "../browser/sync_file_system/mock_local_change_processor.h",
      "../browser/sync_file_system/mock_remote_file_sync_service.cc",
      "../browser/sync_file_system/mock_remote_file_sync_service.h",
      "../browser/tab_contents/navigation_metrics_recorder_browsertest.cc",
      "../browser/tab_contents/view_source_browsertest.cc",
      "../browser/task_manager/mock_web_contents_task_manager.cc",
      "../browser/task_manager/mock_web_contents_task_manager.h",
      "../browser/task_manager/providers/web_contents/background_contents_tag_browsertest.cc",
      "../browser/task_manager/providers/web_contents/devtools_tag_browsertest.cc",
      "../browser/task_manager/providers/web_contents/extension_tag_browsertest.cc",
      "../browser/task_manager/providers/web_contents/subframe_task_browsertest.cc",
      "../browser/task_manager/providers/web_contents/tab_contents_tag_browsertest.cc",
      "../browser/task_manager/task_manager_browsertest.cc",
      "../browser/task_manager/task_manager_browsertest_util.cc",
      "../browser/task_manager/task_manager_browsertest_util.h",
      "../browser/task_manager/task_manager_tester.cc",
      "../browser/task_manager/task_manager_tester.h",
      "../browser/themes/theme_service_browsertest.cc",
      "../browser/tracing/chrome_tracing_delegate_browsertest.cc",
      "../browser/translate/translate_browsertest.cc",
      "../browser/translate/translate_manager_browsertest.cc",
      "../browser/ui/autofill/card_unmask_prompt_view_browsertest.cc",
      "../browser/ui/autofill/card_unmask_prompt_view_tester.h",
      "../browser/ui/autofill/password_generation_popup_view_browsertest.cc",
      "../browser/ui/autofill/password_generation_popup_view_tester.h",
      "../browser/ui/bookmarks/bookmark_browsertest.cc",
      "../browser/ui/browser_browsertest.cc",
      "../browser/ui/browser_command_controller_browsertest.cc",
      "../browser/ui/browser_navigator_browsertest.cc",
      "../browser/ui/browser_navigator_browsertest.h",
      "../browser/ui/browser_navigator_browsertest_chromeos.cc",
      "../browser/ui/browser_tabrestore_browsertest.cc",
      "../browser/ui/collected_cookies_browsertest.cc",
      "../browser/ui/content_settings/content_setting_bubble_model_browsertest.cc",
      "../browser/ui/content_settings/content_setting_image_model_browsertest.cc",
      "../browser/ui/exclusive_access/fullscreen_controller_browsertest.cc",
      "../browser/ui/extensions/extension_installed_bubble_browsertest.cc",
      "../browser/ui/extensions/extension_message_bubble_browsertest.cc",
      "../browser/ui/extensions/extension_message_bubble_browsertest.h",
      "../browser/ui/extensions/hosted_app_browsertest.cc",
      "../browser/ui/find_bar/find_bar_host_browsertest.cc",
      "../browser/ui/javascript_dialogs/javascript_dialog_browsertest.cc",
      "../browser/ui/location_bar/location_bar_browsertest.cc",
      "../browser/ui/login/login_handler_browsertest.cc",
      "../browser/ui/native_window_tracker_browsertest.cc",
      "../browser/ui/passwords/manage_passwords_test.cc",
      "../browser/ui/prefs/prefs_tab_helper_browsertest.cc",
      "../browser/ui/profile_error_browsertest.cc",
      "../browser/ui/search/new_tab_page_interceptor_browsertest.cc",
      "../browser/ui/search_engines/search_engine_tab_helper_browsertest.cc",
      "../browser/ui/settings_window_manager_browsertest.cc",
      "../browser/ui/startup/startup_browser_creator_browsertest.cc",
      "../browser/ui/startup/startup_browser_creator_corrupt_profiles_browsertest_win.cc",
      "../browser/ui/startup/startup_browser_creator_triggered_reset_browsertest_win.cc",
      "../browser/ui/sync/one_click_signin_links_delegate_impl_browsertest.cc",
      "../browser/ui/sync/profile_signin_confirmation_helper_browsertest.cc",
      "../browser/ui/tab_modal_confirm_dialog_browsertest.cc",
      "../browser/ui/tab_modal_confirm_dialog_browsertest.h",
      "../browser/ui/test/browser_dialog_browsertest.cc",
      "../browser/ui/test/test_browser_dialog.cc",
      "../browser/ui/test/test_browser_dialog.h",
      "../browser/ui/toolbar/browser_actions_bar_browsertest.cc",
      "../browser/ui/toolbar/browser_actions_bar_browsertest.h",
      "../browser/ui/toolbar/component_toolbar_actions_browsertest.cc",
      "../browser/ui/toolbar/mock_component_toolbar_actions_factory.cc",
      "../browser/ui/toolbar/mock_component_toolbar_actions_factory.h",
      "../browser/ui/update_chrome_dialog_browsertest.cc",
      "../browser/ui/website_settings/mock_permission_prompt.cc",
      "../browser/ui/website_settings/mock_permission_prompt.h",
      "../browser/ui/website_settings/mock_permission_prompt_factory.cc",
      "../browser/ui/website_settings/mock_permission_prompt_factory.h",
      "../browser/ui/website_settings/permission_bubble_browser_test_util.cc",
      "../browser/ui/website_settings/permission_bubble_browser_test_util.h",
      "../browser/ui/webui/bidi_checker_web_ui_test.cc",
      "../browser/ui/webui/bidi_checker_web_ui_test.h",
      "../browser/ui/webui/bookmarks_ui_browsertest.cc",
      "../browser/ui/webui/chrome_url_data_manager_browsertest.cc",
      "../browser/ui/webui/chromeos/bluetooth_pairing_ui_browsertest-inl.h",
      "../browser/ui/webui/constrained_web_dialog_ui_browsertest.cc",
      "../browser/ui/webui/extensions/extension_settings_browsertest.cc",
      "../browser/ui/webui/extensions/extension_settings_browsertest.h",
      "../browser/ui/webui/identity_internals_ui_browsertest.cc",
      "../browser/ui/webui/identity_internals_ui_browsertest.h",
      "../browser/ui/webui/inspect_ui_browsertest.cc",
      "../browser/ui/webui/interstitials/interstitial_ui_browsertest.cc",
      "../browser/ui/webui/log_web_ui_url_browsertest.cc",
      "../browser/ui/webui/net_internals/net_internals_ui_browsertest.cc",
      "../browser/ui/webui/net_internals/net_internals_ui_browsertest.h",
      "../browser/ui/webui/ntp/new_tab_ui_browsertest.cc",
      "../browser/ui/webui/options/certificate_manager_browsertest.cc",
      "../browser/ui/webui/options/clear_browser_data_browsertest.cc",
      "../browser/ui/webui/options/content_settings_exception_area_browsertest.cc",
      "../browser/ui/webui/options/multilanguage_options_browsertest.cc",
      "../browser/ui/webui/options/multilanguage_options_browsertest.h",
      "../browser/ui/webui/options/options_browsertest.cc",
      "../browser/ui/webui/options/options_ui_browsertest.cc",
      "../browser/ui/webui/options/options_ui_browsertest.h",
      "../browser/ui/webui/options/preferences_browsertest.cc",
      "../browser/ui/webui/options/preferences_browsertest.h",
      "../browser/ui/webui/password_manager_internals/password_manager_internals_ui_browsertest.cc",
      "../browser/ui/webui/policy_ui_browsertest.cc",
      "../browser/ui/webui/print_preview/print_preview_ui_browsertest.cc",
      "../browser/ui/webui/set_as_default_browser_ui_browsertest_win.cc",
      "../browser/ui/webui/settings/md_settings_ui_browsertest.cc",
      "../browser/ui/webui/signin/inline_login_ui_browsertest.cc",
      "../browser/ui/webui/signin/user_manager_ui_browsertest.cc",
      "../browser/ui/webui/task_scheduler_internals/task_scheduler_internals_ui_browsertest.cc",
      "../browser/ui/webui/uber/uber_ui_browsertest.cc",
      "../browser/ui/webui/webui_browsertest.cc",
      "../browser/ui/webui/webui_webview_browsertest.cc",
      "../browser/ui/zoom/zoom_controller_browsertest.cc",
      "../browser/unload_browsertest.cc",
      "../browser/usb/usb_browsertest.cc",
      "../browser/web_bluetooth_browsertest.cc",
      "../common/mac/app_mode_chrome_locator_browsertest.mm",
      "../common/mac/mock_launchd.cc",
      "../common/mac/mock_launchd.h",
      "../common/time_format_browsertest.cc",
      "../renderer/autofill/autofill_renderer_browsertest.cc",
      "../renderer/autofill/fake_content_password_manager_driver.cc",
      "../renderer/autofill/fake_content_password_manager_driver.h",
      "../renderer/autofill/fake_password_manager_client.cc",
      "../renderer/autofill/fake_password_manager_client.h",
      "../renderer/autofill/form_autocomplete_browsertest.cc",
      "../renderer/autofill/form_autofill_browsertest.cc",
      "../renderer/autofill/form_classifier_browsertest.cc",
      "../renderer/autofill/page_click_tracker_browsertest.cc",
      "../renderer/autofill/password_autofill_agent_browsertest.cc",
      "../renderer/autofill/password_generation_agent_browsertest.cc",
      "../renderer/autofill/password_generation_test_utils.cc",
      "../renderer/autofill/password_generation_test_utils.h",
      "../renderer/chrome_content_renderer_client_browsertest.cc",
      "../renderer/chrome_render_frame_observer_browsertest.cc",
      "../renderer/content_settings_observer_browsertest.cc",
      "../renderer/media/cast_session_browsertest.cc",
      "../renderer/translate/translate_helper_browsertest.cc",
      "../renderer/translate/translate_script_browsertest.cc",
      "base/chrome_render_view_test.cc",
      "base/chrome_render_view_test.h",
      "base/in_process_browser_test_browsertest.cc",
      "base/test_chrome_web_ui_controller_factory_browsertest.cc",
      "base/tracing_browsertest.cc",
      "base/web_ui_browser_test_browsertest.cc",
      "data/webui/async_gen.cc",
      "data/webui/async_gen.h",
      "data/webui/certificate_viewer_ui_test-inl.h",
      "data/webui/chrome_send_browsertest.cc",
      "data/webui/chrome_send_browsertest.h",
      "data/webui/history_ui_browsertest.cc",
      "data/webui/history_ui_browsertest.h",
      "data/webui/ntp4_browsertest.cc",
      "data/webui/ntp4_browsertest.h",
      "data/webui/print_preview.cc",
      "data/webui/print_preview.h",
      "data/webui/webui_resource_browsertest.cc",
      "gpu/webgl_infobar_browsertest.cc",
      "ppapi/ppapi_browsertest.cc",
      "ppapi/ppapi_filechooser_browsertest.cc",
    ]

    deps += [
      ":browser_tests_js_webui",
      ":sync_integration_test_support",
      ":test_support_ui",
      "//base:i18n",
      "//base/test:test_support",
      "//chrome:browser_tests_pak",
      "//chrome:packed_resources",
      "//chrome:resources",
      "//chrome:strings",
      "//chrome/browser",
      "//chrome/renderer",
      "//components/autofill/content/browser:risk_proto",
      "//components/autofill/content/renderer:test_support",
      "//components/captive_portal:test_support",
      "//components/dom_distiller/content/browser",
      "//components/dom_distiller/content/renderer",
      "//components/dom_distiller/core:test_support",
      "//components/guest_view/browser:test_support",
      "//components/policy:chrome_settings_proto",
      "//components/resources",
      "//components/safe_browsing_db:test_database_manager",
      "//components/strings",
      "//components/sync",
      "//components/translate/core/common",
      "//content/public/common:features",
      "//content/test:test_support",
      "//crypto:platform",
      "//crypto:test_support",
      "//device/base:mocks",
      "//device/bluetooth:mocks",
      "//device/serial:test_support",
      "//device/usb:test_support",
      "//google_apis:test_support",
      "//media",
      "//media/base:test_support",
      "//media/cast:test_support",
      "//mojo/common:common_base",
      "//net",
      "//net:test_support",
      "//sdch",
      "//services/service_manager/public/cpp",
      "//skia",
      "//testing/gmock",
      "//testing/gtest",
      "//testing/perf",
      "//third_party/cacheinvalidation",
      "//third_party/icu",
      "//third_party/leveldatabase",
      "//third_party/libjingle",
      "//third_party/webrtc/modules/desktop_capture",
      "//third_party/widevine/cdm:headers",
      "//ui/accessibility:test_support",
      "//ui/base:test_support",
      "//ui/compositor:test_support",
      "//ui/resources",
      "//ui/web_dialogs:test_support",
      "//v8",
    ]

    # Runtime dependencies
    data_deps += [
      "//ppapi:ppapi_tests",
      "//ppapi:power_saver_test_plugin",
      "//remoting/webapp:browser_test_resources",
      "//remoting/webapp:unit_tests",
      "//third_party/mesa:osmesa",
      "//third_party/widevine/cdm:widevine_test_license_server",
    ]

    data += [
      "data/",
      "//chrome/browser/policy/test/asn1der.py",
      "//chrome/browser/policy/test/policy_testserver.py",
      "//chrome/common/extensions/docs/examples/apps/calculator/",
      "//chrome/third_party/mock4js/",
      "//components/test/data/update_client/",
      "//content/test/data/",
      "//google_apis/test/",
      "//media/test/data/",
      "//net/tools/testserver/",
      "//ppapi/tests/test_case.html",
      "//ppapi/tests/test_case.html.mock-http-headers",
      "//ppapi/tests/test_page.css",
      "//ppapi/tests/test_page.css.mock-http-headers",
      "//testing/test_env.py",
      "//third_party/accessibility-audit/axs_testing.js",
      "//third_party/chaijs/chai.js",
      "//third_party/mocha/mocha.js",
      "//third_party/pyftpdlib/",
      "//third_party/pywebsocket/",
      "//third_party/simplejson/",
      "//third_party/tlslite/",
      "//ui/webui/resources/js/",
      "$root_out_dir/pyproto/",
      "$root_out_dir/browser_tests.pak",
      "$root_out_dir/remoting/unittests/",
      "$root_out_dir/test_case.html",
      "$root_out_dir/test_case.html.mock-http-headers",
      "$root_out_dir/test_data/",
      "$root_out_dir/test_page.css",
      "$root_out_dir/test_page.css.mock-http-headers",
      "$root_out_dir/test_url_loader_data/",
    ]

    if (!is_mac) {
      data += [
        "$root_out_dir/locales/",
        "$root_out_dir/chrome_100_percent.pak",
        "$root_out_dir/chrome_200_percent.pak",
        "$root_out_dir/resources.pak",
      ]
    }

    # TODO(crbug.com/679127): Enable these tests on "mac_views_browser" once it
    # is supported.
    if (is_linux || is_win) {
      sources +=
          [ "../browser/payments/site_per_process_payments_browsertest.cc" ]
    }

    if (enable_captive_portal_detection) {
      sources +=
          [ "../browser/ssl/captive_portal_blocking_page_browsertest.cc" ]
    }
    if (!enable_one_click_signin) {
      sources -= [ "../browser/ui/sync/one_click_signin_links_delegate_impl_browsertest.cc" ]
    }
    if (enable_nacl) {
      sources += [
        "../browser/chrome_service_worker_browsertest.cc",
        "../browser/extensions/extension_nacl_browsertest.cc",
        "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc",
        "nacl/nacl_browsertest.cc",
        "nacl/nacl_browsertest_uma.cc",
        "nacl/nacl_browsertest_util.cc",
        "nacl/nacl_browsertest_util.h",
        "nacl/pnacl_header_test.cc",
        "nacl/pnacl_header_test.h",
      ]
      deps += [ "//components/nacl/renderer/plugin:nacl_trusted_plugin" ]

      data_deps += [
        "//chrome/test/data/nacl",
        "//ppapi/native_client:irt",
        "//ppapi:ppapi_nacl_tests_all",
        "//ppapi/tests/extensions",
      ]
      if (is_chromeos) {
        sources += [ "//third_party/liblouis/nacl_wrapper/liblouis_wrapper_browsertest.cc" ]
        deps += [ "//chrome/browser/chromeos" ]
        data_deps += [ "//third_party/liblouis:liblouis_test_data" ]
      } else if (is_linux || is_win) {
        sources += [
          "../browser/ui/views/ime/ime_warning_bubble_browsertest.cc",
          "../browser/ui/views/ime/ime_window_browsertest.cc",
        ]
      }

      if (is_win || is_linux) {
        sources += [ "../browser/nacl_host/test/nacl_gdb_browsertest.cc" ]
        data_deps += [ "//chrome/browser/nacl_host/test:mock_nacl_gdb" ]
      }
      if (is_win) {
        # TODO(halyavin) NaCl on Windows can't open debug stub socket in
        # browser process as needed by this test. See http://crbug.com/157312.
        sources -= [ "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc" ]
        configs -= [ "//build/config/win:default_incremental_linking" ]
        configs +=
            [ "//build/config/win:default_large_module_incremental_linking" ]
      }
      if (is_linux) {
        data_deps += [ "//components/nacl/loader:nacl_helper" ]

        if (enable_nacl_nonsfi) {
          data_deps += [ "//components/nacl/loader:helper_nonsfi" ]
        }
      }
    }

    if (enable_extensions) {
      sources += [
        "../browser/apps/app_browsertest_util.cc",
        "../browser/apps/app_browsertest_util.h",
        "../browser/extensions/browsertest_util.cc",
        "../browser/extensions/browsertest_util.h",
        "../browser/extensions/extension_apitest.cc",
        "../browser/extensions/extension_apitest.h",
        "../browser/extensions/extension_browsertest.cc",
        "../browser/extensions/extension_browsertest.h",
        "../browser/extensions/extension_function_test_utils.cc",
        "../browser/extensions/extension_function_test_utils.h",
        "../browser/extensions/updater/extension_cache_fake.cc",
        "../browser/extensions/updater/extension_cache_fake.h",
        "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_model_browsertest.cc",
        "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_test_utils.cc",
        "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_test_utils.h",
      ]

      deps += [
        "//chrome/common/extensions/api",

        # TODO(rockot) bug 505926: The chrome_extensions_browsertests target
        # should be deleted and this line removed. See the
        # chrome_extensions_browsertests target for more.
        "//extensions:chrome_extensions_browsertests",
        "//extensions/common/api",
      ]
    }

    if (use_ash) {
      sources += [
        "../browser/ui/ash/accelerator_commands_browsertest.cc",
        "../browser/ui/ash/accelerator_controller_browsertest.cc",
        "../browser/ui/ash/app_list/app_list_controller_ash_browsertest.cc",
        "../browser/ui/ash/chrome_new_window_client_browsertest.cc",
        "../browser/ui/ash/keyboard_controller_browsertest.cc",
        "../browser/ui/ash/launcher/chrome_launcher_controller_impl_browsertest.cc",
        "../browser/ui/ash/launcher/launcher_favicon_loader_browsertest.cc",
        "../browser/ui/ash/multi_user/multi_user_window_manager_test.cc",
        "../browser/ui/ash/multi_user/multi_user_window_manager_test.h",
        "../browser/ui/ash/networking_config_delegate_chromeos_browsertest.cc",
        "../browser/ui/ash/shelf_browsertest.cc",
        "../browser/ui/ash/system_tray_client_browsertest.cc",
        "../browser/ui/ash/system_tray_delegate_chromeos_browsertest_chromeos.cc",
        "../browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc",
        "../browser/ui/ash/volume_controller_browsertest.cc",
        "../browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc",
      ]
      deps += [
        "//ash/test:ash_with_aura_test_support",
        "//ash/test:test_support_with_content",
      ]

      if (enable_app_list) {
        deps += [ ":test_support_applist_ash" ]
      }
    }
    if (use_aura || toolkit_views) {
      deps += [ "//ui/events:test_support" ]
    }
    if (toolkit_views) {
      sources += [
        "../browser/ui/global_error/global_error_service_browsertest.cc",
        "../browser/ui/views/external_protocol_dialog_browsertest.cc",
        "../browser/ui/views/frame/browser_non_client_frame_view_browsertest_win.cc",
        "../browser/ui/views/frame/browser_window_property_manager_browsertest_win.cc",
        "../browser/ui/views/select_file_dialog_extension_browsertest.cc",
        "../browser/ui/views/sync/profile_signin_confirmation_dialog_views_browsertest.cc",
      ]
      deps += [ "//ui/views" ]
      if (!is_chromeos && (!is_mac || mac_views_browser)) {
        sources += [ "../browser/ui/views/profiles/profile_chooser_view_browsertest.cc" ]
      }
      if (!is_mac || mac_views_browser) {
        sources += [
          # TODO(tapted): Move these to chrome_browser_tests_views_sources when the
          # the corresponding files are moved in chrome_browser_ui.gypi (i.e. out of
          # chrome_browser_ui_views_non_mac_sources). http://crbug.com/404979.
          "../browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc",
          "../browser/ui/views/autofill/card_unmask_prompt_view_tester_views.cc",
          "../browser/ui/views/autofill/card_unmask_prompt_view_tester_views.h",
          "../browser/ui/views/autofill/password_generation_popup_view_tester_views.cc",
          "../browser/ui/views/autofill/password_generation_popup_view_tester_views.h",
          "../browser/ui/views/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc",
          "../browser/ui/views/collected_cookies_views_browsertest.cc",
          "../browser/ui/views/extensions/bookmark_override_browsertest.cc",
          "../browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc",
          "../browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc",
          "../browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc",
          "../browser/ui/views/frame/browser_non_client_frame_view_browsertest.cc",
          "../browser/ui/views/frame/browser_view_browsertest.cc",
          "../browser/ui/views/location_bar/zoom_bubble_view_browsertest.cc",
          "../browser/ui/views/media_router/media_router_ui_browsertest.cc",
          "../browser/ui/views/passwords/password_dialog_view_browsertest.cc",
          "../browser/ui/views/task_manager_view_browsertest.cc",
          "../browser/ui/views/toolbar/browser_actions_container_browsertest.cc",
          "../browser/ui/views/translate/translate_bubble_view_browsertest.cc",
          "../browser/ui/views/web_dialog_view_browsertest.cc",
        ]
      }
    }

    if (is_linux && !is_component_build) {
      # Set rpath to find the CDM adapter even in a non-component build.
      configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
    }

    if (is_chromeos) {
      sources += [
        "../browser/apps/custom_launcher_page_browsertest_views.cc",
        "../browser/chromeos/accessibility/accessibility_manager_browsertest.cc",
        "../browser/chromeos/accessibility/magnification_manager_browsertest.cc",
        "../browser/chromeos/accessibility/speech_monitor.cc",
        "../browser/chromeos/accessibility/speech_monitor.h",
        "../browser/chromeos/accessibility/touch_exploration_controller_browsertest.cc",
        "../browser/chromeos/app_mode/arc/arc_kiosk_app_manager_browsertest.cc",
        "../browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc",
        "../browser/chromeos/app_mode/kiosk_app_update_service_browsertest.cc",
        "../browser/chromeos/arc/arc_session_manager_browsertest.cc",
        "../browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc",
        "../browser/chromeos/arc/auth/arc_robot_auth_code_fetcher_browsertest.cc",
        "../browser/chromeos/arc/intent_helper/arc_settings_service_browsertest.cc",
        "../browser/chromeos/attestation/attestation_policy_browsertest.cc",
        "../browser/chromeos/customization/customization_document_browsertest.cc",
        "../browser/chromeos/customization/customization_wallpaper_downloader_browsertest.cc",
        "../browser/chromeos/device/input_service_proxy_browsertest.cc",
        "../browser/chromeos/device/input_service_test_helper.cc",
        "../browser/chromeos/device/input_service_test_helper.h",
        "../browser/chromeos/display/quirks_browsertest.cc",
        "../browser/chromeos/drive/drive_integration_service_browsertest.cc",
        "../browser/chromeos/extensions/accessibility_features_apitest.cc",
        "../browser/chromeos/extensions/echo_private_apitest.cc",
        "../browser/chromeos/extensions/file_manager/file_browser_handler_api_test.cc",
        "../browser/chromeos/extensions/file_manager/file_manager_private_apitest.cc",
        "../browser/chromeos/extensions/file_system_provider/file_system_provider_apitest.cc",
        "../browser/chromeos/extensions/info_private_apitest.cc",
        "../browser/chromeos/extensions/input_method_apitest_chromeos.cc",
        "../browser/chromeos/extensions/users_private/users_private_apitest.cc",
        "../browser/chromeos/extensions/virtual_keyboard_browsertest.cc",
        "../browser/chromeos/extensions/virtual_keyboard_browsertest.h",
        "../browser/chromeos/extensions/wallpaper_apitest.cc",
        "../browser/chromeos/extensions/wallpaper_manager_browsertest.cc",
        "../browser/chromeos/extensions/wallpaper_private_apitest.cc",
        "../browser/chromeos/file_manager/audio_player_browsertest.cc",
        "../browser/chromeos/file_manager/external_filesystem_apitest.cc",
        "../browser/chromeos/file_manager/file_manager_browsertest.cc",
        "../browser/chromeos/file_manager/file_manager_browsertest_base.cc",
        "../browser/chromeos/file_manager/file_manager_browsertest_base.h",
        "../browser/chromeos/file_manager/file_manager_jstest.cc",
        "../browser/chromeos/file_manager/file_manager_jstest_base.cc",
        "../browser/chromeos/file_manager/file_manager_jstest_base.h",
        "../browser/chromeos/file_manager/gallery_browsertest.cc",
        "../browser/chromeos/file_manager/gallery_jstest.cc",
        "../browser/chromeos/file_manager/image_loader_jstest.cc",
        "../browser/chromeos/file_manager/mount_test_util.cc",
        "../browser/chromeos/file_manager/mount_test_util.h",
        "../browser/chromeos/file_manager/video_player_browsertest.cc",
        "../browser/chromeos/file_manager/zip_file_creator_browsertest.cc",
        "../browser/chromeos/first_run/chromeos_first_run_browsertest.cc",
        "../browser/chromeos/first_run/drive_first_run_browsertest.cc",
        "../browser/chromeos/first_run/goodies_displayer_browsertest.cc",
        "../browser/chromeos/input_method/input_method_engine_browsertests.cc",
        "../browser/chromeos/input_method/mode_indicator_browsertest.cc",
        "../browser/chromeos/login/auto_launched_kiosk_browsertest.cc",
        "../browser/chromeos/login/bluetooth_host_pairing_browsertest.cc",
        "../browser/chromeos/login/crash_restore_browsertest.cc",
        "../browser/chromeos/login/demo_mode/demo_app_launcher_browsertest.cc",
        "../browser/chromeos/login/easy_unlock/bootstrap_browsertest.cc",
        "../browser/chromeos/login/enable_debugging_browsertest.cc",
        "../browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc",
        "../browser/chromeos/login/enrollment/mock_auto_enrollment_check_screen.cc",
        "../browser/chromeos/login/enrollment/mock_auto_enrollment_check_screen.h",
        "../browser/chromeos/login/enterprise_enrollment_browsertest.cc",
        "../browser/chromeos/login/existing_user_controller_browsertest.cc",
        "../browser/chromeos/login/hid_detection_browsertest.cc",
        "../browser/chromeos/login/kiosk_browsertest.cc",
        "../browser/chromeos/login/lock/screen_locker_tester.cc",
        "../browser/chromeos/login/lock/screen_locker_tester.h",
        "../browser/chromeos/login/login_manager_test.cc",
        "../browser/chromeos/login/login_manager_test.h",
        "../browser/chromeos/login/login_screen_policy_browsertest.cc",
        "../browser/chromeos/login/login_ui_keyboard_browsertest.cc",
        "../browser/chromeos/login/login_utils_browsertest.cc",
        "../browser/chromeos/login/mixin_based_browser_test.cc",
        "../browser/chromeos/login/mixin_based_browser_test.h",
        "../browser/chromeos/login/oobe_localization_browsertest.cc",
        "../browser/chromeos/login/proxy_auth_dialog_browsertest.cc",
        "../browser/chromeos/login/reset_browsertest.cc",
        "../browser/chromeos/login/resource_loader_browsertest.cc",
        "../browser/chromeos/login/saml/saml_browsertest.cc",
        "../browser/chromeos/login/screens/hid_detection_screen_browsertest.cc",
        "../browser/chromeos/login/screens/mock_enable_debugging_screen.cc",
        "../browser/chromeos/login/screens/mock_enable_debugging_screen.h",
        "../browser/chromeos/login/screens/mock_error_screen.cc",
        "../browser/chromeos/login/screens/mock_error_screen.h",
        "../browser/chromeos/login/screens/mock_eula_screen.cc",
        "../browser/chromeos/login/screens/mock_eula_screen.h",
        "../browser/chromeos/login/screens/mock_network_screen.cc",
        "../browser/chromeos/login/screens/mock_network_screen.h",
        "../browser/chromeos/login/screens/mock_update_screen.cc",
        "../browser/chromeos/login/screens/mock_update_screen.h",
        "../browser/chromeos/login/screens/mock_wrong_hwid_screen.cc",
        "../browser/chromeos/login/screens/mock_wrong_hwid_screen.h",
        "../browser/chromeos/login/screens/network_screen_browsertest.cc",
        "../browser/chromeos/login/screens/update_screen_browsertest.cc",
        "../browser/chromeos/login/session/chrome_session_manager_browsertest.cc",
        "../browser/chromeos/login/session_login_browsertest.cc",
        "../browser/chromeos/login/signin/device_id_browsertest.cc",
        "../browser/chromeos/login/signin/oauth2_browsertest.cc",
        "../browser/chromeos/login/supervised/supervised_user_creation_browsertest.cc",
        "../browser/chromeos/login/supervised/supervised_user_password_browsertest.cc",
        "../browser/chromeos/login/supervised/supervised_user_test_base.cc",
        "../browser/chromeos/login/supervised/supervised_user_test_base.h",
        "../browser/chromeos/login/test/https_forwarder.cc",
        "../browser/chromeos/login/test/https_forwarder.h",
        "../browser/chromeos/login/test/oobe_base_test.cc",
        "../browser/chromeos/login/test/oobe_base_test.h",
        "../browser/chromeos/login/test/wizard_in_process_browser_test.cc",
        "../browser/chromeos/login/test/wizard_in_process_browser_test.h",
        "../browser/chromeos/login/ui/captive_portal_window_browsertest.cc",
        "../browser/chromeos/login/ui/login_feedback_browsertest.cc",
        "../browser/chromeos/login/ui/login_web_dialog_browsertest.cc",
        "../browser/chromeos/login/ui/simple_web_view_dialog_browsertest.cc",
        "../browser/chromeos/login/ui/user_adding_screen_browsertest.cc",
        "../browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc",
        "../browser/chromeos/login/users/avatar/user_image_manager_test_util.cc",
        "../browser/chromeos/login/users/avatar/user_image_manager_test_util.h",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.cc",
        "../browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.h",
        "../browser/chromeos/login/webview_login_browsertest.cc",
        "../browser/chromeos/login/wizard_controller_browsertest.cc",
        "../browser/chromeos/net/network_portal_detector_impl_browsertest.cc",
        "../browser/chromeos/ownership/fake_owner_settings_service.cc",
        "../browser/chromeos/ownership/fake_owner_settings_service.h",
        "../browser/chromeos/policy/affiliation_test_helper.cc",
        "../browser/chromeos/policy/affiliation_test_helper.h",
        "../browser/chromeos/policy/blocking_login_browsertest.cc",
        "../browser/chromeos/policy/device_cloud_policy_browsertest.cc",
        "../browser/chromeos/policy/device_local_account_browsertest.cc",
        "../browser/chromeos/policy/device_policy_cros_browser_test.cc",
        "../browser/chromeos/policy/device_policy_cros_browser_test.h",
        "../browser/chromeos/policy/device_quirks_policy_browsertest.cc",
        "../browser/chromeos/policy/device_status_collector_browsertest.cc",
        "../browser/chromeos/policy/device_system_use_24hour_clock_browsertest.cc",
        "../browser/chromeos/policy/display_rotation_default_handler_browsertest.cc",
        "../browser/chromeos/policy/force_maximize_on_first_run_chromeos_browsertest.cc",
        "../browser/chromeos/policy/login_policy_test_base.cc",
        "../browser/chromeos/policy/login_policy_test_base.h",
        "../browser/chromeos/policy/login_screen_default_policy_browsertest.cc",
        "../browser/chromeos/policy/policy_cert_verifier_browsertest.cc",
        "../browser/chromeos/policy/power_policy_browsertest.cc",
        "../browser/chromeos/policy/restore_on_startup_browsertest_chromeos.cc",
        "../browser/chromeos/policy/user_affiliation_browsertest.cc",
        "../browser/chromeos/policy/user_cloud_external_data_manager_browsertest.cc",
        "../browser/chromeos/policy/user_cloud_policy_manager_chromeos_browsertest.cc",
        "../browser/chromeos/policy/user_policy_test_helper.cc",
        "../browser/chromeos/policy/user_policy_test_helper.h",
        "../browser/chromeos/policy/variations_service_policy_browsertest.cc",
        "../browser/chromeos/power/peripheral_battery_observer_browsertest.cc",
        "../browser/chromeos/preferences_chromeos_browsertest.cc",
        "../browser/chromeos/profiles/profile_helper_browsertest.cc",
        "../browser/chromeos/settings/scoped_cros_settings_test_helper.cc",
        "../browser/chromeos/settings/scoped_cros_settings_test_helper.h",
        "../browser/chromeos/shutdown_policy_browsertest.cc",
        "../browser/chromeos/system/device_disabling_browsertest.cc",
        "../browser/chromeos/system/tray_accessibility_browsertest.cc",
        "../browser/download/notification/download_notification_browsertest.cc",
        "../browser/drive/drive_notification_manager_factory_browsertest.cc",
        "../browser/extensions/api/certificate_provider/certificate_provider_apitest.cc",
        "../browser/extensions/api/hotword_private/hotword_private_apitest.cc",
        "../browser/extensions/api/vpn_provider/vpn_provider_apitest.cc",
        "../browser/ui/ash/launcher/arc_app_launcher_browsertest.cc",
        "../browser/ui/views/arc_app_dialog_view_browsertest.cc",
        "../browser/ui/webui/options/chromeos/accounts_options_browsertest.cc",
        "../browser/ui/webui/options/chromeos/guest_mode_options_browsertest.cc",
        "../browser/ui/webui/options/chromeos/guest_mode_options_ui_browsertest.cc",
        "../browser/ui/webui/options/chromeos/shared_options_browsertest.cc",
        "//ui/base/ime/chromeos/input_method_whitelist.cc",
        "//ui/base/ime/chromeos/input_method_whitelist.h",
      ]
      sources -= [
        "../../apps/load_and_launch_browsertest.cc",
        "../browser/policy/policy_startup_browsertest.cc",

        # chromeos does not support profile list avatar menu
        "../browser/profiles/profile_list_desktop_browsertest.cc",
        "../browser/service_process/service_process_control_browsertest.cc",
        "../browser/ui/views/external_protocol_dialog_browsertest.cc",

        # inline login UI is disabled on chromeos
        "../browser/ui/views/sync/profile_signin_confirmation_dialog_views_browsertest.cc",
        "../browser/ui/webui/signin/inline_login_ui_browsertest.cc",

        # chromeos does not use the desktop user manager
        "../browser/ui/webui/signin/user_manager_ui_browsertest.cc",
      ]
      deps += [
        "//chrome/browser/chromeos:arc_test_support",
        "//chromeos/ime:gencode",
        "//components/arc:arc_test_support",
        "//components/user_manager:test_support",
        "//ui/login:resources",
      ]

      if (use_dbus) {
        deps += [ "//dbus:test_support" ]
      }
    } else {  # !is_chromeos
      sources -= [
        "../browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc",
        "../browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc",
        "../browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc",
        "../browser/extensions/api/terminal/terminal_private_apitest.cc",
        "../browser/invalidation/profile_invalidation_provider_factory_browsertest.cc",
        "../browser/net/nss_context_chromeos_browsertest.cc",
        "data/webui/certificate_viewer_ui_test-inl.h",
      ]
      if (toolkit_views) {
        sources -= [ "../browser/ui/views/select_file_dialog_extension_browsertest.cc" ]
      }
      if (is_win || is_linux) {
        sources +=
            [ "../browser/ui/views/ime/input_ime_apitest_nonchromeos.cc" ]
      }
    }
    if (safe_browsing_mode == 1) {
      sources += [
        "../browser/safe_browsing/certificate_reporting_service_browsertest.cc",
        "../browser/safe_browsing/permission_reporter_browsertest.cc",
        "../browser/safe_browsing/safe_browsing_blocking_page_test.cc",
        "../browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc",
        "../browser/safe_browsing/safe_browsing_service_browsertest.cc",
        "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
        "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
        "../renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc",
        "../renderer/safe_browsing/threat_dom_details_browsertest.cc",
      ]
    }
    if (enable_captive_portal_detection) {
      sources += [ "../browser/captive_portal/captive_portal_browsertest.cc" ]
    }
    if (enable_webrtc) {
      deps += [ "//content/public/common:feature_h264_with_openh264_ffmpeg" ]
    } else {
      sources -= [
        "../browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc",
        "../browser/extensions/api/webrtc_logging_private/webrtc_event_log_apitest.cc",
        "../browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc",
        "../browser/media/webrtc/webrtc_apprtc_browsertest.cc",
        "../browser/media/webrtc/webrtc_audio_quality_browsertest.cc",
        "../browser/media/webrtc/webrtc_browsertest.cc",
        "../browser/media/webrtc/webrtc_disable_encryption_flag_browsertest.cc",
        "../browser/media/webrtc/webrtc_getmediadevices_browsertest.cc",
        "../browser/media/webrtc/webrtc_internals_perf_browsertest.cc",
        "../browser/media/webrtc/webrtc_simulcast_browsertest.cc",
        "../browser/media/webrtc/webrtc_stats_perf_browsertest.cc",
        "../browser/media/webrtc/webrtc_video_quality_browsertest.cc",
        "../browser/media/webrtc/webrtc_webcam_browsertest.cc",
      ]
    }
    if (enable_media_router) {
      sources += [ "../browser/ui/webui/media_router/media_router_dialog_controller_impl_browsertest.cc" ]
      deps += [ "//chrome/test/media_router:media_router_browsertests" ]
    }
    if (is_win) {
      deps += [
        "//chrome:other_version",
        "//chrome/app:command_ids",
        "//third_party/wtl",
        "//ui/resources",
      ]
    } else {
      sources -= [
        "../app/chrome_version.rc.version",
        "../browser/media_galleries/fileapi/iapps_finder_impl_win_browsertest.cc",
      ]
    }
    if (is_mac) {
      # Other platforms only need .pak files, and can build this target
      # standalone much faster.
      deps += [
        "//chrome",
        "//chrome/common:app_mode_app_support",

        # TODO(GYP) Mac: GYP has this dependency. Uncommenting this line
        # generates duplicate symbols between
        #   obj/components/crash/content/app/breakpad_stubs/crash_reporter_client.o
        #   obj/components/crash/content/app/lib/crash_reporter_client.o
        # It's not clear how this is supposed to work. The intent seems to be
        # to not link breakpad in the tests. The dependency on .../app:lib
        # seems to come from //chrome/app:test_support. That reference maybe
        # should be a dependency on the stubs instead because it could be all
        # tests might want them. Or it could be that we need to make a new
        # "headers" target to make GN check happy, and then force each
        # executable to link the correct implementation. Somebody with a
        # higher-level understanding of Mac crash reporting needs to think
        # about this.
        # "//components/crash/content/app:breakpad_stubs",
        "//third_party/ocmock",
      ]
      sources += [
        "../browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper_browsertest.mm",
        "../browser/spellchecker/spellcheck_message_filter_platform_mac_browsertest.cc",
        "../browser/ui/cocoa/certificate_viewer_mac_browsertest.mm",
      ]
      sources -= [
        # TODO(groby): This test depends on hunspell and we cannot run it on
        # Mac, which does not use hunspell by default.
        "../browser/spellchecker/spellcheck_service_browsertest.cc",

        # ProcessSingletonMac doesn"t do anything.
        "../browser/process_singleton_browsertest.cc",
      ]

      if (safe_browsing_mode == 1) {
        sources -= [
          # single-process mode hangs on Mac sometimes because of multiple UI
          # message loops. See 306348
          "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
          "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
        ]
      }

      data_deps += [
        "//chrome",
        "//chrome:chrome_framework",
      ]

      # TODO(rsesek): Remove once https://crbug.com/611414 is fixed.
      data += [
        "$root_out_dir/Chromium.app/",
        "$root_out_dir/Chromium Framework.framework/",
        "$root_out_dir/power_saver_test_plugin.plugin/",
        "$root_out_dir/ppapi_tests.plugin/",
      ]

      # The browser window can be views or Cocoa on Mac. Test accordingly.
      if (!mac_views_browser) {
        sources += [
          "../browser/ui/cocoa/accelerators_cocoa_browsertest.mm",
          "../browser/ui/cocoa/applescript/browsercrapplication+applescript_test.mm",
          "../browser/ui/cocoa/applescript/window_applescript_test.mm",
          "../browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm",
          "../browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm",
          "../browser/ui/cocoa/browser_window_controller_browsertest.mm",
          "../browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm",
          "../browser/ui/cocoa/content_settings/collected_cookies_mac_browsertest.mm",
          "../browser/ui/cocoa/content_settings/content_setting_bubble_cocoa_browsertest.mm",
          "../browser/ui/cocoa/dev_tools_controller_browsertest.mm",
          "../browser/ui/cocoa/extensions/extension_install_dialog_controller_browsertest.mm",
          "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h",
          "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm",
          "../browser/ui/cocoa/extensions/extension_message_bubble_browsertest_mac.mm",
          "../browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_browsertest.mm",
          "../browser/ui/cocoa/extensions/windowed_install_dialog_controller_browsertest.mm",
          "../browser/ui/cocoa/find_bar/find_bar_browsertest.mm",
          "../browser/ui/cocoa/location_bar/content_setting_decoration_browsertest.mm",
          "../browser/ui/cocoa/location_bar/zoom_decoration_browsertest.mm",
          "../browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm",
          "../browser/ui/cocoa/passwords/passwords_bubble_browsertest.mm",
          "../browser/ui/cocoa/profiles/profile_signin_confirmation_view_controller_browsertest.mm",
          "../browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_browsertest.mm",
          "../browser/ui/cocoa/ssl_client_certificate_selector_cocoa_browsertest.mm",
          "../browser/ui/cocoa/task_manager_mac_browsertest.mm",
          "../browser/ui/cocoa/view_id_util_browsertest.mm",
          "../browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac_browsertest.mm",
          "../browser/ui/cocoa/website_settings/permission_bubble_cocoa_browser_test.mm",
        ]
      }
    }
    if (is_win) {
      sources += [ "../browser/extensions/api/networking_private/networking_private_credentials_getter_browsertest.cc" ]
    }
    if (is_mac || is_win) {
      sources += [
        "../browser/extensions/api/image_writer_private/image_writer_utility_client_browsertest.cc",
        "../browser/extensions/api/networking_private/networking_private_apitest.cc",
        "../browser/extensions/api/networking_private/networking_private_service_client_apitest.cc",
        "../browser/media_galleries/fileapi/itunes_data_provider_browsertest.cc",
        "../browser/media_galleries/fileapi/picasa_data_provider_browsertest.cc",
      ]
      deps += [ "//components/wifi:test_support" ]
    }
    if (is_linux || is_win) {
      sources += [
        # This test is for the spelling options submenu that's only for Windows,
        # ChromeOS, and Linux.
        "../browser/renderer_context_menu/spelling_options_submenu_observer_browsertest.cc",
      ]
    }
    if (!is_posix || is_chromeos) {
      sources -= [ "../common/time_format_browsertest.cc" ]
    }
    if (is_chromeos) {
      sources += [
        "../browser/extensions/api/networking_private/networking_private_apitest.cc",
        "../browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc",
      ]
    }
    if (is_mac || is_win || (is_linux && !is_chromeos)) {
      sources += [
        # Tests for non mobile and non CrOS (includes Linux, Win, Mac).
        "../browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc",
        "../browser/metrics/desktop_session_duration/chrome_visibility_observer_browsertest.cc",
        "../browser/profiles/profile_statistics_browsertest.cc",
      ]
    }
    if (enable_app_list) {
      sources += [
        "../browser/apps/drive/drive_app_converter_browsertest.cc",
        "../browser/apps/drive/drive_app_provider_browsertest.cc",
        "../browser/ui/app_list/app_list_controller_browsertest.cc",
        "../browser/ui/app_list/app_list_service_impl_browsertest.cc",
        "../browser/ui/app_list/search/webstore/webstore_provider_browsertest.cc",
        "../browser/ui/app_list/speech_recognizer_browsertest.cc",
      ]
    }
    if (enable_service_discovery) {
      sources += [ "../browser/extensions/api/mdns/mdns_apitest.cc" ]
    }
    if (enable_supervised_users) {
      sources += [
        "../browser/supervised_user/supervised_user_browsertest.cc",
        "../browser/supervised_user/supervised_user_resource_throttle_browsertest.cc",
        "../browser/supervised_user/supervised_user_service_browsertest.cc",
      ]
    }
    if (enable_pepper_cdms) {
      # Runtime dependencies.
      data_deps += [
        "//media/cdm/ppapi:clearkeycdmadapter",
        "//third_party/widevine/cdm:widevinecdmadapter",
      ]
    }
    if (!enable_print_preview) {
      sources -= [
        "../browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc",
        "../browser/printing/print_preview_dialog_controller_browsertest.cc",
        "../browser/printing/print_preview_pdf_generated_browsertest.cc",
        "../browser/service_process/service_process_control_browsertest.cc",
        "../browser/ui/webui/print_preview/print_preview_ui_browsertest.cc",
        "data/webui/print_preview.cc",
        "data/webui/print_preview.h",
      ]
    }
    if (!enable_print_preview || is_mac || is_chromeos) {
      sources -= [
        # This test depends on GetCommandLineForRelaunch, which is not
        # available on Mac. It is also not intended to run on ChromeOS.
        "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
      ]
    }
    if (!enable_print_preview || is_chromeos) {
      sources -= [
        # Not intended to run on ChromeOS.
        "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
      ]
    }
    if (enable_mdns) {
      sources += [
        "../browser/extensions/api/gcd_private/gcd_private_apitest.cc",
        "../browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc",
      ]
    }
    if (use_brlapi) {
      deps += [ "//build/linux/libbrlapi" ]
    } else {
      sources -= [ "../browser/extensions/api/braille_display_private/braille_display_private_apitest.cc" ]
    }
    if (is_chrome_branded && safe_browsing_mode == 1 && !is_mac) {
      sources -= [
        # These tests depend on single process mode, which is disabled in
        # official builds.
        "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
        "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
      ]
    }
    if (enable_remoting) {
      sources += [
        "remoting/auth_browsertest.cc",
        "remoting/fullscreen_browsertest.cc",
        "remoting/it2me_browsertest.cc",
        "remoting/key_code_conv.cc",
        "remoting/key_code_conv.h",
        "remoting/key_code_map.h",
        "remoting/key_code_test_map.h",
        "remoting/launch_browsertest.cc",
        "remoting/me2me_browsertest.cc",
        "remoting/page_load_notification_observer.cc",
        "remoting/page_load_notification_observer.h",
        "remoting/pin_browsertest.cc",
        "remoting/qunit_browser_test_runner.cc",
        "remoting/remote_desktop_browsertest.cc",
        "remoting/remote_desktop_browsertest.h",
        "remoting/remote_test_helper.cc",
        "remoting/remote_test_helper.h",
        "remoting/scrollbar_browsertest.cc",
        "remoting/unauthenticated_browsertest.cc",
        "remoting/waiter.cc",
        "remoting/waiter.h",
        "remoting/webapp_javascript_browsertest.cc",
      ]
      deps += [ "//remoting/webapp" ]
    }

    if (use_aura) {
      if (enable_wifi_display) {
        sources += [
          "../../extensions/browser/api/display_source/display_source_apitestbase.cc",
          "../../extensions/browser/api/display_source/display_source_apitestbase.h",
          "../browser/extensions/api/display_source/display_source_wifi_display_apitest.cc",
        ]
      }
    }

    if (is_chromeos || (is_linux && use_dbus)) {
      sources += [ "../browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc" ]
    }
  }
}

if (!is_android) {
  test("sync_integration_tests") {
    sources = [
      "../app/chrome_version.rc.version",
      "../browser/sync/test/integration/enable_disable_test.cc",
      "../browser/sync/test/integration/migration_test.cc",
      "../browser/sync/test/integration/single_client_app_list_sync_test.cc",
      "../browser/sync/test/integration/single_client_apps_sync_test.cc",
      "../browser/sync/test/integration/single_client_arc_package_sync_test.cc",
      "../browser/sync/test/integration/single_client_bookmarks_sync_test.cc",
      "../browser/sync/test/integration/single_client_dictionary_sync_test.cc",
      "../browser/sync/test/integration/single_client_directory_sync_test.cc",
      "../browser/sync/test/integration/single_client_extensions_sync_test.cc",
      "../browser/sync/test/integration/single_client_password_manager_setting_migrator_service_sync_test.cc",
      "../browser/sync/test/integration/single_client_passwords_sync_test.cc",
      "../browser/sync/test/integration/single_client_preferences_sync_test.cc",
      "../browser/sync/test/integration/single_client_printers_sync_test.cc",
      "../browser/sync/test/integration/single_client_search_engines_sync_test.cc",
      "../browser/sync/test/integration/single_client_sessions_sync_test.cc",
      "../browser/sync/test/integration/single_client_supervised_user_settings_sync_test.cc",
      "../browser/sync/test/integration/single_client_themes_sync_test.cc",
      "../browser/sync/test/integration/single_client_typed_urls_sync_test.cc",
      "../browser/sync/test/integration/single_client_wallet_sync_test.cc",
      "../browser/sync/test/integration/single_client_wifi_credentials_sync_test.cc",
      "../browser/sync/test/integration/sync_auth_test.cc",
      "../browser/sync/test/integration/sync_errors_test.cc",
      "../browser/sync/test/integration/sync_exponential_backoff_test.cc",
      "../browser/sync/test/integration/two_client_app_list_sync_test.cc",
      "../browser/sync/test/integration/two_client_apps_sync_test.cc",
      "../browser/sync/test/integration/two_client_arc_package_sync_test.cc",
      "../browser/sync/test/integration/two_client_autofill_sync_test.cc",
      "../browser/sync/test/integration/two_client_bookmarks_sync_test.cc",
      "../browser/sync/test/integration/two_client_dictionary_sync_test.cc",
      "../browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc",
      "../browser/sync/test/integration/two_client_extensions_sync_test.cc",
      "../browser/sync/test/integration/two_client_password_manager_setting_migrator_service_sync_test.cc",
      "../browser/sync/test/integration/two_client_passwords_sync_test.cc",
      "../browser/sync/test/integration/two_client_preferences_sync_test.cc",
      "../browser/sync/test/integration/two_client_printers_sync_test.cc",
      "../browser/sync/test/integration/two_client_search_engines_sync_test.cc",
      "../browser/sync/test/integration/two_client_sessions_sync_test.cc",
      "../browser/sync/test/integration/two_client_themes_sync_test.cc",
      "../browser/sync/test/integration/two_client_typed_urls_sync_test.cc",
      "../browser/sync/test/integration/two_client_uss_sync_test.cc",
      "../browser/sync/test/integration/two_client_wifi_credentials_sync_test.cc",
      "data/resource.rc",
    ]

    data = [
      "//chrome/test/data/sync/",
      "//net/tools/testserver/",
      "//components/sync/tools/testserver/",
      "//third_party/pyftpdlib/",
      "//third_party/pywebsocket/",
      "//third_party/tlslite/",
      "$root_out_dir/pyproto/",
      "//testing/xvfb.py",
    ]

    if (is_linux || is_win) {
      data += [
        "$root_out_dir/chrome_100_percent.pak",
        "$root_out_dir/chrome_200_percent.pak",
        "$root_out_dir/locales/en-US.pak",
        "$root_out_dir/resources.pak",
      ]
    }

    # TODO(phajdan.jr): Only temporary, to make transition easier.
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    deps = [
      ":browser_tests_runner",
      ":sync_integration_test_support",
      ":test_support",
      ":test_support_ui",
      "//chrome:packed_resources",
      "//chrome:resources",
      "//chrome:strings",
      "//chrome/app:chrome_dll_resources",
      "//chrome/app:command_ids",
      "//chrome/common",
      "//chrome/renderer",
      "//components/sync",
      "//crypto:platform",
      "//testing/gmock",
      "//testing/gtest",
      "//third_party/WebKit/public:blink",
      "//third_party/icu",
      "//third_party/leveldatabase",
    ]

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

    if (is_mac) {
      # Dictionary sync is disabled on Mac.
      sources -= [
        "../browser/sync/test/integration/single_client_dictionary_sync_test.cc",
        "../browser/sync/test/integration/two_client_dictionary_sync_test.cc",
      ]

      data_deps += [
        "//chrome",
        "//chrome:chrome_framework",
      ]
    }
    if (is_win) {
      deps += [
        "//chrome:other_version",
        "//third_party/wtl",
        "//ui/resources",
      ]

      configs -= [ "//build/config/win:default_incremental_linking" ]
      configs +=
          [ "//build/config/win:default_large_module_incremental_linking" ]
    } else {
      sources -= [ "../app/chrome_version.rc.version" ]
    }
    if (!is_chromeos) {
      sources -= [
        "../browser/sync/test/integration/single_client_arc_package_sync_test.cc",
        "../browser/sync/test/integration/single_client_printers_sync_test.cc",
        "../browser/sync/test/integration/single_client_wifi_credentials_sync_test.cc",
        "../browser/sync/test/integration/two_client_arc_package_sync_test.cc",
        "../browser/sync/test/integration/two_client_printers_sync_test.cc",
        "../browser/sync/test/integration/two_client_wifi_credentials_sync_test.cc",
      ]
    }

    if (toolkit_views) {
      deps += [ "//ui/views" ]
    }
    if (enable_basic_printing || enable_print_preview) {
      deps += [ "//printing" ]
    }
    if (!enable_app_list) {
      sources -= [
        "../browser/sync/test/integration/single_client_app_list_sync_test.cc",
        "../browser/sync/test/integration/two_client_app_list_sync_test.cc",
      ]
    }
    if (!enable_supervised_users) {
      sources -= [ "../browser/sync/test/integration/single_client_supervised_user_settings_sync_test.cc" ]
    }
  }

  test("sync_performance_tests") {
    sources = [
      "../app/chrome_version.rc.version",
      "../browser/sync/test/integration/performance/autofill_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/bookmarks_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/dictionary_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/extensions_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/passwords_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/sessions_sync_perf_test.cc",
      "../browser/sync/test/integration/performance/sync_timing_helper.cc",
      "../browser/sync/test/integration/performance/sync_timing_helper.h",
      "../browser/sync/test/integration/performance/typed_urls_sync_perf_test.cc",
      "base/browser_perf_tests_main.cc",
      "data/resource.rc",
    ]

    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    deps = [
      ":sync_integration_test_support",
      ":test_support_ui",
      "//chrome/app:chrome_dll_resources",
      "//chrome/app:command_ids",
      "//components/sync",
      "//crypto:platform",
      "//testing/gmock",
      "//testing/gtest",
    ]

    if (is_mac) {
      # Dictionary sync is disabled on Mac.
      sources -= [ "../browser/sync/test/integration/performance/dictionary_sync_perf_test.cc" ]

      # The sync_performance_tests do not run on mac without this flag.
      # Search for comments about "xcode_settings" elsewhere in this file.
      ldflags = [ "-Wl,-ObjC" ]
    }
    if (is_win) {
      deps += [
        "//chrome:other_version",
        "//chrome/installer/util:strings",
        "//third_party/wtl",
        "//ui/resources",
      ]
      configs -= [ "//build/config/win:default_incremental_linking" ]
      configs +=
          [ "//build/config/win:default_large_module_incremental_linking" ]
    } else {
      sources -= [ "../app/chrome_version.rc.version" ]
    }

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

    # This target should not require the Chrome executable to run.
    assert_no_deps = [ "//chrome" ]
  }

  # Executable to measure time to load libraries.
  test("load_library_perf_tests") {
    sources = [
      "../browser/load_library_perf_test.cc",
    ]

    # This test deliberately does not depend in chrome's test support targets.
    # This is a small test and Chrome's test support targets bring in the
    # world, causing link time to explode. Please don't add more dependencies
    # here without understanding how it affects link time (and factor them
    # differently if possible).
    deps = [
      "//base/test:test_support_perf",
      "//ppapi/features",
      "//testing/gtest",
      "//testing/perf",
      "//third_party/widevine/cdm:headers",
    ]

    if (enable_pepper_cdms) {
      deps += [
        "//chrome/browser:pepper_cdm_test_constants",
        "//media:cdm_paths",
      ]
      data_deps = [
        "//media/cdm/ppapi:clearkeycdmadapter",
        "//third_party/widevine/cdm:widevinecdmadapter",
      ]
    }

    data = [
      # Needed for isolate script to execute.
      "//testing/scripts/common.py",
      "//testing/xvfb.py",
      "//testing/scripts/run_gtest_perf_test.py",
      "//tools/perf/generate_legacy_perf_dashboard_json.py",
    ]

    # This target should not require the Chrome executable to run.
    assert_no_deps = [ "//chrome" ]
  }
}

# TODO(GYP_GONE): Delete this after we've converted everything to GN.
# The _run targets exist only for compatibility w/ GYP.
group("telemetry_perf_unittests_run") {
  testonly = true
  deps = [
    ":telemetry_perf_unittests",
  ]
}

group("telemetry_perf_unittests") {
  testonly = true
  deps = [
    "//tools/perf:perf",
  ]

  data = [
    # For isolate contract.
    "//testing/scripts/common.py",
    "//testing/xvfb.py",
    "//testing/scripts/run_telemetry_as_googletest.py",
  ]
}

group("telemetry_perf_tests") {
  testonly = true
  deps = [
    "//tools/perf/:perf",
  ]

  data = [
    # Needed for isolate script to execute.
    "//testing/scripts/common.py",
    "//testing/xvfb.py",
    "//testing/scripts/run_telemetry_benchmark_as_googletest.py",
  ]
}

group("angle_perftests") {
  testonly = true
  if (is_win || is_linux) {
    data_deps = [
      "//third_party/angle/src/tests:angle_perftests",
    ]
  }

  data = [
    # Needed for isolate script to execute.
    "//testing/scripts/common.py",
    "//testing/xvfb.py",
    "//testing/scripts/run_gtest_perf_test.py",
    "//tools/perf/generate_legacy_perf_dashboard_json.py",
  ]
}

js2gtest("unit_tests_js") {
  test_type = "unit"
  sources = [
    "../browser/resources/google_now/background_unittest.gtestjs",
    "../browser/resources/google_now/cards_unittest.gtestjs",
    "../browser/resources/google_now/utility_unittest.gtestjs",
    "../browser/resources/md_downloads/action_service_unittest.gtestjs",
    "../browser/resources/print_preview/data/measurement_system_unittest.gtestjs",
    "../browser/resources/print_preview/print_preview_utils_unittest.gtestjs",
    "../renderer/resources/extensions/notifications_custom_bindings.gtestjs",
    "../test/data/unit/framework_unittest.gtestjs",
  ]
  extra_js_files = [
    "../browser/resources/google_now/background.js",
    "../browser/resources/google_now/background_test_util.js",
    "../browser/resources/google_now/cards.js",
    "../browser/resources/google_now/common_test_util.js",
    "../browser/resources/google_now/utility.js",
    "../browser/resources/google_now/utility_test_util.js",
    "../browser/resources/md_downloads/action_service.js",
    "../browser/resources/print_preview/data/measurement_system.js",
    "../browser/resources/print_preview/print_preview_utils.js",
    "../renderer/resources/extensions/notifications_custom_bindings.js",
    "../renderer/resources/extensions/notifications_test_util.js",
    "//ui/webui/resources/js/cr.js",
  ]
  if (is_chromeos) {
    sources += [
      "../browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs",
      "../browser/resources/chromeos/select_to_speak/select_to_speak_unittest.gtestjs",
    ]
    extra_js_files += [
      "../browser/resources/chromeos/braille_ime/braille_ime.js",
      "../browser/resources/chromeos/select_to_speak/select_to_speak.js",
      "../browser/resources/chromeos/select_to_speak/test_support.js",
    ]
  }
}

test("unit_tests") {
  sources = [
    # histograms.xml is analyzed by AboutFlagsHistogramTest, so this
    # dependency is needed to make commit bots run unit_tests on
    # histograms.xml changes.
    "../../tools/metrics/histograms/histograms.xml",

    # All unittests in browser, common, renderer and service.
    "../browser/about_flags_unittest.cc",
    "../browser/after_startup_task_utils_unittest.cc",
    "../browser/android/bookmarks/partner_bookmarks_shim_unittest.cc",
    "../browser/android/compositor/layer/tab_layer_unittest.cc",
    "../browser/android/contextualsearch/contextual_search_delegate_unittest.cc",
    "../browser/android/contextualsearch/contextual_search_field_trial_unittest.cc",
    "../browser/android/data_usage/data_use_matcher_unittest.cc",
    "../browser/android/data_usage/data_use_tab_model_unittest.cc",
    "../browser/android/data_usage/data_use_ui_tab_model_unittest.cc",
    "../browser/android/data_usage/external_data_use_observer_unittest.cc",
    "../browser/android/data_usage/external_data_use_reporter_unittest.cc",
    "../browser/android/data_usage/tab_data_use_entry_unittest.cc",
    "../browser/android/download/download_manager_service_unittest.cc",
    "../browser/android/history_report/data_observer_unittest.cc",
    "../browser/android/history_report/delta_file_backend_leveldb_unittest.cc",
    "../browser/android/history_report/delta_file_commons_unittest.cc",
    "../browser/android/history_report/usage_reports_buffer_backend_unittest.cc",
    "../browser/android/locale/special_locale_handler_unittest.cc",

    # TODO(newt): move this to test_support_unit?
    "../browser/android/chrome_backup_agent_unittest.cc",
    "../browser/android/favicon_helper_unittest.cc",
    "../browser/android/mock_location_settings.cc",
    "../browser/android/mock_location_settings.h",
    "../browser/android/net/external_estimate_provider_android_unittest.cc",
    "../browser/android/physical_web/physical_web_data_source_android_unittest.cc",
    "../browser/android/preferences/pref_service_bridge_unittest.cc",
    "../browser/android/shortcut_info_unittest.cc",
    "../browser/android/thumbnail/scoped_ptr_expiring_cache_unittest.cc",
    "../browser/android/webapk/webapk_icon_hasher_unittest.cc",
    "../browser/android/webapk/webapk_installer_unittest.cc",
    "../browser/android/webapk/webapk_web_manifest_checker_unittest.cc",
    "../browser/android/webapps/add_to_homescreen_data_fetcher_unittest.cc",
    "../browser/app_controller_mac_unittest.mm",
    "../browser/autocomplete/search_provider_unittest.cc",
    "../browser/autocomplete/shortcuts_provider_extension_unittest.cc",
    "../browser/background_sync/background_sync_controller_impl_unittest.cc",
    "../browser/background_sync/background_sync_permission_context_unittest.cc",
    "../browser/banners/app_banner_settings_helper_unittest.cc",
    "../browser/bitmap_fetcher/bitmap_fetcher_service_unittest.cc",
    "../browser/bookmarks/managed_bookmark_service_unittest.cc",
    "../browser/browser_about_handler_unittest.cc",
    "../browser/browser_process_impl_unittest.cc",
    "../browser/browsing_data/browsing_data_appcache_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_cache_storage_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_channel_id_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_cookie_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_counter_utils_unittest.cc",
    "../browser/browsing_data/browsing_data_database_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_file_system_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_indexed_db_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_local_storage_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_media_license_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_quota_helper_unittest.cc",
    "../browser/browsing_data/browsing_data_remover_impl_unittest.cc",
    "../browser/browsing_data/browsing_data_remover_test_util.cc",
    "../browser/browsing_data/browsing_data_remover_test_util.h",
    "../browser/browsing_data/browsing_data_service_worker_helper_unittest.cc",
    "../browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc",
    "../browser/browsing_data/cookies_tree_model_unittest.cc",
    "../browser/browsing_data/site_data_size_collector_unittest.cc",
    "../browser/budget_service/budget_database_unittest.cc",
    "../browser/budget_service/budget_manager_unittest.cc",
    "../browser/chrome_content_browser_client_unittest.cc",
    "../browser/chrome_process_singleton_win_unittest.cc",
    "../browser/command_updater_unittest.cc",
    "../browser/component_updater/chrome_component_updater_configurator_unittest.cc",
    "../browser/component_updater/component_installer_errors_unittest.cc",
    "../browser/component_updater/origin_trials_component_installer_unittest.cc",
    "../browser/component_updater/sth_set_component_installer_unittest.cc",
    "../browser/component_updater/subresource_filter_component_installer_unittest.cc",
    "../browser/component_updater/supervised_user_whitelist_installer_unittest.cc",
    "../browser/component_updater/sw_reporter_installer_win_unittest.cc",
    "../browser/conflicts/module_database_win_unittest.cc",
    "../browser/conflicts/module_event_sink_impl_win_unittest.cc",
    "../browser/conflicts/module_info_util_win_unittest.cc",
    "../browser/content_settings/content_settings_default_provider_unittest.cc",
    "../browser/content_settings/content_settings_mock_observer.cc",
    "../browser/content_settings/content_settings_mock_observer.h",
    "../browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc",
    "../browser/content_settings/content_settings_policy_provider_unittest.cc",
    "../browser/content_settings/content_settings_pref_provider_unittest.cc",
    "../browser/content_settings/content_settings_usages_state_unittest.cc",
    "../browser/content_settings/cookie_settings_factory_unittest.cc",
    "../browser/content_settings/host_content_settings_map_unittest.cc",
    "../browser/content_settings/mock_settings_observer.cc",
    "../browser/content_settings/mock_settings_observer.h",
    "../browser/content_settings/tab_specific_content_settings_unittest.cc",
    "../browser/custom_handlers/protocol_handler_registry_unittest.cc",
    "../browser/data_usage/tab_id_annotator_unittest.cc",
    "../browser/data_usage/tab_id_provider_unittest.cc",
    "../browser/data_use_measurement/chrome_data_use_ascriber_service_unittest.cc",
    "../browser/data_use_measurement/chrome_data_use_ascriber_unittest.cc",
    "../browser/devtools/devtools_network_controller_unittest.cc",
    "../browser/download/all_download_item_notifier_unittest.cc",
    "../browser/download/chrome_download_manager_delegate_unittest.cc",
    "../browser/download/download_history_unittest.cc",
    "../browser/download/download_item_model_unittest.cc",
    "../browser/download/download_path_reservation_tracker_unittest.cc",
    "../browser/download/download_prefs_unittest.cc",
    "../browser/download/download_query_unittest.cc",
    "../browser/download/download_request_infobar_delegate_unittest.cc",
    "../browser/download/download_request_limiter_unittest.cc",
    "../browser/download/download_resource_throttle_unittest.cc",
    "../browser/download/download_status_updater_unittest.cc",
    "../browser/download/download_target_determiner_unittest.cc",
    "../browser/download/download_ui_controller_unittest.cc",
    "../browser/engagement/important_sites_util_unittest.cc",
    "../browser/engagement/site_engagement_helper_unittest.cc",
    "../browser/engagement/site_engagement_score_unittest.cc",
    "../browser/engagement/site_engagement_service_unittest.cc",
    "../browser/external_protocol/external_protocol_handler_unittest.cc",
    "../browser/favicon/chrome_fallback_icon_client_unittest.cc",
    "../browser/file_select_helper_unittest.cc",
    "../browser/gcm/fake_gcm_profile_service.cc",
    "../browser/gcm/fake_gcm_profile_service.h",
    "../browser/geolocation/geolocation_permission_context_unittest.cc",
    "../browser/global_keyboard_shortcuts_mac_unittest.mm",
    "../browser/google/google_update_settings_unittest.cc",
    "../browser/google/google_update_win_unittest.cc",
    "../browser/history/android/android_cache_database_unittest.cc",
    "../browser/history/android/android_history_provider_service_unittest.cc",
    "../browser/history/android/android_provider_backend_unittest.cc",
    "../browser/history/android/android_urls_database_unittest.cc",
    "../browser/history/android/bookmark_model_sql_handler_unittest.cc",
    "../browser/history/android/sqlite_cursor_unittest.cc",
    "../browser/history/android/urls_sql_handler_unittest.cc",
    "../browser/history/android/visit_sql_handler_unittest.cc",
    "../browser/history/browsing_history_service_unittest.cc",
    "../browser/install_verification/win/loaded_module_verification_unittest.cc",
    "../browser/install_verification/win/module_ids_unittest.cc",
    "../browser/install_verification/win/module_info_unittest.cc",
    "../browser/install_verification/win/module_list_unittest.cc",
    "../browser/install_verification/win/module_verification_test.cc",
    "../browser/install_verification/win/module_verification_test.h",
    "../browser/installable/installable_manager_unittest.cc",
    "../browser/internal_auth_unittest.cc",
    "../browser/io_thread_unittest.cc",
    "../browser/loader/chrome_navigation_data_unittest.cc",
    "../browser/loader/chrome_resource_dispatcher_host_delegate_unittest.cc",
    "../browser/logging_chrome_unittest.cc",
    "../browser/mac/exception_processor_unittest.mm",
    "../browser/mac/keystone_glue_unittest.mm",
    "../browser/manifest/manifest_icon_downloader_unittest.cc",
    "../browser/manifest/manifest_icon_selector_unittest.cc",
    "../browser/media/midi_permission_context_unittest.cc",
    "../browser/media/webrtc/media_stream_device_permission_context_unittest.cc",
    "../browser/metrics/antivirus_metrics_provider_win_unittest.cc",
    "../browser/metrics/chrome_browser_main_extra_parts_metrics_unittest.cc",
    "../browser/metrics/chrome_metrics_service_accessor_unittest.cc",
    "../browser/metrics/perf/perf_provider_chromeos_unittest.cc",
    "../browser/metrics/subprocess_metrics_provider_unittest.cc",
    "../browser/metrics/thread_watcher_android_unittest.cc",
    "../browser/metrics/thread_watcher_unittest.cc",
    "../browser/mod_pagespeed/mod_pagespeed_metrics_unittest.cc",
    "../browser/net/chrome_network_delegate_unittest.cc",
    "../browser/net/dns_probe_runner_unittest.cc",
    "../browser/net/dns_probe_service_unittest.cc",
    "../browser/net/file_downloader_unittest.cc",
    "../browser/net/net_error_tab_helper_unittest.cc",
    "../browser/net/predictor_unittest.cc",
    "../browser/net/probe_message_unittest.cc",
    "../browser/net/quota_policy_channel_id_store_unittest.cc",
    "../browser/net/safe_search_util_unittest.cc",
    "../browser/net/spdyproxy/chrome_data_use_group_provider_unittest.cc",
    "../browser/net/spdyproxy/chrome_data_use_group_unittest.cc",
    "../browser/net/spdyproxy/data_reduction_proxy_chrome_settings_unittest.cc",
    "../browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc",
    "../browser/net/url_info_unittest.cc",
    "../browser/notifications/desktop_notification_profile_util_unittest.cc",
    "../browser/notifications/notification_permission_context_unittest.cc",
    "../browser/notifications/notification_platform_bridge_mac_unittest.mm",
    "../browser/notifications/platform_notification_service_unittest.cc",
    "../browser/notifications/stub_alert_dispatcher_mac.h",
    "../browser/notifications/stub_alert_dispatcher_mac.mm",
    "../browser/notifications/stub_notification_center_mac.h",
    "../browser/notifications/stub_notification_center_mac.mm",
    "../browser/ntp_snippets/bookmark_last_visit_updater_unittest.cc",
    "../browser/ntp_snippets/download_suggestions_provider_unittest.cc",
    "../browser/page_load_metrics/metrics_web_contents_observer_unittest.cc",
    "../browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/google_captcha_observer_unittest.cc",
    "../browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc",
    "../browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h",
    "../browser/page_load_metrics/observers/previews_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/protocol_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc",
    "../browser/page_load_metrics/user_input_tracker_unittest.cc",
    "../browser/password_manager/chrome_password_manager_client_unittest.cc",
    "../browser/password_manager/password_manager_internals_service_unittest.cc",
    "../browser/password_manager/password_store_mac_unittest.cc",
    "../browser/password_manager/password_store_proxy_mac_unittest.cc",
    "../browser/password_manager/password_store_win_unittest.cc",
    "../browser/password_manager/password_store_x_unittest.cc",
    "../browser/password_manager/simple_password_store_mac_unittest.cc",
    "../browser/permissions/chooser_context_base_unittest.cc",
    "../browser/permissions/delegation_tracker_unittest.cc",
    "../browser/permissions/permission_context_base_unittest.cc",
    "../browser/permissions/permission_decision_auto_blocker_unittest.cc",
    "../browser/permissions/permission_manager_unittest.cc",
    "../browser/permissions/permission_uma_util_unittest.cc",
    "../browser/permissions/permission_util_unittest.cc",
    "../browser/policy/cloud/cloud_policy_invalidator_unittest.cc",
    "../browser/policy/cloud/cloud_policy_test_utils.cc",
    "../browser/policy/cloud/remote_commands_invalidator_unittest.cc",
    "../browser/policy/cloud/user_policy_signin_service_unittest.cc",
    "../browser/policy/file_selection_dialogs_policy_handler_unittest.cc",
    "../browser/policy/javascript_policy_handler_unittest.cc",
    "../browser/policy/managed_bookmarks_policy_handler_unittest.cc",
    "../browser/policy/profile_policy_connector_unittest.cc",
    "../browser/predictors/autocomplete_action_predictor_table_unittest.cc",
    "../browser/predictors/autocomplete_action_predictor_unittest.cc",
    "../browser/predictors/resource_prefetch_common_unittest.cc",
    "../browser/predictors/resource_prefetch_predictor_tables_unittest.cc",
    "../browser/predictors/resource_prefetch_predictor_test_util.cc",
    "../browser/predictors/resource_prefetch_predictor_test_util.h",
    "../browser/predictors/resource_prefetch_predictor_unittest.cc",
    "../browser/predictors/resource_prefetcher_unittest.cc",
    "../browser/prefs/chrome_command_line_pref_store_proxy_unittest.cc",
    "../browser/prefs/chrome_command_line_pref_store_ssl_manager_unittest.cc",
    "../browser/prefs/chrome_command_line_pref_store_unittest.cc",
    "../browser/prefs/chrome_pref_service_unittest.cc",
    "../browser/prefs/incognito_mode_prefs_unittest.cc",
    "../browser/prefs/preferences_service_unittest.cc",
    "../browser/prefs/profile_pref_store_manager_unittest.cc",
    "../browser/prefs/proxy_policy_unittest.cc",
    "../browser/prefs/session_startup_pref_unittest.cc",
    "../browser/prerender/prerender_history_unittest.cc",
    "../browser/prerender/prerender_resource_throttle_unittest.cc",
    "../browser/prerender/prerender_unittest.cc",
    "../browser/prerender/prerender_util_unittest.cc",
    "../browser/previews/previews_infobar_delegate_unittest.cc",
    "../browser/previews/previews_infobar_tab_helper_unittest.cc",
    "../browser/process_singleton_win_unittest.cc",
    "../browser/profiles/gaia_info_update_service_unittest.cc",
    "../browser/profiles/guest_mode_policy_handler_unittest.cc",
    "../browser/profiles/incognito_mode_policy_handler_unittest.cc",
    "../browser/profiles/profile_attributes_storage_unittest.cc",
    "../browser/profiles/profile_avatar_icon_util_unittest.cc",
    "../browser/profiles/profile_downloader_unittest.cc",
    "../browser/profiles/profile_info_cache_unittest.cc",
    "../browser/profiles/profile_info_cache_unittest.h",
    "../browser/profiles/profile_manager_unittest.cc",
    "../browser/profiles/profile_shortcut_manager_unittest_win.cc",
    "../browser/push_messaging/push_messaging_app_identifier_unittest.cc",
    "../browser/push_messaging/push_messaging_notification_manager_unittest.cc",
    "../browser/push_messaging/push_messaging_service_unittest.cc",
    "../browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper_unit_test.mm",
    "../browser/resources_util_unittest.cc",
    "../browser/search/contextual_search_policy_handler_android_unittest.cc",
    "../browser/search/iframe_source_unittest.cc",
    "../browser/search/thumbnail_source_unittest.cc",

    # TODO(hashimoto): those tests should be componentized and moved to
    # //components:components_unittests, http://crbug.com/527882.
    "../browser/search_engines/template_url_fetcher_unittest.cc",
    "../browser/search_engines/template_url_parser_unittest.cc",
    "../browser/search_engines/template_url_service_sync_unittest.cc",
    "../browser/search_engines/template_url_service_unittest.cc",
    "../browser/service_process/service_process_control_mac_unittest.mm",
    "../browser/sessions/restore_on_startup_policy_handler_unittest.cc",
    "../browser/sessions/session_common_utils_unittest.cc",
    "../browser/shell_integration_win_unittest.cc",
    "../browser/signin/account_reconcilor_unittest.cc",
    "../browser/signin/chrome_signin_client_unittest.cc",
    "../browser/signin/chrome_signin_status_metrics_provider_delegate_unittest.cc",
    "../browser/signin/local_auth_unittest.cc",
    "../browser/signin/signin_manager_unittest.cc",
    "../browser/signin/signin_status_metrics_provider_chromeos_unittest.cc",
    "../browser/signin/signin_tracker_unittest.cc",
    "../browser/signin/test_signin_client_builder.cc",
    "../browser/ssl/chrome_expect_ct_reporter_unittest.cc",
    "../browser/ssl/security_state_tab_helper_unittest.cc",
    "../browser/ssl/ssl_error_handler_unittest.cc",
    "../browser/status_icons/status_icon_menu_model_unittest.cc",
    "../browser/status_icons/status_icon_unittest.cc",
    "../browser/status_icons/status_tray_unittest.cc",
    "../browser/storage/durable_storage_permission_context_unittest.cc",
    "../browser/sync/profile_sync_service_factory_unittest.cc",
    "../browser/sync/sync_startup_tracker_unittest.cc",
    "../browser/task_profiler/task_profiler_data_serializer_unittest.cc",
    "../browser/thumbnails/content_analysis_unittest.cc",
    "../browser/thumbnails/content_based_thumbnailing_algorithm_unittest.cc",
    "../browser/thumbnails/simple_thumbnail_crop_unittest.cc",
    "../browser/thumbnails/thumbnail_service_unittest.cc",
    "../browser/translate/language_model_factory_unittest.cc",
    "../browser/translate/translate_service_unittest.cc",
    "../browser/ui/android/tab_model/tab_model_list_unittest.cc",
    "../browser/ui/android/tab_model/tab_model_unittest.cc",
    "../browser/ui/autofill/autofill_dialog_models_unittest.cc",
    "../browser/ui/autofill/autofill_popup_layout_model_unittest.cc",
    "../browser/ui/autofill/popup_view_common_unittest.cc",
    "../browser/ui/bookmarks/bookmark_editor_unittest.cc",
    "../browser/ui/bookmarks/bookmark_ui_utils_desktop_unittest.cc",
    "../browser/ui/bookmarks/recently_used_folders_combo_model_unittest.cc",
    "../browser/ui/chrome_select_file_policy_unittest.cc",
    "../browser/ui/find_bar/find_backend_unittest.cc",
    "../browser/ui/login/login_handler_unittest.cc",
    "../browser/ui/passwords/manage_passwords_state_unittest.cc",
    "../browser/ui/passwords/manage_passwords_view_utils_unittest.cc",
    "../browser/ui/passwords/password_manager_presenter_unittest.cc",
    "../browser/ui/search_engines/keyword_editor_controller_unittest.cc",
    "../browser/ui/sync/profile_signin_confirmation_helper_unittest.cc",
    "../browser/ui/sync/sync_promo_ui_unittest.cc",
    "../browser/ui/tests/ui_gfx_image_unittest.cc",
    "../browser/ui/tests/ui_gfx_image_unittest.mm",
    "../browser/ui/website_settings/mock_permission_prompt.cc",
    "../browser/ui/website_settings/mock_permission_prompt.h",
    "../browser/ui/website_settings/mock_permission_prompt_factory.cc",
    "../browser/ui/website_settings/mock_permission_prompt_factory.h",
    "../browser/ui/website_settings/website_settings_unittest.cc",
    "../browser/ui/webui/browsing_history_handler_unittest.cc",
    "../browser/ui/webui/fileicon_source_unittest.cc",
    "../browser/ui/webui/local_state/local_state_ui_unittest.cc",
    "../browser/ui/webui/log_web_ui_url_unittest.cc",
    "../browser/update_client/chrome_update_query_params_delegate_unittest.cc",
    "../browser/webshare/share_target_pref_helper_unittest.cc",
    "../browser/win/chrome_elf_init_unittest.cc",
    "../browser/win/enumerate_modules_model_unittest.cc",
    "../common/chrome_constants_win_unittest.cc",
    "../common/chrome_content_client_unittest.cc",
    "../common/chrome_paths_unittest.cc",
    "../common/component_flash_hint_file_linux_unittest.cc",
    "../common/conflicts/module_watcher_win_unittest.cc",
    "../common/crash_keys_unittest.cc",
    "../common/ini_parser_unittest.cc",
    "../common/mac/cfbundle_blocker_unittest.mm",
    "../common/mac/mock_launchd.cc",
    "../common/mac/mock_launchd.h",
    "../common/origin_trials/chrome_origin_trial_policy_unittest.cc",
    "../common/partial_circular_buffer_unittest.cc",
    "../common/pref_names_util_unittest.cc",
    "../common/search/instant_types_unittest.cc",
    "../common/search/search_urls_unittest.cc",
    "../common/secure_origin_whitelist_unittest.cc",
    "../common/switch_utils_unittest.cc",
    "../renderer/app_categorizer_unittest.cc",
    "../renderer/chrome_content_renderer_client_unittest.cc",
    "../renderer/content_settings_observer_unittest.cc",
    "../renderer/instant_restricted_id_cache_unittest.cc",
    "../renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.cc",
    "../renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.h",
    "../renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc",
    "../renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc",
    "../renderer/plugins/plugin_uma_unittest.cc",
    "../renderer/prerender/prerender_dispatcher_unittest.cc",
    "../renderer/searchbox/search_bouncer_unittest.cc",
    "../renderer/searchbox/searchbox_extension_unittest.cc",
    "../renderer/searchbox/searchbox_unittest.cc",
    "../renderer/web_apps_unittest.cc",
    "../test/base/chrome_render_view_test.cc",
    "../test/base/chrome_render_view_test.h",
    "../test/base/menu_model_test.cc",
    "../test/base/menu_model_test.h",
    "../test/base/v8_unit_test.cc",
    "../test/base/v8_unit_test.h",
    "../test/logging/win/mof_data_parser_unittest.cc",

    # Duplicate these tests here because PathService has more items in
    # unit_tests than in base_unittests.
    "../../base/path_service_unittest.cc",
    "../../testing/gtest_mac_unittest.mm",
    "../../third_party/zlib/google/compression_utils_unittest.cc",
    "../../third_party/zlib/google/zip_reader_unittest.cc",
    "../../third_party/zlib/google/zip_unittest.cc",
  ]

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

  data_deps = []

  data = [
    "data/",
    "//base/test/data/",
    "//chrome/third_party/mock4js/",
    "//components/test/data/",
    "//extensions/test/data/",
    "//google_apis/test/data/",
    "//net/tools/testserver/",
    "//third_party/accessibility-audit/axs_testing.js",
    "//third_party/chaijs/chai.js",
    "//third_party/hunspell_dictionaries/",
    "//third_party/pyftpdlib/",
    "//third_party/pywebsocket/",
    "//third_party/tlslite/",
    "//third_party/zlib/google/test/data/",
    "//tools/metrics/histograms/histograms.xml",
    "$root_out_dir/pyproto/google/",
  ]
  if (is_android || is_linux || is_win) {
    data += [
      "$root_out_dir/chrome_100_percent.pak",
      "$root_out_dir/locales/en-US.pak",
      "$root_out_dir/resources.pak",
    ]
  }
  if (is_linux || is_win) {
    data += [ "$root_out_dir/chrome_200_percent.pak" ]
  }
  if (is_win) {
    data_deps += [ "//chrome" ]
    data += [ "$root_out_dir/chrome.exe" ]
  }

  defines = []

  deps = [
    # NOTE: New dependencies should generally be added in the OS!="ios"
    # dependencies block below, rather than here.
    # Unit tests should only depend on:
    # 1) everything that the chrome binaries depend on:
    "//chrome:browser_dependencies",
    "//chrome:child_dependencies",

    # 2) test-specific support libraries:
    ":test_support",
    ":test_support_unit",
    "//base/test:test_support",
    "//chrome/common:test_support",
    "//components/browser_sync:test_support",
    "//components/content_settings/core/test:test_support",
    "//components/resources",
    "//components/sync:test_support_driver",
    "//components/sync:test_support_model",
    "//components/sync_sessions:test_support",
    "//components/variations:test_support",
    "//content/public/app:both",
    "//content/test:test_support",
    "//crypto:platform",
    "//crypto:test_support",
    "//net",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",

    # 3) anything tests directly depend on
    "//chrome:resources",
    "//chrome:strings",
    "//components/component_updater:test_support",
    "//components/safe_browsing_db:test_database_manager",
    "//components/spellcheck:build_features",
    "//components/subresource_filter/core/browser:test_support",
    "//components/version_info:generate_version_info",
    "//courgette:courgette_lib",
    "//extensions/features",
    "//google_apis",
    "//media:media_features",
    "//ppapi/features",
    "//skia",
    "//third_party/cacheinvalidation",
    "//third_party/icu",
    "//third_party/libxml",
    "//ui/base:test_support",
    "//ui/display:test_support",
    "//ui/gfx:test_support",
    "//ui/resources",
  ]

  if (!is_ios) {
    deps += [
      "//chrome/browser/ntp_snippets:test_support",
      "//components/autofill/content/renderer:test_support",
      "//components/content_settings/core/test:test_support",
      "//components/data_reduction_proxy/core/browser:test_support",
      "//components/data_use_measurement/core",
      "//components/metrics/proto",
      "//components/ntp_snippets:test_support",
      "//components/os_crypt:test_support",
      "//components/safe_browsing_db",
      "//components/safe_json:test_support",
      "//components/strings",
      "//components/webdata_services:test_support",
      "//content/app/resources",
      "//device/base:mocks",
      "//device/bluetooth:mocks",
      "//device/usb:test_support",
      "//gpu:test_support",
      "//media:test_support",
      "//third_party/leveldatabase",
      "//third_party/libaddressinput",
      "//third_party/libjingle",
      "//third_party/libphonenumber",
      "//third_party/webrtc/modules/desktop_capture",
      "//ui/gl",
      "//v8",
    ]
  }

  if (is_mac) {
    data_deps += [ "//chrome:chrome_framework" ]
    data += [ "$root_out_dir/Chromium Framework.framework/" ]
  }

  if (is_android) {
    sources += [
      # Offline pages are currently only on Android.
      "../browser/android/offline_pages/background_loader_offliner_unittest.cc",
      "../browser/android/offline_pages/downloads/resource_throttle_unittest.cc",
      "../browser/android/offline_pages/offline_page_mhtml_archiver_unittest.cc",
      "../browser/android/offline_pages/offline_page_request_job_unittest.cc",
      "../browser/android/offline_pages/offline_page_utils_unittest.cc",
      "../browser/android/offline_pages/prerender_adapter_unittest.cc",
      "../browser/android/offline_pages/prerendering_loader_unittest.cc",
      "../browser/android/offline_pages/prerendering_offliner_unittest.cc",
      "../browser/android/offline_pages/recent_tab_helper_unittest.cc",
      "../browser/android/offline_pages/test_offline_page_model_builder.cc",
      "../browser/android/offline_pages/test_offline_page_model_builder.h",
      "../browser/android/offline_pages/test_request_coordinator_builder.cc",
      "../browser/android/offline_pages/test_request_coordinator_builder.h",
      "../browser/android/search_geolocation/search_geolocation_service_unittest.cc",
      "../browser/autofill/autofill_credit_card_filling_infobar_delegate_mobile_unittest.cc",
      "../browser/autofill/autofill_save_card_infobar_delegate_mobile_unittest.cc",
      "../browser/password_manager/account_chooser_dialog_android_unittest.cc",
      "../browser/password_manager/auto_signin_first_run_dialog_android_unittest.cc",
      "../browser/password_manager/save_password_infobar_delegate_android_unittest.cc",
      "../browser/permissions/permission_queue_controller_unittest.cc",
    ]
    deps += [
      ":unit_tests_java",
      "//components/gcm_driver/instance_id/android:instance_id_driver_java",
      "//components/gcm_driver/instance_id/android:instance_id_driver_test_support_java",
      "//components/offline_pages/content/background_loader:test_support",
      "//components/offline_pages/core:test_support",
      "//components/offline_pages/core/background:test_support",
      "//v8:v8_external_startup_data_assets",
    ]

    android_manifest =
        "//chrome/test/android/unit_tests_apk/AndroidManifest.xml"
    enable_multidex = true
  } else {
    # !is_android
    sources += [
      # Bookmark export/import are handled via the BookmarkColumns
      # ContentProvider.
      "../browser/bookmarks/bookmark_html_writer_unittest.cc",
      "../browser/browser_commands_unittest.cc",
      "../browser/diagnostics/diagnostics_controller_unittest.cc",
      "../browser/diagnostics/diagnostics_model_unittest.cc",
      "../browser/download/download_commands_unittest.cc",
      "../browser/download/download_shelf_unittest.cc",
      "../browser/first_run/first_run_unittest.cc",
      "../browser/font_family_cache_unittest.cc",

      # GCMDriverAndroid is not yet implemented.
      "../browser/gcm/gcm_profile_service_unittest.cc",
      "../browser/importer/firefox_profile_lock_unittest.cc",
      "../browser/importer/profile_writer_unittest.cc",
      "../browser/media/webrtc/tab_desktop_media_list_unittest.cc",
      "../browser/media_galleries/fileapi/native_media_file_util_unittest.cc",
      "../browser/media_galleries/gallery_watch_manager_unittest.cc",
      "../browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm",
      "../browser/media_galleries/media_file_system_registry_unittest.cc",
      "../browser/media_galleries/media_galleries_dialog_controller_mock.cc",
      "../browser/media_galleries/media_galleries_dialog_controller_mock.h",
      "../browser/media_galleries/media_galleries_dialog_controller_test_util.cc",
      "../browser/media_galleries/media_galleries_dialog_controller_test_util.h",
      "../browser/media_galleries/media_galleries_permission_controller_unittest.cc",
      "../browser/media_galleries/media_galleries_permissions_unittest.cc",
      "../browser/media_galleries/media_galleries_preferences_unittest.cc",
      "../browser/media_galleries/win/mtp_device_delegate_impl_win_unittest.cc",
      "../browser/media_galleries/win/mtp_device_object_enumerator_unittest.cc",
      "../browser/memory/tab_manager_delegate_chromeos_unittest.cc",
      "../browser/memory/tab_manager_unittest.cc",
      "../browser/memory/tab_manager_web_contents_data_unittest.cc",

      # Android does not use the Message Center notification system.
      "../browser/net/firefox_proxy_settings_unittest.cc",
      "../browser/notifications/message_center_notifications_unittest.cc",
      "../browser/notifications/message_center_settings_controller_unittest.cc",
      "../browser/permissions/permission_request_manager_unittest.cc",
      "../browser/platform_util_unittest.cc",
      "../browser/policy/policy_path_parser_unittest.cc",
      "../browser/power_usage_monitor/power_usage_monitor_unittest.cc",
      "../browser/process_singleton_posix_unittest.cc",
      "../browser/profile_resetter/profile_resetter_unittest.cc",
      "../browser/profile_resetter/triggered_profile_resetter_win_unittest.cc",
      "../browser/renderer_context_menu/render_view_context_menu_unittest.cc",
      "../browser/search/instant_service_unittest.cc",
      "../browser/search/instant_unittest_base.cc",
      "../browser/search/instant_unittest_base.h",
      "../browser/search/search_unittest.cc",
      "../browser/sessions/persistent_tab_restore_service_unittest.cc",
      "../browser/signin/mutable_profile_oauth2_token_service_delegate_unittest.cc",
      "../browser/speech/extension_api/extension_manifests_tts_unittest.cc",
      "../browser/speech/tts_controller_unittest.cc",
      "../browser/sync/sessions/sessions_sync_manager_unittest.cc",
      "../browser/sync/sync_ui_util_unittest.cc",  # Sync setup uses native ui.
      "../browser/task_manager/providers/browser_process_task_unittest.cc",
      "../browser/task_manager/providers/child_process_task_unittest.cc",
      "../browser/task_manager/sampling/shared_sampler_win_unittest.cc",
      "../browser/task_manager/sampling/task_manager_impl_unittest.cc",
      "../browser/task_manager/task_manager_observer_unittest.cc",
      "../browser/task_manager/test_task_manager.cc",
      "../browser/task_manager/test_task_manager.h",
      "../browser/themes/browser_theme_pack_unittest.cc",
      "../browser/themes/theme_properties_unittest.cc",
      "../browser/themes/theme_service_unittest.cc",
      "../browser/themes/theme_syncable_service_unittest.cc",
      "../browser/translate/translate_manager_render_view_host_unittest.cc",
      "../browser/ui/webui/theme_source_unittest.cc",

      # The autofill popup is implemented in mostly native code on Android.
      "../browser/ui/autofill/autofill_popup_controller_unittest.cc",
      "../browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc",
      "../browser/ui/bookmarks/bookmark_unittest.cc",
      "../browser/ui/browser_close_unittest.cc",
      "../browser/ui/browser_command_controller_unittest.cc",
      "../browser/ui/browser_instant_controller_unittest.cc",
      "../browser/ui/browser_unittest.cc",
      "../browser/ui/chrome_bubble_manager_unittest.cc",
      "../browser/ui/content_settings/content_setting_bubble_model_unittest.cc",
      "../browser/ui/content_settings/content_setting_image_model_unittest.cc",
      "../browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc",
      "../browser/ui/extensions/extension_action_view_controller_unittest.cc",
      "../browser/ui/extensions/extension_message_bubble_bridge_unittest.cc",
      "../browser/ui/global_error/global_error_service_unittest.cc",
      "../browser/ui/omnibox/clipboard_utils_unittest.cc",
      "../browser/ui/omnibox/omnibox_controller_unittest.cc",
      "../browser/ui/passwords/manage_passwords_bubble_model_unittest.cc",
      "../browser/ui/passwords/manage_passwords_view_utils_desktop_unittest.cc",
      "../browser/ui/passwords/password_dialog_controller_impl_unittest.cc",
      "../browser/ui/search/instant_search_prerenderer_unittest.cc",
      "../browser/ui/search/instant_tab_unittest.cc",
      "../browser/ui/search/search_delegate_unittest.cc",
      "../browser/ui/search/search_ipc_router_policy_unittest.cc",
      "../browser/ui/search/search_ipc_router_unittest.cc",
      "../browser/ui/search/search_model_unittest.cc",
      "../browser/ui/search/search_tab_helper_unittest.cc",
      "../browser/ui/tab_contents/tab_contents_iterator_unittest.cc",
      "../browser/ui/tabs/pinned_tab_codec_unittest.cc",
      "../browser/ui/tabs/pinned_tab_service_unittest.cc",
      "../browser/ui/tabs/pinned_tab_test_utils.cc",
      "../browser/ui/tabs/tab_menu_model_unittest.cc",
      "../browser/ui/tabs/tab_strip_model_stats_recorder_unittest.cc",
      "../browser/ui/tabs/tab_strip_model_unittest.cc",
      "../browser/ui/tabs/test_tab_strip_model_delegate.cc",
      "../browser/ui/tabs/test_tab_strip_model_delegate.h",
      "../browser/ui/toolbar/app_menu_model_unittest.cc",
      "../browser/ui/toolbar/back_forward_menu_model_unittest.cc",
      "../browser/ui/toolbar/mock_component_toolbar_actions_factory.cc",
      "../browser/ui/toolbar/mock_component_toolbar_actions_factory.h",
      "../browser/ui/toolbar/mock_media_router_action_controller.cc",
      "../browser/ui/toolbar/mock_media_router_action_controller.h",
      "../browser/ui/toolbar/recent_tabs_builder_test_helper.cc",
      "../browser/ui/toolbar/recent_tabs_builder_test_helper.h",
      "../browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc",
      "../browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.cc",
      "../browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h",
      "../browser/ui/toolbar/toolbar_actions_bar_unittest.cc",
      "../browser/ui/toolbar/toolbar_actions_bar_unittest.h",
      "../browser/ui/toolbar/toolbar_actions_model_unittest.cc",
      "../browser/ui/toolbar/toolbar_model_unittest.cc",
      "../browser/ui/website_settings/permission_menu_model_unittest.cc",
      "../browser/ui/webui/help/version_updater_chromeos_unittest.cc",
      "../browser/ui/webui/md_downloads/downloads_list_tracker_unittest.cc",
      "../browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc",
      "../browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc",
      "../browser/ui/webui/options/autofill_options_handler_unittest.cc",
      "../browser/ui/webui/options/font_settings_utils_unittest.cc",
      "../browser/ui/webui/options/language_options_handler_unittest.cc",
      "../browser/ui/webui/options/password_manager_handler_unittest.cc",
      "../browser/ui/webui/options/pepper_flash_content_settings_utils_unittest.cc",
      "../browser/ui/webui/options/sync_setup_handler_unittest.cc",
      "../browser/ui/webui/settings/metrics_reporting_handler_unittest.cc",
      "../browser/ui/webui/settings/people_handler_unittest.cc",
      "../browser/ui/webui/settings/profile_info_handler_unittest.cc",
      "../browser/ui/webui/settings/reset_settings_handler_unittest.cc",
      "../browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc",
      "../browser/ui/webui/settings/site_settings_handler_unittest.cc",
      "../browser/ui/webui/settings_utils_unittest.cc",
      "../browser/ui/webui/signin/login_ui_service_unittest.cc",
      "../browser/ui/webui/site_settings_helper_unittest.cc",
      "../browser/ui/webui/sync_internals_message_handler_unittest.cc",
      "../browser/ui/webui/web_dialog_web_contents_delegate_unittest.cc",
      "../browser/ui/window_sizer/window_sizer_common_unittest.cc",
      "../browser/ui/window_sizer/window_sizer_unittest.cc",
      "../browser/ui/zoom/zoom_controller_unittest.cc",
      "../browser/usb/usb_blocklist_unittest.cc",
      "../browser/usb/usb_chooser_context_unittest.cc",
      "../browser/usb/usb_chooser_controller_unittest.cc",
      "../browser/usb/web_usb_detector_unittest.cc",

      # The importer code is not used on Android.
      "../common/importer/firefox_importer_utils_unittest.cc",

      # No service process (which also requires multiprocess lock).
      "../common/importer/mock_importer_bridge.cc",
      "../common/importer/mock_importer_bridge.h",
      "../common/multi_process_lock_unittest.cc",
      "../test/base/browser_with_test_window_test.cc",
      "../test/base/browser_with_test_window_test.h",
      "../utility/importer/bookmark_html_reader_unittest.cc",
      "../utility/importer/bookmarks_file_importer_unittest.cc",
      "../utility/importer/edge_database_reader_unittest_win.cc",
      "../utility/importer/firefox_importer_unittest.cc",
      "../utility/importer/firefox_importer_unittest_messages_internal.h",
      "../utility/importer/firefox_importer_unittest_utils.h",
      "../utility/importer/firefox_importer_unittest_utils_mac.cc",
      "../utility/importer/safari_importer_unittest.mm",
    ]
    sources -=
        [ "../browser/download/download_request_infobar_delegate_unittest.cc" ]
    deps += [
      "//device/battery:mojo_bindings",
      "//ipc",
      "//third_party/libaddressinput",
    ]
  }

  if (!is_ios && !is_android) {
    sources += [
      "../browser/devtools/devtools_ui_bindings_unittest.cc",
      "../browser/download/download_dir_policy_handler_unittest.cc",
      "../browser/lifetime/keep_alive_registry_unittest.cc",
      "../browser/renderer_context_menu/render_view_context_menu_test_util.cc",
      "../browser/renderer_context_menu/render_view_context_menu_test_util.h",
      "../browser/ui/autofill/country_combobox_model_unittest.cc",
      "../browser/ui/autofill/save_card_bubble_controller_impl_unittest.cc",
      "../browser/ui/bluetooth/bluetooth_chooser_controller_unittest.cc",
      "../browser/ui/desktop_ios_promotion/sms_service_unittest.cc",
      "../browser/ui/passwords/manage_passwords_ui_controller_unittest.cc",
    ]
    deps += [
      ":unit_tests_js",
      "//components/bubble:test_support",
    ]
    data += [
      "$root_out_dir/test_data/chrome/browser/resources/google_now/",
      "$root_out_dir/test_data/chrome/browser/resources/print_preview/",
      "$root_out_dir/test_data/chrome/renderer/resources/extensions/",
      "$root_out_dir/test_data/ui/webui/",
    ]
  }

  if (is_linux || is_win) {
    sources += [ "../browser/webshare/share_service_impl_unittest.cc" ]
  }

  if (is_ios || is_chromeos) {
    sources -= [ "../browser/signin/chrome_signin_status_metrics_provider_delegate_unittest.cc" ]
  }
  if (enable_background) {
    sources += [
      "../browser/background/background_application_list_model_unittest.cc",
      "../browser/background/background_contents_service_unittest.cc",
      "../browser/background/background_mode_manager_unittest.cc",
      "../browser/background/background_mode_optimizer_unittest.cc",
    ]
  }

  if (enable_spellcheck) {
    sources += [
      "../browser/spellchecker/spellcheck_custom_dictionary_unittest.cc",
      "../browser/spellchecker/spellcheck_message_filter_platform_mac_unittest.cc",
      "../browser/spellchecker/spellcheck_message_filter_unittest.cc",
      "../browser/spellchecker/spellcheck_service_unittest.cc",
      "../browser/spellchecker/spelling_service_client_unittest.cc",
      "../tools/convert_dict/convert_dict_unittest.cc",
    ]
  }

  if (enable_one_click_signin) {
    sources += [
      "../browser/ui/sync/one_click_signin_sync_observer_unittest.cc",
      "../browser/ui/sync/one_click_signin_sync_starter_unittest.cc",
    ]
  }

  if (enable_extensions) {
    sources += [
      "../../apps/saved_files_service_unittest.cc",
      "../../components/drive/drive_api_util_unittest.cc",
      "../../components/drive/drive_app_registry_unittest.cc",
      "../../components/drive/drive_uploader_unittest.cc",
      "../../components/drive/event_logger_unittest.cc",
      "../../components/drive/service/drive_api_service_unittest.cc",
      "../../components/drive/service/fake_drive_service_unittest.cc",
      "../../tools/json_schema_compiler/test/features_generation_unittest.cc",
      "../browser/apps/app_shim/app_shim_host_mac_unittest.cc",
      "../browser/apps/app_shim/extension_app_shim_handler_mac_unittest.cc",
      "../browser/autocomplete/keyword_extensions_delegate_impl_unittest.cc",
      "../browser/browsing_data/hosted_apps_counter_unittest.cc",
      "../browser/extensions/active_tab_unittest.cc",
      "../browser/extensions/activity_log/activity_database_unittest.cc",
      "../browser/extensions/activity_log/activity_log_enabled_unittest.cc",
      "../browser/extensions/activity_log/activity_log_policy_unittest.cc",
      "../browser/extensions/activity_log/activity_log_unittest.cc",
      "../browser/extensions/activity_log/counting_policy_unittest.cc",
      "../browser/extensions/activity_log/database_string_table_unittest.cc",
      "../browser/extensions/activity_log/fullstream_ui_policy_unittest.cc",
      "../browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc",
      "../browser/extensions/api/bookmarks/bookmark_api_helpers_unittest.cc",
      "../browser/extensions/api/content_settings/content_settings_store_unittest.cc",
      "../browser/extensions/api/content_settings/content_settings_unittest.cc",
      "../browser/extensions/api/cookies/cookies_unittest.cc",
      "../browser/extensions/api/cryptotoken_private/cryptotoken_private_api_unittest.cc",
      "../browser/extensions/api/declarative/rules_registry_service_unittest.cc",
      "../browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc",
      "../browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc",
      "../browser/extensions/api/declarative_content/content_action_unittest.cc",
      "../browser/extensions/api/declarative_content/content_condition_unittest.cc",
      "../browser/extensions/api/declarative_content/declarative_content_condition_tracker_test.cc",
      "../browser/extensions/api/declarative_content/declarative_content_condition_tracker_test.h",
      "../browser/extensions/api/declarative_content/declarative_content_css_condition_tracker_unittest.cc",
      "../browser/extensions/api/declarative_content/declarative_content_is_bookmarked_condition_tracker_unittest.cc",
      "../browser/extensions/api/declarative_content/declarative_content_page_url_condition_tracker_unittest.cc",
      "../browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc",
      "../browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc",
      "../browser/extensions/api/developer_private/developer_private_api_unittest.cc",
      "../browser/extensions/api/developer_private/extension_info_generator_unittest.cc",
      "../browser/extensions/api/device_permissions_manager_unittest.cc",
      "../browser/extensions/api/dial/device_description_fetcher_unittest.cc",
      "../browser/extensions/api/dial/dial_device_data_unittest.cc",
      "../browser/extensions/api/dial/dial_registry_unittest.cc",
      "../browser/extensions/api/dial/dial_service_unittest.cc",
      "../browser/extensions/api/downloads/downloads_api_unittest.cc",
      "../browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc",
      "../browser/extensions/api/experience_sampling_private/experience_sampling_private_api_unittest.cc",
      "../browser/extensions/api/extension_action/browser_action_unittest.cc",
      "../browser/extensions/api/extension_action/extension_action_prefs_unittest.cc",
      "../browser/extensions/api/file_handlers/api_file_handler_util_unittest.cc",
      "../browser/extensions/api/file_handlers/directory_util_unittest.cc",
      "../browser/extensions/api/file_handlers/mime_util_unittest.cc",
      "../browser/extensions/api/file_system/file_system_api_unittest.cc",
      "../browser/extensions/api/identity/extension_token_key_unittest.cc",
      "../browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc",
      "../browser/extensions/api/identity/identity_mint_queue_unittest.cc",
      "../browser/extensions/api/image_writer_private/destroy_partitions_operation_unittest.cc",
      "../browser/extensions/api/image_writer_private/operation_manager_unittest.cc",
      "../browser/extensions/api/image_writer_private/operation_unittest.cc",
      "../browser/extensions/api/image_writer_private/removable_storage_provider_chromeos_unittest.cc",
      "../browser/extensions/api/image_writer_private/test_utils.cc",
      "../browser/extensions/api/image_writer_private/write_from_file_operation_unittest.cc",
      "../browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc",
      "../browser/extensions/api/management/management_api_unittest.cc",
      "../browser/extensions/api/omnibox/omnibox_unittest.cc",
      "../browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc",
      "../browser/extensions/api/permissions/permissions_api_helpers_unittest.cc",
      "../browser/extensions/api/permissions/permissions_api_unittest.cc",
      "../browser/extensions/api/preference/preference_api_prefs_unittest.cc",
      "../browser/extensions/api/proxy/proxy_api_helpers_unittest.cc",
      "../browser/extensions/api/runtime/chrome_runtime_api_delegate_unittest.cc",
      "../browser/extensions/api/signed_in_devices/id_mapping_helper_unittest.cc",
      "../browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc",
      "../browser/extensions/api/signed_in_devices/signed_in_devices_manager_unittest.cc",
      "../browser/extensions/api/socket/combined_socket_unittest.cc",
      "../browser/extensions/api/socket/socket_api_unittest.cc",
      "../browser/extensions/api/socket/tcp_socket_unittest.cc",
      "../browser/extensions/api/socket/tls_socket_unittest.cc",
      "../browser/extensions/api/socket/udp_socket_unittest.cc",
      "../browser/extensions/api/sockets_tcp_server/sockets_tcp_server_api_unittest.cc",
      "../browser/extensions/api/storage/policy_value_store_unittest.cc",
      "../browser/extensions/api/storage/settings_sync_unittest.cc",
      "../browser/extensions/api/streams_private/streams_private_manifest_unittest.cc",
      "../browser/extensions/api/tabs/tabs_api_unittest.cc",
      "../browser/extensions/api/web_navigation/frame_navigation_state_unittest.cc",
      "../browser/extensions/api/web_request/web_request_api_unittest.cc",
      "../browser/extensions/api/web_request/web_request_event_details_unittest.cc",
      "../browser/extensions/api/web_request/web_request_permissions_unittest.cc",
      "../browser/extensions/app_data_migrator_unittest.cc",
      "../browser/extensions/blacklist_state_fetcher_unittest.cc",
      "../browser/extensions/bookmark_app_helper_unittest.cc",
      "../browser/extensions/chrome_app_sorting_unittest.cc",
      "../browser/extensions/chrome_component_extension_resource_manager_unittest.cc",
      "../browser/extensions/chrome_extension_function_unittest.cc",
      "../browser/extensions/chrome_info_map_unittest.cc",
      "../browser/extensions/component_loader_unittest.cc",
      "../browser/extensions/convert_user_script_unittest.cc",
      "../browser/extensions/convert_web_app_unittest.cc",
      "../browser/extensions/default_apps_unittest.cc",
      "../browser/extensions/display_info_provider_chromeos_unittest.cc",
      "../browser/extensions/error_console/error_console_unittest.cc",
      "../browser/extensions/event_router_forwarder_unittest.cc",
      "../browser/extensions/extension_action_icon_factory_unittest.cc",
      "../browser/extensions/extension_action_manager_unittest.cc",
      "../browser/extensions/extension_action_runner_unittest.cc",
      "../browser/extensions/extension_action_unittest.cc",
      "../browser/extensions/extension_api_unittest.cc",
      "../browser/extensions/extension_api_unittest.h",
      "../browser/extensions/extension_context_menu_model_unittest.cc",
      "../browser/extensions/extension_creator_filter_unittest.cc",
      "../browser/extensions/extension_error_controller_unittest.cc",
      "../browser/extensions/extension_function_test_utils.cc",
      "../browser/extensions/extension_function_test_utils.h",
      "../browser/extensions/extension_garbage_collector_chromeos_unittest.cc",
      "../browser/extensions/extension_garbage_collector_unittest.cc",
      "../browser/extensions/extension_gcm_app_handler_unittest.cc",
      "../browser/extensions/extension_icon_manager_unittest.cc",
      "../browser/extensions/extension_install_checker_unittest.cc",
      "../browser/extensions/extension_install_prompt_unittest.cc",
      "../browser/extensions/extension_management_test_util.cc",
      "../browser/extensions/extension_management_test_util.h",
      "../browser/extensions/extension_management_unittest.cc",
      "../browser/extensions/extension_message_bubble_controller_unittest.cc",
      "../browser/extensions/extension_migrator_unittest.cc",
      "../browser/extensions/extension_navigation_throttle_unittest.cc",
      "../browser/extensions/extension_path_util_unittest.cc",
      "../browser/extensions/extension_prefs_unittest.cc",
      "../browser/extensions/extension_prefs_unittest.h",
      "../browser/extensions/extension_protocols_unittest.cc",
      "../browser/extensions/extension_reenabler_unittest.cc",
      "../browser/extensions/extension_service_sync_unittest.cc",
      "../browser/extensions/extension_service_test_base.cc",
      "../browser/extensions/extension_service_test_base.h",
      "../browser/extensions/extension_service_test_with_install.cc",
      "../browser/extensions/extension_service_test_with_install.h",
      "../browser/extensions/extension_service_unittest.cc",
      "../browser/extensions/extension_special_storage_policy_unittest.cc",
      "../browser/extensions/extension_sync_data_unittest.cc",
      "../browser/extensions/extension_test_message_listener_unittest.cc",
      "../browser/extensions/extension_user_script_loader_unittest.cc",
      "../browser/extensions/extension_web_ui_unittest.cc",
      "../browser/extensions/external_policy_loader_unittest.cc",
      "../browser/extensions/external_provider_impl_chromeos_unittest.cc",
      "../browser/extensions/external_provider_impl_unittest.cc",
      "../browser/extensions/favicon_downloader_unittest.cc",
      "../browser/extensions/install_tracker_unittest.cc",
      "../browser/extensions/location_bar_controller_unittest.cc",
      "../browser/extensions/menu_manager_unittest.cc",
      "../browser/extensions/pack_extension_unittest.cc",
      "../browser/extensions/permission_message_combinations_unittest.cc",
      "../browser/extensions/permission_messages_unittest.cc",
      "../browser/extensions/permissions_based_management_policy_provider_unittest.cc",
      "../browser/extensions/permissions_updater_unittest.cc",
      "../browser/extensions/policy_handlers_unittest.cc",
      "../browser/extensions/scripting_permissions_modifier_unittest.cc",
      "../browser/extensions/shared_module_service_unittest.cc",
      "../browser/extensions/standard_management_policy_provider_unittest.cc",
      "../browser/extensions/tab_helper_unittest.cc",
      "../browser/extensions/token_cache/token_cache_service_unittest.cc",
      "../browser/extensions/update_install_gate_unittest.cc",
      "../browser/extensions/updater/extension_cache_fake.cc",
      "../browser/extensions/updater/extension_cache_fake.h",
      "../browser/extensions/updater/extension_updater_unittest.cc",
      "../browser/extensions/user_script_listener_unittest.cc",
      "../browser/extensions/warning_badge_service_unittest.cc",
      "../browser/extensions/webstore_inline_installer_unittest.cc",
      "../browser/extensions/webstore_installer_unittest.cc",
      "../browser/extensions/zipfile_installer_unittest.cc",
      "../browser/media/cast_remoting_sender_unittest.cc",
      "../browser/media/cast_transport_host_filter_unittest.cc",
      "../browser/media_galleries/chromeos/mtp_device_object_enumerator_unittest.cc",
      "../browser/metrics/extensions_metrics_provider_unittest.cc",
      "../browser/notifications/extension_welcome_notification_unittest.cc",
      "../browser/notifications/notification_conversion_helper_unittest.cc",
      "../browser/renderer_context_menu/context_menu_content_type_unittest.cc",
      "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_config_unittest.cc",
      "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_model_unittest.cc",
      "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_test_utils.cc",
      "../browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_test_utils.h",
      "../browser/safe_search_api/safe_search_url_checker_unittest.cc",
      "../browser/search/hotword_service_unittest.cc",
      "../browser/signin/easy_unlock_app_manager_unittest.cc",
      "../browser/signin/easy_unlock_auth_attempt_unittest.cc",
      "../browser/signin/easy_unlock_screenlock_state_handler_unittest.cc",
      "../browser/signin/easy_unlock_service_unittest_chromeos.cc",
      "../browser/sync/glue/extensions_activity_monitor_unittest.cc",
      "../browser/sync_file_system/drive_backend/callback_helper_unittest.cc",
      "../browser/sync_file_system/drive_backend/callback_tracker_unittest.cc",
      "../browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc",
      "../browser/sync_file_system/drive_backend/drive_backend_sync_unittest.cc",
      "../browser/sync_file_system/drive_backend/drive_backend_test_util.cc",
      "../browser/sync_file_system/drive_backend/drive_backend_test_util.h",
      "../browser/sync_file_system/drive_backend/fake_drive_service_helper.cc",
      "../browser/sync_file_system/drive_backend/fake_drive_service_helper.h",
      "../browser/sync_file_system/drive_backend/fake_drive_uploader.cc",
      "../browser/sync_file_system/drive_backend/fake_drive_uploader.h",
      "../browser/sync_file_system/drive_backend/fake_sync_worker.cc",
      "../browser/sync_file_system/drive_backend/fake_sync_worker.h",
      "../browser/sync_file_system/drive_backend/leveldb_wrapper_unittest.cc",
      "../browser/sync_file_system/drive_backend/list_changes_task_unittest.cc",
      "../browser/sync_file_system/drive_backend/local_to_remote_syncer_unittest.cc",
      "../browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc",
      "../browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc",
      "../browser/sync_file_system/drive_backend/metadata_database_unittest.cc",
      "../browser/sync_file_system/drive_backend/metadata_db_migration_util_unittest.cc",
      "../browser/sync_file_system/drive_backend/register_app_task_unittest.cc",
      "../browser/sync_file_system/drive_backend/remote_to_local_syncer_unittest.cc",
      "../browser/sync_file_system/drive_backend/sync_engine_initializer_unittest.cc",
      "../browser/sync_file_system/drive_backend/sync_engine_unittest.cc",
      "../browser/sync_file_system/drive_backend/sync_task_manager_unittest.cc",
      "../browser/sync_file_system/drive_backend/sync_worker_unittest.cc",
      "../browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc",
      "../browser/sync_file_system/fake_remote_change_processor.cc",
      "../browser/sync_file_system/fake_remote_change_processor.h",
      "../browser/sync_file_system/file_change_unittest.cc",
      "../browser/sync_file_system/local/canned_syncable_file_system.cc",
      "../browser/sync_file_system/local/canned_syncable_file_system.h",
      "../browser/sync_file_system/local/local_file_change_tracker_unittest.cc",
      "../browser/sync_file_system/local/local_file_sync_context_unittest.cc",
      "../browser/sync_file_system/local/local_file_sync_service_unittest.cc",
      "../browser/sync_file_system/local/local_file_sync_status_unittest.cc",
      "../browser/sync_file_system/local/mock_sync_status_observer.cc",
      "../browser/sync_file_system/local/mock_sync_status_observer.h",
      "../browser/sync_file_system/local/syncable_file_operation_runner_unittest.cc",
      "../browser/sync_file_system/local/syncable_file_system_unittest.cc",
      "../browser/sync_file_system/logger_unittest.cc",
      "../browser/sync_file_system/mock_local_change_processor.cc",
      "../browser/sync_file_system/mock_local_change_processor.h",
      "../browser/sync_file_system/mock_remote_change_processor.cc",
      "../browser/sync_file_system/mock_remote_change_processor.h",
      "../browser/sync_file_system/mock_remote_file_sync_service.cc",
      "../browser/sync_file_system/mock_remote_file_sync_service.h",
      "../browser/sync_file_system/subtree_set_unittest.cc",
      "../browser/sync_file_system/sync_file_system_service_unittest.cc",
      "../browser/sync_file_system/sync_file_system_test_util.cc",
      "../browser/sync_file_system/sync_file_system_test_util.h",
      "../browser/sync_file_system/sync_process_runner_unittest.cc",
      "../browser/sync_file_system/syncable_file_system_util_unittest.cc",
      "../browser/web_applications/web_app_mac_unittest.mm",
      "../browser/web_applications/web_app_unittest.cc",
      "../common/extensions/api/commands/commands_manifest_unittest.cc",
      "../common/extensions/api/common_extension_api_unittest.cc",
      "../common/extensions/api/extension_action/browser_action_manifest_unittest.cc",
      "../common/extensions/api/extension_action/page_action_manifest_unittest.cc",
      "../common/extensions/api/storage/storage_schema_manifest_handler_unittest.cc",
      "../common/extensions/chrome_extensions_client_unittest.cc",
      "../common/extensions/chrome_manifest_url_handlers_unittest.cc",
      "../common/extensions/command_unittest.cc",
      "../common/extensions/extension_unittest.cc",
      "../common/extensions/feature_switch_unittest.cc",
      "../common/extensions/manifest_handlers/automation_unittest.cc",
      "../common/extensions/manifest_handlers/content_scripts_manifest_unittest.cc",
      "../common/extensions/manifest_handlers/exclude_matches_manifest_unittest.cc",
      "../common/extensions/manifest_handlers/settings_overrides_handler_unittest.cc",
      "../common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc",
      "../common/extensions/manifest_tests/chrome_manifest_test.cc",
      "../common/extensions/manifest_tests/chrome_manifest_test.h",
      "../common/extensions/manifest_tests/extension_manifests_about_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_background_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_chromepermission_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_contentsecuritypolicy_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_default_extent_path_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_devtools_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_dummy_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_experimental_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_homepage_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_icons_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_isolatedapp_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_kiosk_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_launch_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_launcher_page_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_manifest_version_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_offline_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_old_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_options_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_override_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_platformapp_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_portsinpermissions_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_requirements_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_storage_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_ui_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_update_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_validapp_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_web_accessible_resources_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_web_unittest.cc",
      "../common/extensions/manifest_tests/extension_manifests_webview_accessible_resources_unittest.cc",
      "../common/extensions/manifest_unittest.cc",
      "../common/extensions/permissions/chrome_permission_message_provider_unittest.cc",
      "../common/extensions/permissions/chrome_permission_message_rules_unittest.cc",
      "../common/extensions/permissions/media_galleries_permission_unittest.cc",
      "../common/extensions/permissions/permission_set_unittest.cc",
      "../common/extensions/permissions/permissions_data_unittest.cc",
      "../common/extensions/permissions/settings_override_permission_unittest.cc",
      "../common/extensions/sync_type_unittest.cc",
      "../renderer/extensions/extension_localization_peer_unittest.cc",
      "../renderer/extensions/renderer_permissions_policy_delegate_unittest.cc",
      "../renderer/media/cast_ipc_dispatcher_unittest.cc",
      "../utility/image_writer/image_writer_unittest.cc",
    ]
    deps += [
      "//chrome/common/extensions/api",
      "//extensions:extensions_resources",
      "//extensions/strings",
      "//media/cast:test_support",

      # This will add all of the unit tests for the schema compiler to this
      # target.
      "//tools/json_schema_compiler/test:unit_tests",
    ]
    if (enable_service_discovery) {
      sources += [
        "../browser/extensions/api/gcd_private/privet_v3_context_getter_unittest.cc",
        "../browser/extensions/api/gcd_private/privet_v3_session_unittest.cc",
        "../browser/extensions/api/mdns/dns_sd_registry_unittest.cc",
        "../browser/extensions/api/mdns/mdns_api_unittest.cc",
      ]
    }
    if (!is_chromeos) {
      sources += [
        "../browser/extensions/api/messaging/native_message_process_host_unittest.cc",
        "../browser/extensions/api/messaging/native_messaging_host_manifest_unittest.cc",
        "../browser/extensions/api/messaging/native_messaging_policy_handler_unittest.cc",
      ]
    }
  }
  if (use_ash) {
    sources += [
      "../browser/media/webrtc/desktop_media_list_ash_unittest.cc",
      "../browser/renderer_context_menu/mock_render_view_context_menu.cc",
      "../browser/renderer_context_menu/mock_render_view_context_menu.h",
      "../browser/renderer_context_menu/open_with_menu_factory_ash_unittest.cc",
      "../browser/signin/signin_error_notifier_ash_unittest.cc",
      "../browser/sync/sync_error_notifier_ash_unittest.cc",

      # Ash implies the app list is enabled (only disabled on mobile).
      "../browser/ui/ash/accessibility/ax_tree_source_aura_unittest.cc",
      "../browser/ui/ash/chrome_screenshot_grabber_unittest.cc",
      "../browser/ui/ash/launcher/arc_app_shelf_id_unittest.cc",
      "../browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc",
      "../browser/ui/ash/launcher/launcher_context_menu_unittest.cc",
      "../browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc",
      "../browser/ui/ash/multi_user/multi_user_notification_blocker_chromeos_unittest.cc",
      "../browser/ui/ash/multi_user/multi_user_util_chromeos_unittest.cc",
      "../browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc",
      "../browser/ui/ash/multi_user/user_switch_util_unittest.cc",
      "../browser/ui/ash/session_state_delegate_chromeos_unittest.cc",
      "../browser/ui/ash/system_tray_delegate_chromeos_unittest.cc",
      "../browser/ui/ash/window_positioner_unittest.cc",
      "../browser/ui/window_sizer/window_sizer_ash_unittest.cc",
    ]
    deps += [
      "//ash/common/strings",
      "//ash/resources",
      "//ash/test:ash_with_aura_test_support",
      "//ash/test:test_support_with_content",
    ]

    # Chrome OS uses window_sizer_ash_unittest.cc
    sources -= [ "../browser/ui/window_sizer/window_sizer_unittest.cc" ]
  }
  if (use_aura) {
    deps += [
      "//ui/aura:test_support",
      "//ui/views:test_support",
      "//ui/wm",
    ]
  }
  if (!is_chromeos && is_linux) {
    sources += [
      "../browser/password_manager/native_backend_kwallet_x_unittest.cc",
      "../browser/shell_integration_linux_unittest.cc",
      "../browser/ui/input_method/input_method_engine_unittest.cc",
    ]
  }
  if (!is_android && !is_ios && !is_chromeos) {
    sources += [
      "../browser/net/disk_cache_dir_policy_handler_unittest.cc",
      "//chrome/browser/profiles/profile_list_desktop_unittest.cc",
      "//chrome/browser/profiles/profile_statistics_unittest.cc",
      "//chrome/browser/ui/startup/default_browser_infobar_delegate_unittest.cc",
      "//chrome/browser/ui/startup/startup_browser_creator_impl_unittest.cc",
      "//chrome/browser/ui/startup/startup_tab_provider_unittest.cc",
    ]
  }
  if (use_gio) {
    deps += [ "//build/linux/libgio" ]
  }
  if (!is_chromeos && !use_ozone && is_linux) {
    deps += [ "//chrome/browser/ui/libgtkui" ]
  }

  if (enable_mdns) {
    sources += [
      "../browser/local_discovery/local_domain_resolver_unittest.cc",
      "../browser/local_discovery/service_discovery_client_unittest.cc",
      "../browser/printing/cloud_print/privet_device_lister_unittest.cc",
      "../browser/printing/cloud_print/privet_local_printer_lister_unittest.cc",
    ]
  }
  if (enable_service_discovery) {
    sources += [
      "../browser/devtools/device/cast_device_provider_unittest.cc",
      "../browser/local_discovery/service_discovery_client_mac_unittest.mm",
      "../browser/printing/cloud_print/cloud_print_printer_list_unittest.cc",
      "../browser/printing/cloud_print/gcd_api_flow_unittest.cc",
      "../browser/printing/cloud_print/privet_confirm_api_flow_unittest.cc",
      "../browser/printing/cloud_print/privet_http_unittest.cc",
      "../browser/printing/cloud_print/privet_notifications_unittest.cc",
      "../browser/printing/cloud_print/privet_url_fetcher_unittest.cc",
    ]
  }

  if (safe_browsing_mode > 0) {
    sources += [
      "../browser/safe_browsing/certificate_reporting_service_unittest.cc",
      "../browser/safe_browsing/ping_manager_unittest.cc",
      "../browser/safe_browsing/safe_browsing_blocking_page_unittest.cc",
      "../browser/safe_browsing/threat_details_unittest.cc",
      "../browser/safe_browsing/ui_manager_unittest.cc",
      "../common/safe_browsing/file_type_policies_test_util.cc",
      "../common/safe_browsing/file_type_policies_test_util.h",
      "../common/safe_browsing/file_type_policies_unittest.cc",
    ]
  }
  if (safe_browsing_mode == 1) {
    # TODO(sgurun): enable tests for safe_browsing==2.
    sources += [
      "../browser/safe_browsing/browser_feature_extractor_unittest.cc",
      "../browser/safe_browsing/chunk_range_unittest.cc",
      "../browser/safe_browsing/client_side_detection_host_unittest.cc",
      "../browser/safe_browsing/client_side_detection_service_unittest.cc",
      "../browser/safe_browsing/client_side_model_loader_unittest.cc",
      "../browser/safe_browsing/download_feedback_service_unittest.cc",
      "../browser/safe_browsing/download_feedback_unittest.cc",
      "../browser/safe_browsing/download_protection_service_unittest.cc",
      "../browser/safe_browsing/incident_reporting/binary_integrity_analyzer_mac_unittest.cc",
      "../browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/binary_integrity_incident_unittest.cc",
      "../browser/safe_browsing/incident_reporting/blacklist_load_analyzer_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/blacklist_load_incident_unittest.cc",
      "../browser/safe_browsing/incident_reporting/delayed_callback_runner_unittest.cc",
      "../browser/safe_browsing/incident_reporting/download_metadata_manager_unittest.cc",
      "../browser/safe_browsing/incident_reporting/environment_data_collection_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc",
      "../browser/safe_browsing/incident_reporting/incident_report_uploader_impl_unittest.cc",
      "../browser/safe_browsing/incident_reporting/incident_reporting_service_unittest.cc",
      "../browser/safe_browsing/incident_reporting/last_download_finder_unittest.cc",
      "../browser/safe_browsing/incident_reporting/mock_incident_receiver.cc",
      "../browser/safe_browsing/incident_reporting/mock_incident_receiver.h",
      "../browser/safe_browsing/incident_reporting/module_integrity_unittest_util_win.cc",
      "../browser/safe_browsing/incident_reporting/module_integrity_unittest_util_win.h",
      "../browser/safe_browsing/incident_reporting/module_integrity_verifier_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/module_load_analyzer_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/platform_state_store_unittest.cc",
      "../browser/safe_browsing/incident_reporting/platform_state_store_win_unittest.cc",
      "../browser/safe_browsing/incident_reporting/preference_validation_delegate_unittest.cc",
      "../browser/safe_browsing/incident_reporting/resource_request_detector_unittest.cc",
      "../browser/safe_browsing/incident_reporting/state_store_unittest.cc",
      "../browser/safe_browsing/incident_reporting/suspicious_module_incident_unittest.cc",
      "../browser/safe_browsing/incident_reporting/tracked_preference_incident_unittest.cc",
      "../browser/safe_browsing/incident_reporting/variations_seed_signature_incident_unittest.cc",
      "../browser/safe_browsing/local_database_manager_unittest.cc",
      "../browser/safe_browsing/local_two_phase_testserver.cc",
      "../browser/safe_browsing/notification_image_reporter_unittest.cc",
      "../browser/safe_browsing/path_sanitizer_unittest.cc",
      "../browser/safe_browsing/permission_reporter_unittest.cc",
      "../browser/safe_browsing/protocol_manager_unittest.cc",
      "../browser/safe_browsing/protocol_parser_unittest.cc",
      "../browser/safe_browsing/safe_browsing_database_unittest.cc",
      "../browser/safe_browsing/safe_browsing_navigation_observer_unittest.cc",
      "../browser/safe_browsing/safe_browsing_store_file_unittest.cc",
      "../browser/safe_browsing/safe_browsing_store_unittest.cc",
      "../browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc",
      "../browser/safe_browsing/sandboxed_zip_analyzer_unittest.cc",
      "../browser/safe_browsing/signature_evaluator_mac_unittest.cc",
      "../browser/safe_browsing/two_phase_uploader_unittest.cc",
      "../common/safe_browsing/binary_feature_extractor_mac_unittest.cc",
      "../common/safe_browsing/binary_feature_extractor_unittest.cc",
      "../common/safe_browsing/binary_feature_extractor_win_unittest.cc",
      "../common/safe_browsing/download_protection_util_unittest.cc",
      "../common/safe_browsing/ipc_protobuf_message_test_messages.h",
      "../common/safe_browsing/ipc_protobuf_message_unittest.cc",
      "../common/safe_browsing/mach_o_image_reader_mac_unittest.cc",
      "../common/safe_browsing/pe_image_reader_win_unittest.cc",
      "../renderer/safe_browsing/features_unittest.cc",
      "../renderer/safe_browsing/murmurhash3_util_unittest.cc",
      "../renderer/safe_browsing/phishing_term_feature_extractor_unittest.cc",
      "../renderer/safe_browsing/phishing_url_feature_extractor_unittest.cc",
      "../renderer/safe_browsing/scorer_unittest.cc",
      "../utility/safe_browsing/mac/dmg_test_utils.cc",
      "../utility/safe_browsing/mac/hfs_unittest.cc",
      "../utility/safe_browsing/mac/read_stream_unittest.cc",
      "../utility/safe_browsing/mac/udif_unittest.cc",
    ]
    deps += [
      ":test_proto",
      "//components/safe_browsing_db:v4_test_util",
    ]

    if (is_mac) {
      deps += [ ":mac_safe_browsing_test_data" ]
      data += [ "$root_out_dir/test_data/chrome/safe_browsing_dmg/" ]
    }
  }

  if (enable_plugins) {
    sources += [
      "../browser/component_updater/component_installers_unittest.cc",
      "../browser/metrics/chrome_stability_metrics_provider_unittest.cc",
      "../browser/metrics/plugin_metrics_provider_unittest.cc",
      "../browser/plugins/chrome_plugin_service_filter_unittest.cc",
      "../browser/plugins/flash_download_interception_unittest.cc",
      "../browser/plugins/flash_temporary_permission_tracker_unittest.cc",
      "../browser/plugins/plugin_finder_unittest.cc",
      "../browser/plugins/plugin_info_message_filter_unittest.cc",
      "../browser/plugins/plugin_installer_unittest.cc",
      "../browser/plugins/plugin_metadata_unittest.cc",
      "../browser/plugins/plugin_prefs_unittest.cc",
      "../common/pepper_permission_util_unittest.cc",
    ]
  }

  if (enable_print_preview) {
    sources += [
      "../browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc",
      "../browser/printing/print_job_unittest.cc",
      "../browser/printing/print_preview_dialog_controller_unittest.cc",
      "../browser/printing/print_preview_test.cc",
      "../browser/printing/print_preview_test.h",
      "../browser/ui/webui/print_preview/extension_printer_handler_unittest.cc",
      "../browser/ui/webui/print_preview/print_preview_ui_unittest.cc",
      "../browser/ui/webui/print_preview/printer_capabilities_unittest.cc",
      "../common/cloud_print/cloud_print_helpers_unittest.cc",
      "../common/service_process_util_mac_unittest.mm",
      "../common/service_process_util_unittest.cc",
      "../service/cloud_print/cloud_print_service_helpers_unittest.cc",
      "../service/cloud_print/cloud_print_token_store_unittest.cc",
      "../service/cloud_print/cloud_print_url_fetcher_unittest.cc",
      "../service/cloud_print/connector_settings_unittest.cc",
      "../service/cloud_print/printer_job_handler_unittest.cc",
      "../service/cloud_print/printer_job_queue_handler_unittest.cc",
      "../service/service_ipc_server_unittest.cc",
      "../service/service_process_prefs_unittest.cc",
      "../utility/cloud_print/pwg_encoder_unittest.cc",
    ]

    deps += [
      "//ipc",
      "//printing:test_support",
    ]
  }

  if (enable_media_router) {
    sources += [
      "../browser/media/cast_remoting_connector_unittest.cc",
      "../browser/media/router/browser_presentation_connection_proxy_unittest.cc",
      "../browser/media/router/create_presentation_connection_request_unittest.cc",
      "../browser/media/router/issue_manager_unittest.cc",
      "../browser/media/router/issue_unittest.cc",
      "../browser/media/router/media_route_unittest.cc",
      "../browser/media/router/media_router_base_unittest.cc",
      "../browser/media/router/media_router_dialog_controller_unittest.cc",
      "../browser/media/router/media_router_factory_unittest.cc",
      "../browser/media/router/media_router_metrics_unittest.cc",
      "../browser/media/router/media_sink_unittest.cc",
      "../browser/media/router/media_sinks_observer_unittest.cc",
      "../browser/media/router/media_source_helper_unittest.cc",
      "../browser/media/router/media_source_unittest.cc",
      "../browser/media/router/offscreen_presentation_manager_factory_unittest.cc",
      "../browser/media/router/offscreen_presentation_manager_unittest.cc",
      "../browser/media/router/presentation_media_sinks_observer_unittest.cc",
      "../browser/media/router/presentation_request_unittest.cc",
      "../browser/media/router/presentation_service_delegate_impl_unittest.cc",
    ]
    deps += [ "//chrome/browser/media/router:test_support" ]
    if (!is_android) {
      sources += [
        # TODO(crbug.com/646627):
        # Move media_router_ui_service_factory_unittest.cc to chrome/browser/ui.
        "../browser/media/router/media_router_ui_service_factory_unittest.cc",
        "../browser/media/router/mojo/media_router_mojo_impl_unittest.cc",
        "../browser/media/router/mojo/media_router_mojo_metrics_unittest.cc",
        "../browser/media/router/mojo/media_router_type_converters_unittest.cc",
        "../browser/ui/toolbar/media_router_action_controller_unittest.cc",
        "../browser/ui/toolbar/media_router_action_unittest.cc",
        "../browser/ui/toolbar/media_router_contextual_menu_unittest.cc",
        "../browser/ui/webui/media_router/cast_modes_with_media_sources_unittest.cc",
        "../browser/ui/webui/media_router/media_cast_mode_unittest.cc",
        "../browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc",
        "../browser/ui/webui/media_router/media_router_ui_unittest.cc",
        "../browser/ui/webui/media_router/media_router_web_ui_test.cc",
        "../browser/ui/webui/media_router/media_router_web_ui_test.h",
        "../browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc",
        "../browser/ui/webui/media_router/query_result_manager_unittest.cc",
      ]
    }
  }
  if (enable_captive_portal_detection) {
    sources += [
      "../browser/captive_portal/captive_portal_service_unittest.cc",
      "../browser/captive_portal/captive_portal_tab_helper_unittest.cc",
      "../browser/captive_portal/captive_portal_tab_reloader_unittest.cc",
    ]
  }
  if (enable_session_service) {
    sources += [
      "../browser/sessions/session_restore_stats_collector_unittest.cc",
      "../browser/sessions/session_service_unittest.cc",
      "../browser/sessions/tab_loader_unittest.cc",
    ]

    if (is_mac && !mac_views_browser) {
      sources += [ "../browser/ui/startup/session_crashed_infobar_delegate_unittest.cc" ]
    }
  }
  if (enable_webrtc) {
    sources += [
      "../browser/media/webrtc/webrtc_log_uploader_unittest.cc",
      "../browser/media/webrtc/webrtc_log_util_unittest.cc",
      "../browser/media/webrtc/webrtc_rtp_dump_handler_unittest.cc",
      "../browser/media/webrtc/webrtc_rtp_dump_writer_unittest.cc",
      "../renderer/media/chrome_webrtc_log_message_delegate_unittest.cc",
    ]
  }
  if (is_chromeos) {
    deps += [
      "//chrome/browser/chromeos:unit_tests",
      "//chromeos/ime:gencode",
    ]
    sources -= [
      "../browser/policy/cloud/user_policy_signin_service_unittest.cc",
      "../browser/signin/signin_manager_unittest.cc",
    ]
    sources += [
      "../browser/task_manager/providers/arc/arc_process_filter_unittest.cc",
      "base/ash_test_environment_chrome.cc",
      "base/ash_test_environment_chrome.h",
    ]
  }
  if (use_x11) {
    deps += [ "//ui/events/devices" ]
  } else {
    sources -= [ "../browser/password_manager/password_store_x_unittest.cc" ]
  }
  if (use_gnome_keyring && current_cpu == "x64") {
    # Only add this test for 64 bit builds because otherwise we need the 32
    # bit library on 64 bit systems when running this test.
    sources +=
        [ "../browser/password_manager/native_backend_gnome_x_unittest.cc" ]
    configs += [
      "//components/os_crypt:gnome_keyring",
      "//components/os_crypt:gnome_keyring_direct",
    ]
  }
  if (is_linux && !is_chromeos && !use_ozone) {
    sources +=
        [ "../browser/password_manager/native_backend_libsecret_unittest.cc" ]
    deps += [ "//third_party/libsecret" ]
  }
  if (is_linux && use_aura) {
    deps += [ "//ui/aura:test_support" ]
    if (use_dbus) {
      deps += [ "//dbus:test_support" ]
    }
  }
  if (is_linux && is_chrome_branded && current_cpu == "x86") {
    ldflags = [ "-Wl,--strip-debug" ]
  }
  if (is_mac) {
    sources -= [
      # This tests the function GetSpellCheckLanguages which is not used on
      # Mac.
      "../browser/spellchecker/spellcheck_service_unittest.cc",
      "../browser/ui/tests/ui_gfx_image_unittest.cc",

      # This tests Chrome's spellchecker which Mac doesn't use.
      "../tools/convert_dict/convert_dict_unittest.cc",
    ]

    # The test fetches resources which means Mac need the app bundle to exist
    # on disk so it can pull from it.
    deps += [
      "//third_party/google_toolbox_for_mac",
      "//third_party/ocmock",
    ]

    if (mac_views_browser) {
      # TODO(tapted): Add chrome_unit_tests_views_non_mac_sources.
    } else {
      sources += [
        "../browser/ui/cocoa/accelerators_cocoa_unittest.mm",
        "../browser/ui/cocoa/animatable_image_unittest.mm",
        "../browser/ui/cocoa/animatable_view_unittest.mm",
        "../browser/ui/cocoa/app_menu/app_menu_button_cell_unittest.mm",
        "../browser/ui/cocoa/app_menu/app_menu_controller_unittest.mm",
        "../browser/ui/cocoa/app_menu/menu_tracked_root_view_unittest.mm",
        "../browser/ui/cocoa/applescript/apple_event_util_unittest.mm",
        "../browser/ui/cocoa/applescript/bookmark_applescript_utils_unittest.h",
        "../browser/ui/cocoa/applescript/bookmark_applescript_utils_unittest.mm",
        "../browser/ui/cocoa/applescript/bookmark_folder_applescript_unittest.mm",
        "../browser/ui/cocoa/applescript/bookmark_item_applescript_unittest.mm",
        "../browser/ui/cocoa/autofill/autofill_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/autofill/autofill_pop_up_button_unittest.mm",
        "../browser/ui/cocoa/autofill/autofill_textfield_unittest.mm",
        "../browser/ui/cocoa/autofill/autofill_tooltip_controller_unittest.mm",
        "../browser/ui/cocoa/autofill/down_arrow_popup_menu_cell_unittest.mm",
        "../browser/ui/cocoa/autofill/layout_view_unittest.mm",
        "../browser/ui/cocoa/autofill/password_generation_popup_view_cocoa_unittest.mm",
        "../browser/ui/cocoa/autofill/save_card_bubble_view_unittest.mm",
        "../browser/ui/cocoa/autofill/simple_grid_layout_unittest.mm",
        "../browser/ui/cocoa/background_gradient_view_unittest.mm",
        "../browser/ui/cocoa/base_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_all_tabs_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_bridge_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_folder_view_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_folder_window_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bar_view_cocoa_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_button_cell_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_button_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_editor_base_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_editor_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_folder_target_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_menu_bridge_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_model_observer_for_cocoa_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_name_folder_controller_unittest.mm",
        "../browser/ui/cocoa/bookmarks/bookmark_tree_browser_cell_unittest.mm",
        "../browser/ui/cocoa/browser/zoom_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/browser_window_cocoa_unittest.mm",
        "../browser/ui/cocoa/browser_window_controller_unittest.mm",
        "../browser/ui/cocoa/browser_window_layout_unittest.mm",
        "../browser/ui/cocoa/browser_window_utils_unittest.mm",
        "../browser/ui/cocoa/bubble_anchor_helper_views_unittest.mm",
        "../browser/ui/cocoa/bubble_view_unittest.mm",
        "../browser/ui/cocoa/chrome_browser_window_unittest.mm",
        "../browser/ui/cocoa/clickhold_button_cell_unittest.mm",
        "../browser/ui/cocoa/confirm_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/confirm_quit_panel_controller_unittest.mm",
        "../browser/ui/cocoa/constrained_window/constrained_window_alert_unittest.mm",
        "../browser/ui/cocoa/constrained_window/constrained_window_button_unittest.mm",
        "../browser/ui/cocoa/constrained_window/constrained_window_custom_window_unittest.mm",
        "../browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm",
        "../browser/ui/cocoa/content_settings/collected_cookies_mac_unittest.mm",
        "../browser/ui/cocoa/content_settings/cookie_details_unittest.mm",
        "../browser/ui/cocoa/content_settings/cookie_details_view_controller_unittest.mm",
        "../browser/ui/cocoa/custom_frame_view_unittest.mm",
        "../browser/ui/cocoa/download/download_item_button_unittest.mm",
        "../browser/ui/cocoa/download/download_item_cell_unittest.mm",
        "../browser/ui/cocoa/download/download_item_controller_unittest.mm",
        "../browser/ui/cocoa/download/download_shelf_controller_unittest.mm",
        "../browser/ui/cocoa/download/download_shelf_mac_unittest.mm",
        "../browser/ui/cocoa/download/download_shelf_view_cocoa_unittest.mm",
        "../browser/ui/cocoa/download/download_util_mac_unittest.mm",
        "../browser/ui/cocoa/draggable_button_unittest.mm",
        "../browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm",
        "../browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm",
        "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h",
        "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm",
        "../browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm",
        "../browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm",
        "../browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac_unittest.mm",
        "../browser/ui/cocoa/find_bar/find_bar_bridge_unittest.mm",
        "../browser/ui/cocoa/find_bar/find_bar_cocoa_controller_unittest.mm",
        "../browser/ui/cocoa/find_bar/find_bar_text_field_cell_unittest.mm",
        "../browser/ui/cocoa/find_bar/find_bar_text_field_unittest.mm",
        "../browser/ui/cocoa/find_bar/find_bar_view_unittest.mm",
        "../browser/ui/cocoa/find_pasteboard_unittest.mm",
        "../browser/ui/cocoa/first_run_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/floating_bar_backing_view_unittest.mm",
        "../browser/ui/cocoa/framed_browser_window_unittest.mm",
        "../browser/ui/cocoa/fullscreen/fullscreen_toolbar_controller_unittest.mm",
        "../browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm",
        "../browser/ui/cocoa/fullscreen_window_unittest.mm",
        "../browser/ui/cocoa/gradient_button_cell_unittest.mm",
        "../browser/ui/cocoa/history_menu_bridge_unittest.mm",
        "../browser/ui/cocoa/history_menu_cocoa_controller_unittest.mm",
        "../browser/ui/cocoa/history_overlay_controller_unittest.mm",
        "../browser/ui/cocoa/hover_close_button_unittest.mm",
        "../browser/ui/cocoa/hung_renderer_controller_unittest.mm",
        "../browser/ui/cocoa/image_button_cell_unittest.mm",
        "../browser/ui/cocoa/info_bubble_view_unittest.mm",
        "../browser/ui/cocoa/info_bubble_window_unittest.mm",
        "../browser/ui/cocoa/infobars/confirm_infobar_controller_unittest.mm",
        "../browser/ui/cocoa/infobars/infobar_container_controller_unittest.mm",
        "../browser/ui/cocoa/infobars/infobar_gradient_view_unittest.mm",
        "../browser/ui/cocoa/infobars/mock_confirm_infobar_delegate.cc",
        "../browser/ui/cocoa/infobars/mock_confirm_infobar_delegate.h",
        "../browser/ui/cocoa/infobars/translate_infobar_unittest.mm",
        "../browser/ui/cocoa/location_bar/autocomplete_text_field_cell_unittest.mm",
        "../browser/ui/cocoa/location_bar/autocomplete_text_field_editor_unittest.mm",
        "../browser/ui/cocoa/location_bar/autocomplete_text_field_unittest.mm",
        "../browser/ui/cocoa/location_bar/autocomplete_text_field_unittest_helper.mm",
        "../browser/ui/cocoa/location_bar/image_decoration_unittest.mm",
        "../browser/ui/cocoa/location_bar/keyword_hint_decoration_unittest.mm",
        "../browser/ui/cocoa/location_bar/manage_passwords_decoration_unittest.mm",
        "../browser/ui/cocoa/location_bar/security_state_bubble_decoration_unittest.mm",
        "../browser/ui/cocoa/location_bar/selected_keyword_decoration_unittest.mm",
        "../browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm",
        "../browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm",
        "../browser/ui/cocoa/menu_button_unittest.mm",
        "../browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm",
        "../browser/ui/cocoa/notifications/notification_response_builder_mac_unittest.mm",
        "../browser/ui/cocoa/nsmenuitem_additions_unittest.mm",
        "../browser/ui/cocoa/omnibox/omnibox_popup_cell_unittest.mm",
        "../browser/ui/cocoa/omnibox/omnibox_popup_matrix_unittest.mm",
        "../browser/ui/cocoa/omnibox/omnibox_popup_separator_view_unittest.mm",
        "../browser/ui/cocoa/omnibox/omnibox_popup_view_mac_unittest.mm",
        "../browser/ui/cocoa/omnibox/omnibox_view_mac_unittest.mm",
        "../browser/ui/cocoa/passwords/account_chooser_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/autosignin_prompt_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/base_passwords_controller_test.h",
        "../browser/ui/cocoa/passwords/base_passwords_controller_test.mm",
        "../browser/ui/cocoa/passwords/confirmation_password_saved_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/manage_passwords_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/passwords_bubble_cocoa_unittest.mm",
        "../browser/ui/cocoa/passwords/passwords_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/passwords_list_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/save_pending_password_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/signin_promo_view_controller_unittest.mm",
        "../browser/ui/cocoa/passwords/update_pending_password_view_controller_unittest.mm",
        "../browser/ui/cocoa/profiles/avatar_button_controller_unittest.mm",
        "../browser/ui/cocoa/profiles/avatar_button_unittest.mm",
        "../browser/ui/cocoa/profiles/avatar_icon_controller_unittest.mm",
        "../browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm",
        "../browser/ui/cocoa/profiles/profile_menu_controller_unittest.mm",
        "../browser/ui/cocoa/profiles/user_manager_mac_unittest.mm",
        "../browser/ui/cocoa/screen_capture_notification_ui_cocoa_unittest.mm",
        "../browser/ui/cocoa/spinner_view_unittest.mm",
        "../browser/ui/cocoa/sprite_view_unittest.mm",
        "../browser/ui/cocoa/status_bubble_mac_unittest.mm",
        "../browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm",
        "../browser/ui/cocoa/styled_text_field_cell_unittest.mm",
        "../browser/ui/cocoa/styled_text_field_unittest.mm",
        "../browser/ui/cocoa/tab_contents/sad_tab_mac_unittest.mm",
        "../browser/ui/cocoa/tabs/alert_indicator_button_cocoa_unittest.mm",
        "../browser/ui/cocoa/tabs/tab_controller_unittest.mm",
        "../browser/ui/cocoa/tabs/tab_strip_controller_unittest.mm",
        "../browser/ui/cocoa/tabs/tab_strip_view_unittest.mm",
        "../browser/ui/cocoa/tabs/tab_view_unittest.mm",
        "../browser/ui/cocoa/test/cocoa_profile_test.h",
        "../browser/ui/cocoa/test/cocoa_profile_test.mm",
        "../browser/ui/cocoa/test/run_loop_testing_unittest.mm",
        "../browser/ui/cocoa/test/styled_text_field_test_helper.h",
        "../browser/ui/cocoa/test/styled_text_field_test_helper.mm",
        "../browser/ui/cocoa/toolbar/app_toolbar_button_cell_unittest.mm",
        "../browser/ui/cocoa/toolbar/reload_button_unittest.mm",
        "../browser/ui/cocoa/toolbar/toolbar_button_unittest.mm",
        "../browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm",
        "../browser/ui/cocoa/toolbar/toolbar_view_unittest.mm",
        "../browser/ui/cocoa/translate/translate_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/url_drop_target_unittest.mm",
        "../browser/ui/cocoa/validation_message_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/vertical_gradient_view_unittest.mm",
        "../browser/ui/cocoa/view_resizer_pong.h",
        "../browser/ui/cocoa/view_resizer_pong.mm",
        "../browser/ui/cocoa/website_settings/permission_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/website_settings/permission_selector_button_unittest.mm",
        "../browser/ui/cocoa/website_settings/website_settings_bubble_controller_unittest.mm",
        "../browser/ui/cocoa/window_size_autosaver_unittest.mm",
      ]
    }

    # TODO(mark): We really want this for all non-static library targets,
    # but when we tried to pull it up to the common.gypi level, it broke
    # other things like the ui and startup tests. *shrug*
    ldflags = [ "-Wl,-ObjC" ]
  }
  if (!is_mac && !is_ios) {
    deps += [
      "//chrome:packed_resources",
      "//chrome/tools/convert_dict:lib",
      "//third_party/hunspell",
    ]
  }
  if (is_win || is_mac) {
    sources += [
      "../browser/media_galleries/fileapi/itunes_file_util_unittest.cc",
      "../browser/media_galleries/fileapi/picasa_file_util_unittest.cc",
      "../utility/media_galleries/itunes_library_parser_unittest.cc",
      "../utility/media_galleries/picasa_album_table_reader_unittest.cc",
      "../utility/media_galleries/picasa_albums_indexer_unittest.cc",
      "../utility/media_galleries/pmp_column_reader_unittest.cc",
    ]
  }
  if (is_win || is_mac || is_chromeos) {
    sources += [ "../browser/extensions/api/networking_private/networking_private_crypto_unittest.cc" ]
  }
  if (enable_rlz_support) {
    sources += [ "../browser/rlz/chrome_rlz_tracker_delegate_unittest.cc" ]
    deps += [
      "//chrome/browser:rlz",
      "//components/rlz",
      "//rlz:test_support",
    ]
  }
  if (is_win) {
    if (!is_component_build) {
      # The PDB gets too large for incremental linking.
      configs -= [ "//build/config/win:default_incremental_linking" ]
      configs +=
          [ "//build/config/win:default_large_module_incremental_linking" ]
    }

    sources += [
      "../browser/ui/input_method/input_method_engine_unittest.cc",
      "../test/data/resource.rc",
    ]
    deps += [
      "//chrome:other_version",
      "//chrome/app:chrome_dll_resources",
      "//chrome/install_static:install_static_util",
      "//chrome/installer/util:strings",
      "//chrome_elf:blacklist_test_dll_1",
      "//third_party/iaccessible2",
      "//third_party/isimpledom",
      "//third_party/wtl",
      "//ui/resources",
    ]
    data_deps += [
      "//chrome/browser/safe_browsing/incident_reporting/verifier_test:verifier_test_dll_1",
      "//chrome/browser/safe_browsing/incident_reporting/verifier_test:verifier_test_dll_2",
      ":conflicts_dll",
    ]

    libs = [
      "comsupp.lib",
      "oleacc.lib",
      "rpcrt4.lib",
      "urlmon.lib",
      "winmm.lib",
    ]
    if (!is_chrome_branded) {
      sources -= [ "../browser/google/google_update_win_unittest.cc" ]
    }
  }
  if (is_android || is_ios) {
    sources -= [
      "../browser/ui/bookmarks/bookmark_ui_utils_desktop_unittest.cc",
      "../browser/ui/sync/sync_promo_ui_unittest.cc",
    ]
  }
  if (!is_android && !is_chromeos) {
    sources += [
      "../browser/media/webrtc/native_desktop_media_list_unittest.cc",
      "../browser/metrics/desktop_session_duration/desktop_session_duration_tracker_unittest.cc",
      "../browser/signin/cross_device_promo_unittest.cc",
      "../browser/signin/signin_global_error_unittest.cc",
      "../browser/sync/sync_global_error_unittest.cc",
      "../browser/ui/webui/signin/signin_create_profile_handler_unittest.cc",
      "../browser/ui/webui/signin/sync_confirmation_handler_unittest.cc",
      "../browser/upgrade_detector_impl_unittest.cc",
    ]
  }
  if (toolkit_views) {
    deps += [
      "//components/web_modal:test_support",
      "//ui/views",
      "//ui/views:test_support",
    ]
    sources += [
      "../../ui/views/controls/webview/webview_unittest.cc",
      "../browser/ui/views/apps/app_info_dialog/app_info_dialog_views_unittest.cc",
      "../browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc",
      "../browser/ui/views/confirm_bubble_views_unittest.cc",
      "../browser/ui/views/global_error_bubble_view_unittest.cc",
      "../browser/ui/views/website_settings/website_settings_popup_view_unittest.cc",
    ]
    if (is_chromeos) {
      sources += [ "../browser/ui/views/ime_driver/input_method_bridge_chromeos_unittest.cc" ]
    }
    if (!is_chromeos && (!is_mac || mac_views_browser)) {
      sources += [
        "../browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc",
        "../browser/ui/views/sync/one_click_signin_dialog_view_unittest.cc",
      ]
    }
    if (!is_mac || mac_views_browser) {
      sources += [
        "../browser/ui/views/accelerator_table_unittest.cc",
        "../browser/ui/views/accelerator_table_unittest_mac.mm",
        "../browser/ui/views/bookmarks/bookmark_bar_view_unittest.cc",
        "../browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc",
        "../browser/ui/views/bookmarks/bookmark_context_menu_unittest.cc",
        "../browser/ui/views/bookmarks/bookmark_editor_view_unittest.cc",
        "../browser/ui/views/bookmarks/bookmark_menu_delegate_unittest.cc",
        "../browser/ui/views/device_chooser_content_view_unittest.cc",
        "../browser/ui/views/download/download_item_view_unittest.cc",
        "../browser/ui/views/extensions/chooser_dialog_view_unittest.cc",
        "../browser/ui/views/extensions/media_galleries_dialog_views_unittest.cc",
        "../browser/ui/views/frame/browser_non_client_frame_view_unittest.cc",
        "../browser/ui/views/frame/browser_view_layout_unittest.cc",
        "../browser/ui/views/frame/browser_view_unittest.cc",
        "../browser/ui/views/frame/test_with_browser_view.cc",
        "../browser/ui/views/frame/test_with_browser_view.h",
        "../browser/ui/views/frame/web_contents_close_handler_unittest.cc",
        "../browser/ui/views/location_bar/icon_label_bubble_view_unittest.cc",
        "../browser/ui/views/omnibox/omnibox_view_views_unittest.cc",
        "../browser/ui/views/payments/validating_textfield_unittest.cc",
        "../browser/ui/views/payments/view_stack_unittest.cc",
        "../browser/ui/views/status_icons/status_tray_win_unittest.cc",
        "../browser/ui/views/sync/bubble_sync_promo_view_unittest.cc",
        "../browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_unittest.cc",
        "../browser/ui/views/tabs/alert_indicator_button_unittest.cc",
        "../browser/ui/views/tabs/fake_base_tab_strip_controller.cc",
        "../browser/ui/views/tabs/fake_base_tab_strip_controller.h",
        "../browser/ui/views/tabs/stacked_tab_strip_layout_unittest.cc",
        "../browser/ui/views/tabs/tab_strip_layout_unittest.cc",
        "../browser/ui/views/tabs/tab_strip_unittest.cc",
        "../browser/ui/views/tabs/tab_unittest.cc",
        "../browser/ui/views/toolbar/reload_button_unittest.cc",
        "../browser/ui/views/toolbar/toolbar_action_view_unittest.cc",
        "../browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc",
        "../browser/ui/views/translate/translate_bubble_view_unittest.cc",
        "../browser/ui/views/webshare/webshare_target_picker_view_unittest.cc",
      ]
    }
    if (use_aura) {
      sources += [
        "../browser/ui/views/apps/shaped_app_window_targeter_unittest.cc",

        # Get these compiling on Mac - see http://crbug.com/657883.
        "../browser/ui/views/crypto_module_password_dialog_view_unittest.cc",
        "../browser/ui/views/desktop_capture/desktop_media_picker_views_unittest.cc",
        "../browser/ui/views/first_run_bubble_unittest.cc",
      ]
    }
  }
  if (!is_android && use_nss_certs) {
    sources += [ "../common/net/x509_certificate_model_unittest.cc" ]
  }
  if (enable_supervised_users) {
    sources += [
      "../browser/content_settings/content_settings_supervised_provider_unittest.cc",
      "../browser/supervised_user/child_accounts/family_info_fetcher_unittest.cc",
      "../browser/supervised_user/child_accounts/permission_request_creator_apiary_unittest.cc",
      "../browser/supervised_user/experimental/safe_search_url_reporter_unittest.cc",
      "../browser/supervised_user/supervised_user_bookmarks_handler_unittest.cc",
      "../browser/supervised_user/supervised_user_pref_store_unittest.cc",
      "../browser/supervised_user/supervised_user_service_unittest.cc",
      "../browser/supervised_user/supervised_user_settings_service_unittest.cc",
      "../browser/supervised_user/supervised_user_url_filter_unittest.cc",
      "../browser/supervised_user/supervised_user_whitelist_service_unittest.cc",
    ]
  }
  if (enable_supervised_users && !is_android && !is_ios) {
    # TODO(bauerb): This code should be removed (on desktop) once child account
    # support has launched (https://crbug.com/505443).
    sources += [
      "../browser/supervised_user/legacy/supervised_user_pref_mapping_service_unittest.cc",
      "../browser/supervised_user/legacy/supervised_user_refresh_token_fetcher_unittest.cc",
      "../browser/supervised_user/legacy/supervised_user_registration_utility_unittest.cc",
      "../browser/supervised_user/legacy/supervised_user_shared_settings_service_unittest.cc",
      "../browser/supervised_user/legacy/supervised_user_shared_settings_update_unittest.cc",
      "../browser/supervised_user/legacy/supervised_user_sync_service_unittest.cc",
    ]
  }
  if (enable_supervised_users && !is_android && !is_chromeos) {
    sources += [
      "../browser/supervised_user/supervised_user_creation_policy_handler_unittest.cc",
      "../browser/ui/webui/signin/signin_supervised_user_import_handler_unittest.cc",
    ]
  }
  if (safe_browsing_mode == 1 && enable_extensions) {
    sources += [ "../browser/extensions/blacklist_unittest.cc" ]
  }
  if (enable_app_list) {
    sources += [
      "../browser/apps/drive/drive_app_mapping_unittest.cc",
      "../browser/ui/app_list/app_context_menu_unittest.cc",
      "../browser/ui/app_list/app_list_service_unittest.cc",
      "../browser/ui/app_list/app_list_test_util.cc",
      "../browser/ui/app_list/app_list_test_util.h",
      "../browser/ui/app_list/arc/arc_app_test.cc",
      "../browser/ui/app_list/arc/arc_app_test.h",
      "../browser/ui/app_list/arc/arc_app_unittest.cc",
      "../browser/ui/app_list/extension_app_model_builder_unittest.cc",
      "../browser/ui/app_list/profile_loader_unittest.cc",
      "../browser/ui/app_list/search/app_search_provider_unittest.cc",
      "../browser/ui/app_list/search/history_unittest.cc",
      "../browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader_unittest.cc",
      "../browser/ui/app_list/search/omnibox_result_unittest.cc",
      "../browser/ui/app_list/search/suggestions/suggestions_search_provider_unittest.cc",
      "../browser/ui/app_list/speech_auth_helper_unittest.cc",
      "../browser/ui/app_list/test/fake_profile.cc",
      "../browser/ui/app_list/test/fake_profile.h",
      "../browser/ui/app_list/test/fake_profile_store.cc",
      "../browser/ui/app_list/test/fake_profile_store.h",
      "../browser/ui/views/apps/app_info_dialog/app_info_dialog_ash_unittest.cc",
    ]
    deps += [
      "//components/arc:arc_test_support",
      "//ui/app_list:test_support",
    ]
  }
  if (enable_plugins && !enable_plugin_installation) {
    sources -= [ "../browser/plugins/plugin_installer_unittest.cc" ]
  }
}

if (safe_browsing_mode == 1 && is_mac) {
  action("mac_safe_browsing_test_data") {
    script = "//build/gn_run_binary.py"
    shell_script = "//chrome/test/data/safe_browsing/dmg/generate_test_data.sh"
    inputs = [
      script,
      shell_script,
      "data/safe_browsing/dmg/make_hfs.sh",
      "data/safe_browsing/mach_o/executablefat",
      "data/safe_browsing/mach_o/lib64.dylib",
    ]
    _output_dir = "$root_out_dir/test_data/chrome/safe_browsing_dmg"
    outputs = [
      "$_output_dir/dmg_UDBZ_GPTSPUD.dmg",
      "$_output_dir/dmg_UDBZ_NONE.dmg",
      "$_output_dir/dmg_UDBZ_SPUD.dmg",
      "$_output_dir/dmg_UDCO_GPTSPUD.dmg",
      "$_output_dir/dmg_UDCO_NONE.dmg",
      "$_output_dir/dmg_UDCO_SPUD.dmg",
      "$_output_dir/dmg_UDRO_GPTSPUD.dmg",
      "$_output_dir/dmg_UDRO_NONE.dmg",
      "$_output_dir/dmg_UDRO_SPUD.dmg",
      "$_output_dir/dmg_UDRW_GPTSPUD.dmg",
      "$_output_dir/dmg_UDRW_NONE.dmg",
      "$_output_dir/dmg_UDRW_SPUD.dmg",
      "$_output_dir/dmg_UDSP_GPTSPUD.sparseimage",
      "$_output_dir/dmg_UDSP_NONE.sparseimage",
      "$_output_dir/dmg_UDSP_SPUD.sparseimage",
      "$_output_dir/dmg_UDTO_GPTSPUD.cdr",
      "$_output_dir/dmg_UDTO_NONE.cdr",
      "$_output_dir/dmg_UDTO_SPUD.cdr",
      "$_output_dir/dmg_UDZO_GPTSPUD.dmg",
      "$_output_dir/dmg_UDZO_NONE.dmg",
      "$_output_dir/dmg_UDZO_SPUD.dmg",
      "$_output_dir/dmg_UFBI_GPTSPUD.dmg",
      "$_output_dir/dmg_UFBI_NONE.dmg",
      "$_output_dir/dmg_UFBI_SPUD.dmg",
      "$_output_dir/hfs_plus.img",
      "$_output_dir/hfsx_case_sensitive.img",
      "$_output_dir/mach_o_in_dmg.dmg",
    ]
    args = [
      rebase_path(shell_script, root_out_dir),
      rebase_path(_output_dir, root_out_dir),
    ]
  }
}

if (!is_android) {
  # TODO(609855): Make this compile on Android and run on the bots.
  test("chrome_app_unittests") {
    sources = [
      "../app/chrome_watcher_client_unittest_win.cc",
      "../app/chrome_watcher_client_win.cc",
      "../app/chrome_watcher_command_line_win.cc",
      "../app/chrome_watcher_command_line_win_unittest.cc",
      "../app/resources/resources_unittest.cc",
      "../common/crash_keys.cc",
      "../common/crash_keys.h",
    ]
    deps = [
      ":test_support",
      "//base/test:run_all_unittests",
      "//base/test:test_support",
      "//breakpad:client",
      "//chrome/browser",
      "//chrome/child",
      "//components/crash/core/common",
      "//components/flags_ui:switches",
    ]
  }
}

if (!is_android && !is_ios && !is_chromecast) {
  test("performance_browser_tests") {
    sources = [
      "../app/chrome_version.rc.version",
      "../browser/extensions/api/cast_streaming/performance_test.cc",
      "../browser/extensions/api/tab_capture/tab_capture_performancetest.cc",
      "../browser/extensions/browsertest_util.cc",
      "../browser/extensions/chrome_extension_test_notification_observer.cc",
      "../browser/extensions/chrome_extension_test_notification_observer.h",
      "../browser/extensions/extension_apitest.cc",
      "../browser/extensions/extension_browsertest.cc",
      "../browser/extensions/updater/extension_cache_fake.cc",
      "../browser/extensions/updater/extension_cache_fake.h",
      "base/browser_perf_tests_main.cc",
      "base/chrome_render_view_test.cc",
      "base/chrome_render_view_test.h",
      "perf/mach_ports_performancetest.cc",
      "perf/url_parse_perftest.cc",
    ]

    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    deps = [
      ":test_support",
      ":test_support_ui",
      "//base",
      "//base:i18n",
      "//base/test:test_support",
      "//chrome/app:chrome_dll_resources",
      "//chrome/browser",
      "//chrome/renderer",
      "//components/about_handler",
      "//components/autofill/content/renderer:test_support",
      "//components/spellcheck:build_features",
      "//content/test:test_support",
      "//extensions/features",
      "//media/cast:test_support",
      "//testing/gmock",
      "//testing/gtest",
      "//testing/perf",
    ]

    data = [
      "//chrome/test/data/extensions/api_test/",

      # Needed for isolate script to execute.
      "//testing/scripts/common.py",
      "//testing/xvfb.py",
      "//testing/scripts/run_gtest_perf_test.py",
      "//tools/perf/generate_legacy_perf_dashboard_json.py",
    ]

    if (is_win) {
      configs -= [ "//build/config/win:default_incremental_linking" ]
      configs +=
          [ "//build/config/win:default_large_module_incremental_linking" ]
      deps += [ "//chrome/app:command_ids" ]
    } else {
      sources -= [ "../app/chrome_version.rc.version" ]
    }
    if (!is_mac) {
      sources -= [ "perf/mach_ports_performancetest.cc" ]
    }

    if (is_linux || is_win) {
      data += [
        "$root_out_dir/chrome_100_percent.pak",
        "$root_out_dir/chrome_200_percent.pak",
        "$root_out_dir/locales/en-US.pak",
        "$root_out_dir/locales/fr.pak",
        "$root_out_dir/resources.pak",
      ]
    }

    # This target should not require the Chrome executable to run.
    assert_no_deps = [ "//chrome" ]
  }
}

static_library("test_support_unit") {
  testonly = true
  sources = [
    "base/run_all_unittests.cc",
  ]

  public_deps = [
    ":test_support",
    "//base",
    "//chrome:resources",
    "//chrome:strings",
    "//chrome/browser",
    "//chrome/common",
    "//mojo/edk/test:test_support",
  ]
}

if (is_android) {
  android_library("unit_tests_java") {
    java_files = [ "android/unit_tests_apk/src/org/chromium/chrome/unit_tests_apk/ChromeNativeTestApplication.java" ]
    deps = [
      "//base:base_java",
      "//chrome/android:chrome_java",
      "//content/public/android:content_java",
    ]
  }
}

if (enable_package_mash_services) {
  # TODO(GYP_GONE): Delete this after we've converted everything to GN.
  # The _run targets exist only for compatibility w/ GYP.
  group("mash_browser_tests_run") {
    testonly = true
    deps = [
      ":mash_browser_tests",
    ]
  }

  group("mash_browser_tests") {
    testonly = true
    data_deps = [
      ":browser_tests",
      "//chrome/app/mash:mash_service_overrides",
    ]
  }

  service_manifest("mash_browser_tests_manifest") {
    name = "mash_browser_tests"

    source = "base/mash_browser_tests_manifest.json"
    packaged_services = [
      "//ash/autoclick/mus:manifest",
      "//ash/mus:manifest",
      "//ash/touch_hud/mus:manifest",
      "//mash/catalog_viewer:manifest",
      "//mash/quick_launch:manifest",
      "//mash/session:manifest",
      "//mash/task_viewer:manifest",
      "//services/ui:manifest",
      "//services/ui/ime/test_ime_driver:manifest",
    ]

    if (is_linux && !is_android) {
      packaged_services += [ "//components/font_service:manifest" ]
    }
  }

  catalog("mash_browser_tests_catalog") {
    testonly = true
    embedded_services = [ ":mash_browser_tests_manifest" ]
    standalone_services = [ "//services/tracing:manifest" ]
    catalog_deps = [ "//chrome/app:catalog" ]
  }

  copy("mash_browser_tests_catalog_copy") {
    testonly = true
    sources = get_target_outputs(":mash_browser_tests_catalog")
    outputs = [
      "${root_out_dir}/mash_browser_tests_catalog.json",
    ]
    deps = [
      ":mash_browser_tests_catalog",
    ]
  }
}

if (is_win) {
  loadable_module("conflicts_dll") {
    testonly = true
    sources = [
      "conflicts/conflicts_dll.cc",
    ]
  }
}
