# 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/android/rules.gni")

# GYP: //chrome/chrome_tests.gypi:chrome_java_test_support
android_library("chrome_java_test_support") {
  testonly = true
  java_files = [
    "javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java",
    "javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java",
    "javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestBase.java",
    "javatests/src/org/chromium/chrome/test/DocumentActivityTestBase.java",
    "javatests/src/org/chromium/chrome/test/gcore/MockChromeGoogleApiClient.java",
    "javatests/src/org/chromium/chrome/test/invalidation/IntentSavingContext.java",
    "javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java",
    "javatests/src/org/chromium/chrome/test/omaha/AttributeFinder.java",
    "javatests/src/org/chromium/chrome/test/omaha/MockRequestGenerator.java",
    "javatests/src/org/chromium/chrome/test/partnercustomizations/TestPartnerBrowserCustomizationsDelayedProvider.java",
    "javatests/src/org/chromium/chrome/test/partnercustomizations/TestPartnerBrowserCustomizationsProvider.java",
    "javatests/src/org/chromium/chrome/test/TestContentProvider.java",
    "javatests/src/org/chromium/chrome/test/util/ActivityUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ApplicationData.java",
    "javatests/src/org/chromium/chrome/test/util/ApplicationTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/BookmarkTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/browser/contextmenu/ContextMenuUtils.java",
    "javatests/src/org/chromium/chrome/test/util/browser/LocationSettingsTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/browser/notifications/MockNotificationManagerProxy.java",
    "javatests/src/org/chromium/chrome/test/util/browser/signin/MockChangeEventChecker.java",
    "javatests/src/org/chromium/chrome/test/util/browser/signin/SigninTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/browser/sync/SyncTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/browser/TabLoadObserver.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/document/MockActivityDelegate.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/document/MockDocumentTabCreatorManager.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/document/MockStorageDelegate.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/document/MockTabDelegate.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java",
    "javatests/src/org/chromium/chrome/test/util/browser/TabTitleObserver.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeDisableIf.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeRestriction.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeSigninUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeTabUtils.java",
    "javatests/src/org/chromium/chrome/test/util/DisableInTabbedMode.java",
    "javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/InfoBarTestAnimationListener.java",
    "javatests/src/org/chromium/chrome/test/util/InfoBarUtil.java",
    "javatests/src/org/chromium/chrome/test/util/MenuUtils.java",
    "javatests/src/org/chromium/chrome/test/util/NewTabPageTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/OmniboxTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/OverviewModeBehaviorWatcher.java",
    "javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToAppParameter.java",
    "javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToOsParameter.java",
    "javatests/src/org/chromium/chrome/test/util/parameters/AddGoogleAccountToOsParameter.java",
    "javatests/src/org/chromium/chrome/test/util/PrerenderTestHelper.java",
    "javatests/src/org/chromium/chrome/test/util/RenderUtils.java",
    "javatests/src/org/chromium/chrome/test/util/TabStripUtils.java",
    "javatests/src/org/chromium/chrome/test/util/TranslateUtil.java",
  ]
  deps = [
    "//base:base_java",
    "//base:base_java_test_support",
    "//chrome/android:chrome_java",
    "//chrome/android/webapk/libs/runtime_library:runtime_library_for_tests_java",
    "//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java",
    "//components/bookmarks/common/android:bookmarks_java",
    "//components/invalidation/impl:java",
    "//components/location/android:location_java",
    "//components/policy/android:policy_java",
    "//components/policy/android:policy_java_test_support",
    "//components/sync:sync_java_test_support",
    "//components/sync/android:sync_java",
    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
    "//content/public/android:content_java",
    "//content/public/test/android:content_java_test_support",
    "//net/android:net_java",
    "//net/android:net_java_test_support",
    "//testing/android/reporter:reporter_java",
    "//third_party/android_tools:android_support_v7_appcompat_java",
    "//third_party/android_tools:legacy_http_javalib",
    "//third_party/jsr-305:jsr_305_javalib",
    "//ui/android:ui_java",
    google_play_services_library,
  ]
}
