import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")

generate_jni("test_support_content_jni_headers") {
  jni_package = "content/public/test"
  sources = [
    "javatests/src/org/chromium/content_public/browser/test/NestedSystemMessageHandler.java",
  ]
}

android_library("web_test_java_support") {
  testonly = true
  deps = [
    "//base:base_java",
  ]
  java_files = [ "javatests/src/org/chromium/content_public/browser/test/NestedSystemMessageHandler.java" ]
}

android_library("content_java_test_support") {
  testonly = true
  deps = [
    ":web_test_java_support",
    "//base:base_java",
    "//base:base_java_test_support",
    "//content/public/android:content_java",
    "//third_party/android_support_test_runner:runner_java",
    "//third_party/junit:junit",
    "//ui/android:ui_java",
    "//ui/android:ui_java_test_support",
  ]
  java_files = [
    "javatests/src/org/chromium/content_public/browser/test/ChildProcessAllocatorSettings.java",
    "javatests/src/org/chromium/content_public/browser/test/ChildProcessAllocatorSettingsHook.java",
    "javatests/src/org/chromium/content_public/browser/test/ContentJUnit4ClassRunner.java",
    "javatests/src/org/chromium/content_public/browser/test/InterstitialPageDelegateAndroid.java",
    "javatests/src/org/chromium/content_public/browser/test/NativeLibraryTestRule.java",
    "javatests/src/org/chromium/content_public/browser/test/RenderFrameHostTestExt.java",
    "javatests/src/org/chromium/content_public/browser/test/mock/MockRenderFrameHost.java",
    "javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java",
    "javatests/src/org/chromium/content_public/browser/test/util/ClickUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/Coordinates.java",
    "javatests/src/org/chromium/content_public/browser/test/util/Criteria.java",
    "javatests/src/org/chromium/content_public/browser/test/util/CriteriaHelper.java",
    "javatests/src/org/chromium/content_public/browser/test/util/DOMUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/EqualityCriteria.java",
    "javatests/src/org/chromium/content_public/browser/test/util/HistoryUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/JavaScriptUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/DomAutomationController.java",
    "javatests/src/org/chromium/content_public/browser/test/util/KeyUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/RenderProcessLimit.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TestCallbackHelperContainer.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TestInputMethodManagerWrapper.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TestSelectionPopupController.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TestTouchUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TestWebContentsObserver.java",
    "javatests/src/org/chromium/content_public/browser/test/util/TouchCommon.java",
    "javatests/src/org/chromium/content_public/browser/test/util/UiUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/WebContentsUtils.java",
  ]
}

generate_jni("content_test_jni") {
  testonly = true
  jni_package = "content/public/test"
  sources = [
    "javatests/src/org/chromium/content_public/browser/test/InterstitialPageDelegateAndroid.java",
    "javatests/src/org/chromium/content_public/browser/test/RenderFrameHostTestExt.java",
    "javatests/src/org/chromium/content_public/browser/test/util/DOMUtils.java",
    "javatests/src/org/chromium/content_public/browser/test/util/WebContentsUtils.java",
  ]
}

static_library("content_native_test_support") {
  testonly = true

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

  sources = [
    "dom_utils.cc",
    "interstitial_page_delegate_android.cc",
    "interstitial_page_delegate_android.h",
    "render_frame_host_test_ext.cc",
    "render_frame_host_test_ext.h",
    "web_contents_utils.cc",
  ]
  deps = [
    ":content_test_jni",
    "//base",
    "//content/browser:for_content_tests",
    "//content/public/browser",
    "//device/gamepad",
    "//media/midi",
    "//ui/android",
  ]
}
