# Copyright 2015 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/android/rules.gni")
import("//testing/test.gni")

# Mark all targets as test only.
testonly = true

group("system_webview_shell") {
  deps = [
    ":system_webview_shell_apk",
    ":system_webview_shell_layout_test_apk",
    ":system_webview_shell_page_cycler_apk",
  ]
}

android_apk("system_webview_shell_apk") {
  apk_name = "SystemWebViewShell"
  java_files = [
    "apk/src/org/chromium/webview_shell/JankActivity.java",
    "apk/src/org/chromium/webview_shell/PageCyclerTestActivity.java",
    "apk/src/org/chromium/webview_shell/StartupTimeActivity.java",
    "apk/src/org/chromium/webview_shell/TelemetryActivity.java",
    "apk/src/org/chromium/webview_shell/TelemetryMemoryPressureActivity.java",
    "apk/src/org/chromium/webview_shell/WebViewCreateDestroyActivity.java",
    "apk/src/org/chromium/webview_shell/WebViewBrowserActivity.java",
    "apk/src/org/chromium/webview_shell/WebViewLayoutTestActivity.java",
    "apk/src/org/chromium/webview_shell/WebViewThreadTestActivity.java",
    "apk/src/org/chromium/webview_shell/WebViewTracingActivity.java",
  ]
  android_manifest = "apk/AndroidManifest.xml"
  deps = [
    ":system_webview_shell_apk_resources",
    "//base:base_java",
  ]
}

android_resources("system_webview_shell_apk_resources") {
  resource_dirs = [ "apk/res" ]
  custom_package = "org.chromium.webview_shell"
}

instrumentation_test_apk("system_webview_shell_page_cycler_apk") {
  apk_name = "SystemWebViewShellPageCycler"
  apk_under_test = ":system_webview_shell_apk"
  android_manifest = "page_cycler/AndroidManifest.xml"
  java_files = [ "page_cycler/src/org/chromium/webview_shell/page_cycler/PageCyclerTest.java" ]
  deps = [
    "//base:base_java",
    "//base:base_java_test_support",
    "//content/public/android:content_java",
    "//content/public/test/android:content_java_test_support",
    "//testing/android/reporter:reporter_java",
    "//third_party/android_support_test_runner:rules_java",
    "//third_party/android_support_test_runner:runner_java",
    "//third_party/junit",
  ]
  enable_multidex = true
}

instrumentation_test_apk("system_webview_shell_layout_test_apk") {
  apk_name = "SystemWebViewShellLayoutTest"
  apk_under_test = ":system_webview_shell_apk"
  android_manifest = "layout_tests/AndroidManifest.xml"
  java_files = [
    "layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java",
    "layout_tests/src/org/chromium/webview_shell/test/WebViewThreadTest.java",
  ]
  deps = [
    "//base:base_java",
    "//base:base_java_test_support",
    "//testing/android/reporter:reporter_java",
    "//third_party/android_support_test_runner:rules_java",
    "//third_party/android_support_test_runner:runner_java",
    "//third_party/junit",
  ]
  data = [
    "test/data/",
    "//third_party/WebKit/LayoutTests/platform/linux/virtual/stable/webexposed/",
    "//third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/",
    "//third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/",
    "//third_party/WebKit/LayoutTests/resources/global-interface-listing.js",
    "//third_party/WebKit/LayoutTests/virtual/stable/webexposed/",
    "//third_party/WebKit/LayoutTests/webexposed/global-interface-listing.html",
    "//third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt",
  ]
  additional_apks = [ system_webview_apk_target ]
}