BUILD.gn 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. # Copyright 2015 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//android_webview/system_webview_apk_tmpl.gni")
  5. import("//android_webview/variables.gni")
  6. import("//build/config/android/rules.gni")
  7. import("//build/config/python.gni")
  8. import("//device/vr/buildflags/buildflags.gni")
  9. import("//testing/test.gni")
  10. import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
  11. # Mark all targets as test only.
  12. testonly = true
  13. group("test") {
  14. deps = [
  15. ":android_webview_junit_tests",
  16. ":android_webview_unittests",
  17. ":webview_instrumentation_test_apk",
  18. ]
  19. }
  20. python_library("webview_cts_tests") {
  21. pydeps_file = "//android_webview/tools/run_cts.pydeps"
  22. deps = [ "//android_webview:system_webview_apk" ]
  23. data_deps = [ "//build/android:test_runner_py" ]
  24. data = [ "//android_webview/tools/cts_config/" ]
  25. }
  26. python_library("webview_trichrome_cts_tests") {
  27. pydeps_file = "//android_webview/tools/run_cts.pydeps"
  28. deps = [ "//android_webview:trichrome_webview_apk" ]
  29. data_deps = [ "//build/android:test_runner_py" ]
  30. data = [ "//android_webview/tools/cts_config/" ]
  31. }
  32. if (android_64bit_target_cpu) {
  33. python_library("webview_64_cts_tests") {
  34. pydeps_file = "//android_webview/tools/run_cts.pydeps"
  35. deps = [ "//android_webview:system_webview_64_apk" ]
  36. data_deps = [ "//build/android:test_runner_py" ]
  37. data = [ "//android_webview/tools/cts_config/" ]
  38. }
  39. python_library("webview_trichrome_64_cts_tests") {
  40. pydeps_file = "//android_webview/tools/run_cts.pydeps"
  41. deps = [ "//android_webview:trichrome_webview_64_apk" ]
  42. data_deps = [ "//build/android:test_runner_py" ]
  43. data = [ "//android_webview/tools/cts_config/" ]
  44. }
  45. }
  46. script_test("system_webview_crx_smoke_tests") {
  47. script =
  48. "//android_webview/test/components/run_webview_component_smoketest.py"
  49. args = [ "--webview-package-name=$system_webview_package_name" ]
  50. data = [ "//android_webview/test/components/crx_smoke_tests.py" ]
  51. data_deps = [
  52. "//android_webview:system_webview_apk",
  53. "//android_webview/tools/system_webview_shell:system_webview_shell_apk",
  54. ]
  55. }
  56. script_test("system_webview_finch_smoke_tests") {
  57. script = "//testing/scripts/run_finch_smoke_tests_android.py"
  58. data_deps = [
  59. "//android_webview:system_webview_apk",
  60. "//android_webview/tools/system_webview_shell:system_webview_shell_apk",
  61. "//testing:run_wpt_tests",
  62. ]
  63. }
  64. script_test("system_webview_wpt") {
  65. script = "//testing/scripts/run_wpt_tests.py"
  66. args = [
  67. "--product",
  68. "android_webview",
  69. "--webview-provider",
  70. "@WrappedPath(apks/SystemWebView.apk)",
  71. "--browser-apk",
  72. "@WrappedPath(apks/SystemWebViewShell.apk)",
  73. "--webdriver-binary",
  74. "@WrappedPath(clang_x64/chromedriver)",
  75. "-v",
  76. ]
  77. data_deps = [
  78. "//android_webview:system_webview_apk",
  79. "//android_webview/tools/system_webview_shell:system_webview_shell_layout_test_apk",
  80. "//chrome/test/chromedriver:chromedriver($host_toolchain)",
  81. "//third_party/blink/tools:wpt_tests_android_isolate",
  82. ]
  83. }
  84. android_apk("webview_instrumentation_apk") {
  85. # TODO(crbug.com/1099536): Fix tests that break when this is increased.
  86. target_sdk_version = 24
  87. deps = [
  88. ":webview_instrumentation_apk_assets",
  89. ":webview_instrumentation_apk_resources",
  90. ":webview_instrumentation_test_mock_services_java",
  91. ":webview_instrumentation_test_utils_java",
  92. "//android_webview:android_webview_java",
  93. "//android_webview:android_webview_product_config_java",
  94. "//android_webview:common_java",
  95. "//android_webview:locale_pak_assets",
  96. "//android_webview:platform_service_bridge_upstream_implementation_java",
  97. "//android_webview/js_sandbox:js_sandbox_java",
  98. "//base:base_java",
  99. "//base:base_java_test_support",
  100. "//base:jni_java",
  101. "//components/android_autofill/browser/test_support:component_autofill_provider_java_test_support",
  102. "//components/content_capture/android/test_support:java",
  103. "//components/embedder_support/android:util_java",
  104. "//components/heap_profiling/multi_process:heap_profiling_java_test_support",
  105. "//components/policy/android:policy_java_test_support",
  106. "//content/public/android:content_java",
  107. "//third_party/android_support_test_runner:runner_java",
  108. "//third_party/androidx:androidx_annotation_annotation_java",
  109. "//third_party/junit",
  110. "//ui/android:ui_java",
  111. "//url:gurl_java",
  112. ]
  113. apk_name = "WebViewInstrumentation"
  114. android_manifest = "shell/AndroidManifest.xml"
  115. sources = [
  116. "shell/src/org/chromium/android_webview/shell/AwShellActivity.java",
  117. "shell/src/org/chromium/android_webview/shell/AwShellApplication.java",
  118. "shell/src/org/chromium/android_webview/shell/AwShellResourceProvider.java",
  119. "shell/src/org/chromium/android_webview/shell/AwShellSwitches.java",
  120. "shell/src/org/chromium/android_webview/shell/ContextManager.java",
  121. "shell/src/org/chromium/android_webview/test/AwJUnit4ClassRunner.java",
  122. "shell/src/org/chromium/android_webview/test/AwTestContainerView.java",
  123. "shell/src/org/chromium/android_webview/test/AwTestRunnerActivity.java",
  124. "shell/src/org/chromium/android_webview/test/NullContentsClient.java",
  125. "shell/src/org/chromium/android_webview/test/OnlyRunIn.java",
  126. "shell/src/org/chromium/android_webview/test/SecondBrowserProcess.java",
  127. "shell/src/org/chromium/android_webview/test/TestContentProvider.java",
  128. ]
  129. product_config_java_packages = [ webview_product_config_java_package ]
  130. shared_libraries = [ ":libstandalonelibwebviewchromium" ]
  131. command_line_flags_file = "android-webview-command-line"
  132. }
  133. android_resources("webview_instrumentation_apk_resources") {
  134. sources = [
  135. "shell/res/layout/testshell_activity.xml",
  136. "shell/res/raw/resource_file.html",
  137. "shell/res/raw/resource_icon.png",
  138. "shell/res/values/config.xml",
  139. ]
  140. }
  141. android_assets("webview_instrumentation_apk_assets") {
  142. deps = [
  143. "//android_webview:pak_file_assets",
  144. "//third_party/icu:icu_assets",
  145. ]
  146. sources = [
  147. "shell/assets/asset_file.html",
  148. "shell/assets/asset_icon.png",
  149. "shell/assets/autofill.html",
  150. "shell/assets/cookie_test.html",
  151. "shell/assets/cors.html",
  152. "shell/assets/full_screen_video.js",
  153. "shell/assets/full_screen_video_inside_div_test.html",
  154. "shell/assets/full_screen_video_test.html",
  155. "shell/assets/full_screen_video_test_not_preloaded.html",
  156. "shell/assets/key-system-test.html",
  157. "shell/assets/star.svg",
  158. "shell/assets/star.svgz",
  159. "shell/assets/video.webm",
  160. "shell/assets/visual_state_during_fullscreen_test.html",
  161. "shell/assets/visual_state_on_page_commit_visible_test.html",
  162. "shell/assets/visual_state_waits_for_js_detached_test.html",
  163. "shell/assets/visual_state_waits_for_js_test.html",
  164. ]
  165. if (use_v8_context_snapshot) {
  166. deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
  167. } else {
  168. deps += [ "//v8:v8_external_startup_data_assets" ]
  169. }
  170. }
  171. generate_jni("draw_fn_impl_jni_headers") {
  172. sources =
  173. [ "shell/src/org/chromium/android_webview/shell/ContextManager.java" ]
  174. }
  175. shared_library("libstandalonelibwebviewchromium") {
  176. testonly = true
  177. sources = [
  178. "shell/src/draw_fn/allocator.cc",
  179. "shell/src/draw_fn/allocator.h",
  180. "shell/src/draw_fn/context_manager.cc",
  181. "shell/src/draw_fn/context_manager.h",
  182. "shell/src/draw_fn/overlays_manager.cc",
  183. "shell/src/draw_fn/overlays_manager.h",
  184. ]
  185. ldflags = [ "-Wl,-shared,-Bsymbolic" ]
  186. deps = [
  187. ":draw_fn_impl_jni_headers",
  188. ":webview_instrumentation_test_native_jni_impl",
  189. "//android_webview/browser/gfx",
  190. "//android_webview/lib",
  191. "//android_webview/lib:webview_entry_point",
  192. "//android_webview/nonembedded",
  193. "//android_webview/public",
  194. "//base",
  195. "//components/android_autofill/browser/test_support:component_autofill_provider_native_test_support",
  196. "//components/content_capture/android/test_support",
  197. "//components/heap_profiling/multi_process:test_support",
  198. "//content/public/test/android:content_native_test_support",
  199. "//gpu/vulkan",
  200. "//gpu/vulkan/init",
  201. "//gpu/vulkan/init:skia",
  202. ]
  203. libs = [ "android" ]
  204. configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
  205. configs += [ "//build/config/android:hide_all_but_jni" ]
  206. }
  207. instrumentation_test_apk("webview_instrumentation_test_apk") {
  208. apk_name = "WebViewInstrumentationTest"
  209. apk_under_test = ":webview_instrumentation_apk"
  210. android_manifest = "../javatests/AndroidManifest.xml"
  211. min_sdk_version = default_min_sdk_version
  212. deps = [
  213. ":webview_instrumentation_test_mock_services_java",
  214. ":webview_instrumentation_test_utils_java",
  215. "//android_webview:android_webview_java",
  216. "//android_webview:common_aidl_java",
  217. "//android_webview:common_crash_java",
  218. "//android_webview:common_platform_services_java",
  219. "//android_webview:common_variations_java",
  220. "//android_webview/js_sandbox:js_sandbox_aidl_java",
  221. "//android_webview/js_sandbox:js_sandbox_java",
  222. "//android_webview/nonembedded:devui_java",
  223. "//android_webview/nonembedded:services_java",
  224. "//android_webview/nonembedded:util_java",
  225. "//android_webview/proto:aw_variations_seed_proto_java",
  226. "//android_webview/proto:metrics_bridge_records_proto_java",
  227. "//android_webview/test/embedded_test_server:aw_net_java_test_support",
  228. "//base:base_java",
  229. "//base:base_java_test_support",
  230. "//base:jni_java",
  231. "//components/android_autofill/browser:java",
  232. "//components/android_autofill/browser/test_support:component_autofill_provider_java_test_support",
  233. "//components/autofill/android:autofill_java",
  234. "//components/autofill/core/common/mojom:mojo_types_java",
  235. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  236. "//components/component_updater/android:component_provider_service_aidl_java",
  237. "//components/component_updater/android:embedded_component_loader_java",
  238. "//components/content_capture/android:java",
  239. "//components/content_capture/android/test_support:java",
  240. "//components/embedder_support/android:util_java",
  241. "//components/embedder_support/android:web_contents_delegate_java",
  242. "//components/embedder_support/android/metrics:java",
  243. "//components/heap_profiling/multi_process:heap_profiling_java_test_support",
  244. "//components/metrics:metrics_java",
  245. "//components/minidump_uploader:minidump_uploader_java",
  246. "//components/minidump_uploader:minidump_uploader_java_test_support",
  247. "//components/policy/android:policy_java",
  248. "//components/policy/android:policy_java_test_support",
  249. "//components/safe_browsing/android:safe_browsing_java",
  250. "//components/variations/android:variations_java",
  251. "//components/variations/proto:proto_java",
  252. "//components/version_info/android:version_constants_java",
  253. "//components/viz:viz_java",
  254. "//content/public/android:content_java",
  255. "//content/public/test/android:content_java_test_support",
  256. "//mojo/public/java:bindings_java",
  257. "//net/android:net_java",
  258. "//net/android:net_java_test_support",
  259. "//services/device/public/java:geolocation_java",
  260. "//services/device/public/java:geolocation_java_test_support",
  261. "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
  262. "//third_party/android_deps:com_google_guava_failureaccess_java",
  263. "//third_party/android_deps:com_google_guava_listenablefuture_java",
  264. "//third_party/android_deps:espresso_java",
  265. "//third_party/android_deps:guava_android_java",
  266. "//third_party/android_deps:guava_android_java",
  267. "//third_party/android_deps:protobuf_lite_runtime_java",
  268. "//third_party/android_support_test_runner:rules_java",
  269. "//third_party/android_support_test_runner:runner_java",
  270. "//third_party/androidx:androidx_activity_activity_java",
  271. "//third_party/androidx:androidx_annotation_annotation_java",
  272. "//third_party/androidx:androidx_core_core_java",
  273. "//third_party/androidx:androidx_fragment_fragment_java",
  274. "//third_party/androidx:androidx_test_core_java",
  275. "//third_party/androidx:androidx_test_rules_java",
  276. "//third_party/androidx:androidx_test_runner_java",
  277. "//third_party/blink/public/common:common_java",
  278. "//third_party/blink/public/mojom:mojom_platform_java",
  279. "//third_party/blink/public/mojom:web_feature_mojo_bindings_java",
  280. "//third_party/hamcrest:hamcrest_java",
  281. "//third_party/junit",
  282. "//third_party/metrics_proto:metrics_proto_java",
  283. "//third_party/mockito:mockito_java",
  284. "//ui/android:ui_java",
  285. "//ui/android:ui_java_test_support",
  286. "//url:gurl_java",
  287. ]
  288. sources = [
  289. "../javatests/src/org/chromium/android_webview/test/AcceptLanguageTest.java",
  290. "../javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java",
  291. "../javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java",
  292. "../javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java",
  293. "../javatests/src/org/chromium/android_webview/test/ArchiveTest.java",
  294. "../javatests/src/org/chromium/android_webview/test/AwActivityTestRule.java",
  295. "../javatests/src/org/chromium/android_webview/test/AwAutofillTest.java",
  296. "../javatests/src/org/chromium/android_webview/test/AwContentCaptureTest.java",
  297. "../javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java",
  298. "../javatests/src/org/chromium/android_webview/test/AwContentsClientAutoLoginTest.java",
  299. "../javatests/src/org/chromium/android_webview/test/AwContentsClientCallbackHelperTest.java",
  300. "../javatests/src/org/chromium/android_webview/test/AwContentsClientFaviconTest.java",
  301. "../javatests/src/org/chromium/android_webview/test/AwContentsClientFullScreenTest.java",
  302. "../javatests/src/org/chromium/android_webview/test/AwContentsClientGetDefaultVideoPosterTest.java",
  303. "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnFormResubmissionTest.java",
  304. "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnRenderProcessGoneTest.java",
  305. "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java",
  306. "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java",
  307. "../javatests/src/org/chromium/android_webview/test/AwContentsClientOnUnhandledKeyEventTest.java",
  308. "../javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java",
  309. "../javatests/src/org/chromium/android_webview/test/AwContentsClientShouldOverrideUrlLoadingTest.java",
  310. "../javatests/src/org/chromium/android_webview/test/AwContentsClientVisitedHistoryTest.java",
  311. "../javatests/src/org/chromium/android_webview/test/AwContentsContainerViewTest.java",
  312. "../javatests/src/org/chromium/android_webview/test/AwContentsGarbageCollectionTest.java",
  313. "../javatests/src/org/chromium/android_webview/test/AwContentsLifecycleNotifierTest.java",
  314. "../javatests/src/org/chromium/android_webview/test/AwContentsRenderTest.java",
  315. "../javatests/src/org/chromium/android_webview/test/AwContentsStaticsTest.java",
  316. "../javatests/src/org/chromium/android_webview/test/AwContentsTest.java",
  317. "../javatests/src/org/chromium/android_webview/test/AwDarkModeTest.java",
  318. "../javatests/src/org/chromium/android_webview/test/AwDisplayCutoutTest.java",
  319. "../javatests/src/org/chromium/android_webview/test/AwFileChooserTest.java",
  320. "../javatests/src/org/chromium/android_webview/test/AwFormDatabaseTest.java",
  321. "../javatests/src/org/chromium/android_webview/test/AwImeTest.java",
  322. "../javatests/src/org/chromium/android_webview/test/AwJavaBridgeTest.java",
  323. "../javatests/src/org/chromium/android_webview/test/AwLegacyQuirksTest.java",
  324. "../javatests/src/org/chromium/android_webview/test/AwMetricsIntegrationTest.java",
  325. "../javatests/src/org/chromium/android_webview/test/AwMetricsLogUploaderTest.java",
  326. "../javatests/src/org/chromium/android_webview/test/AwNetworkConfigurationTest.java",
  327. "../javatests/src/org/chromium/android_webview/test/AwPacProcessorTest.java",
  328. "../javatests/src/org/chromium/android_webview/test/AwPageLoadMetricsTest.java",
  329. "../javatests/src/org/chromium/android_webview/test/AwPermissionManagerTest.java",
  330. "../javatests/src/org/chromium/android_webview/test/AwProxyControllerTest.java",
  331. "../javatests/src/org/chromium/android_webview/test/AwQuotaManagerBridgeTest.java",
  332. "../javatests/src/org/chromium/android_webview/test/AwSecondBrowserProcessTest.java",
  333. "../javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java",
  334. "../javatests/src/org/chromium/android_webview/test/AwServiceWorkerSettingsTest.java",
  335. "../javatests/src/org/chromium/android_webview/test/AwSettingsTest.java",
  336. "../javatests/src/org/chromium/android_webview/test/AwUncaughtExceptionTest.java",
  337. "../javatests/src/org/chromium/android_webview/test/AwVariationsSeedFetcherTest.java",
  338. "../javatests/src/org/chromium/android_webview/test/AwWebContentsObserverTest.java",
  339. "../javatests/src/org/chromium/android_webview/test/AwZoomTest.java",
  340. "../javatests/src/org/chromium/android_webview/test/CleanupReferenceTest.java",
  341. "../javatests/src/org/chromium/android_webview/test/ClearHistoryTest.java",
  342. "../javatests/src/org/chromium/android_webview/test/ClientAddMessageToConsoleTest.java",
  343. "../javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java",
  344. "../javatests/src/org/chromium/android_webview/test/ClientOnPageStartedTest.java",
  345. "../javatests/src/org/chromium/android_webview/test/ClientOnReceivedError2Test.java",
  346. "../javatests/src/org/chromium/android_webview/test/ClientOnReceivedErrorTest.java",
  347. "../javatests/src/org/chromium/android_webview/test/ClientOnReceivedHttpErrorTest.java",
  348. "../javatests/src/org/chromium/android_webview/test/ConsoleMessagesForBlockedLoadsTest.java",
  349. "../javatests/src/org/chromium/android_webview/test/ContentViewMiscTest.java",
  350. "../javatests/src/org/chromium/android_webview/test/CookieManagerStartupTest.java",
  351. "../javatests/src/org/chromium/android_webview/test/CookieManagerTest.java",
  352. "../javatests/src/org/chromium/android_webview/test/DarkModeTest.java",
  353. "../javatests/src/org/chromium/android_webview/test/DisableHardwareAccelerationForTest.java",
  354. "../javatests/src/org/chromium/android_webview/test/FencedFrameTest.java",
  355. "../javatests/src/org/chromium/android_webview/test/FullScreenVideoTestAwContentsClient.java",
  356. "../javatests/src/org/chromium/android_webview/test/GeolocationTest.java",
  357. "../javatests/src/org/chromium/android_webview/test/GetTitleTest.java",
  358. "../javatests/src/org/chromium/android_webview/test/HeapProfilingTest.java",
  359. "../javatests/src/org/chromium/android_webview/test/HttpAuthDatabaseTest.java",
  360. "../javatests/src/org/chromium/android_webview/test/JsJavaInteractionTest.java",
  361. "../javatests/src/org/chromium/android_webview/test/KeySystemTest.java",
  362. "../javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java",
  363. "../javatests/src/org/chromium/android_webview/test/LoadUrlTest.java",
  364. "../javatests/src/org/chromium/android_webview/test/MediaAccessPermissionRequestTest.java",
  365. "../javatests/src/org/chromium/android_webview/test/MemoryMetricsLoggerTest.java",
  366. "../javatests/src/org/chromium/android_webview/test/MetricsTestPlatformServiceBridge.java",
  367. "../javatests/src/org/chromium/android_webview/test/NavigationHistoryTest.java",
  368. "../javatests/src/org/chromium/android_webview/test/OnDiskFileTest.java",
  369. "../javatests/src/org/chromium/android_webview/test/PolicyUrlFilteringTest.java",
  370. "../javatests/src/org/chromium/android_webview/test/PopupWindowTest.java",
  371. "../javatests/src/org/chromium/android_webview/test/PostMessageTest.java",
  372. "../javatests/src/org/chromium/android_webview/test/RenderProcessGoneHelper.java",
  373. "../javatests/src/org/chromium/android_webview/test/RendererProcessMetricsProviderTest.java",
  374. "../javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java",
  375. "../javatests/src/org/chromium/android_webview/test/SafeModeTest.java",
  376. "../javatests/src/org/chromium/android_webview/test/SaveRestoreStateTest.java",
  377. "../javatests/src/org/chromium/android_webview/test/SslPreferencesTest.java",
  378. "../javatests/src/org/chromium/android_webview/test/StandaloneAwQuotaManagerBridgeTest.java",
  379. "../javatests/src/org/chromium/android_webview/test/TestAwContents.java",
  380. "../javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java",
  381. "../javatests/src/org/chromium/android_webview/test/TestAwServiceWorkerClient.java",
  382. "../javatests/src/org/chromium/android_webview/test/UserAgentTest.java",
  383. "../javatests/src/org/chromium/android_webview/test/VariationsHeadersTest.java",
  384. "../javatests/src/org/chromium/android_webview/test/VariationsSeedHolderTest.java",
  385. "../javatests/src/org/chromium/android_webview/test/VariationsSeedLoaderTest.java",
  386. "../javatests/src/org/chromium/android_webview/test/VariationsTest.java",
  387. "../javatests/src/org/chromium/android_webview/test/VisualStateTest.java",
  388. "../javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java",
  389. "../javatests/src/org/chromium/android_webview/test/WebViewAsynchronousFindApisTest.java",
  390. "../javatests/src/org/chromium/android_webview/test/WebViewFindApisTestRule.java",
  391. "../javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java",
  392. "../javatests/src/org/chromium/android_webview/test/common/crash/CrashInfoEqualityMatcher.java",
  393. "../javatests/src/org/chromium/android_webview/test/common/crash/CrashInfoTest.java",
  394. "../javatests/src/org/chromium/android_webview/test/common/variations/VariationsUtilsTest.java",
  395. "../javatests/src/org/chromium/android_webview/test/component_updater/EmbeddedComponentLoaderTest.java",
  396. "../javatests/src/org/chromium/android_webview/test/devui/AwNonembeddedUmaRecorderTest.java",
  397. "../javatests/src/org/chromium/android_webview/test/devui/ComponentsListFragmentTest.java",
  398. "../javatests/src/org/chromium/android_webview/test/devui/ComponentsListFragmentUpdateButtonTest.java",
  399. "../javatests/src/org/chromium/android_webview/test/devui/CrashesListFragmentTest.java",
  400. "../javatests/src/org/chromium/android_webview/test/devui/DeveloperUiTest.java",
  401. "../javatests/src/org/chromium/android_webview/test/devui/DeveloperUiTestUtils.java",
  402. "../javatests/src/org/chromium/android_webview/test/devui/FlagsFragmentTest.java",
  403. "../javatests/src/org/chromium/android_webview/test/devui/HomeFragmentTest.java",
  404. "../javatests/src/org/chromium/android_webview/test/devui/util/ComponentsInfoLoaderTest.java",
  405. "../javatests/src/org/chromium/android_webview/test/devui/util/CrashBugUrlFactoryTest.java",
  406. "../javatests/src/org/chromium/android_webview/test/devui/util/UnuploadedFilesStateLoaderTest.java",
  407. "../javatests/src/org/chromium/android_webview/test/devui/util/UploadedCrashesInfoLoaderTest.java",
  408. "../javatests/src/org/chromium/android_webview/test/devui/util/WebViewCrashInfoCollectorTest.java",
  409. "../javatests/src/org/chromium/android_webview/test/devui/util/WebViewCrashLogParserTest.java",
  410. "../javatests/src/org/chromium/android_webview/test/services/ComponentsProviderServiceTest.java",
  411. "../javatests/src/org/chromium/android_webview/test/services/CrashReceiverServiceTest.java",
  412. "../javatests/src/org/chromium/android_webview/test/services/JsSandboxServiceTest.java",
  413. "../javatests/src/org/chromium/android_webview/test/services/MetricsBridgeServiceTest.java",
  414. "../javatests/src/org/chromium/android_webview/test/services/MetricsBridgeServiceUnitTest.java",
  415. "../javatests/src/org/chromium/android_webview/test/services/MetricsUploadServiceTest.java",
  416. "../javatests/src/org/chromium/android_webview/test/services/MinidumpUploadJobTest.java",
  417. "../javatests/src/org/chromium/android_webview/test/services/ServiceConnectionHelper.java",
  418. "../javatests/src/org/chromium/android_webview/test/services/VariationsSeedServerTest.java",
  419. "../javatests/src/org/chromium/android_webview/test/services/VisualStateCallbackTest.java",
  420. "../javatests/src/org/chromium/android_webview/test/util/AwQuotaManagerBridgeTestUtil.java",
  421. "../javatests/src/org/chromium/android_webview/test/util/AwTestTouchUtils.java",
  422. "../javatests/src/org/chromium/android_webview/test/util/CommonResources.java",
  423. "../javatests/src/org/chromium/android_webview/test/util/CookieUtils.java",
  424. "../javatests/src/org/chromium/android_webview/test/util/GraphicsTestUtils.java",
  425. "../javatests/src/org/chromium/android_webview/test/util/ImagePageGenerator.java",
  426. "../javatests/src/org/chromium/android_webview/test/util/JSUtils.java",
  427. "../javatests/src/org/chromium/android_webview/test/util/JavascriptEventObserver.java",
  428. "../javatests/src/org/chromium/android_webview/test/util/VideoSurfaceViewUtils.java",
  429. "../javatests/src/org/chromium/android_webview/test/util/VideoTestUtil.java",
  430. "../javatests/src/org/chromium/android_webview/test/util/VideoTestWebServer.java",
  431. ]
  432. if (!use_jacoco_coverage) {
  433. # Jacoco requires strict mode to be turned off since it writes coverage data to files.
  434. sources += [ "../javatests/src/org/chromium/android_webview/test/AwStrictModeTest.java" ]
  435. }
  436. data = [ "data/" ]
  437. data_deps =
  438. [ "//testing/buildbot/filters:webview_instrumentation_test_apk_filters" ]
  439. if (enable_chrome_android_internal) {
  440. data_deps +=
  441. [ "//clank/build/bot/filters:webview_instrumentation_test_apk_filters" ]
  442. }
  443. # We only want to bother including these on bots set up for VR testing
  444. if (include_vr_data) {
  445. data += [
  446. "//chrome/android/shared_preference_files/test/",
  447. "//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk",
  448. ]
  449. }
  450. additional_apks = [
  451. "//android_webview/test/embedded_test_server:aw_net_test_support_apk",
  452. "//net/android:net_test_support_apk",
  453. ]
  454. }
  455. android_library("webview_instrumentation_test_mock_services_java") {
  456. testonly = true
  457. sources = [
  458. "../javatests/src/org/chromium/android_webview/test/component_updater/MockComponentsProviderService.java",
  459. "../javatests/src/org/chromium/android_webview/test/services/MockAwComponentUpdateService.java",
  460. "../javatests/src/org/chromium/android_webview/test/services/MockMetricsBridgeService.java",
  461. "../javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java",
  462. ]
  463. deps = [
  464. "//android_webview:common_aidl_java",
  465. "//android_webview/nonembedded:services_java",
  466. "//base:base_java",
  467. "//base:base_java_test_support",
  468. "//components/component_updater/android:component_provider_service_aidl_java",
  469. "//third_party/junit",
  470. ]
  471. }
  472. android_library("webview_instrumentation_test_utils_java") {
  473. testonly = true
  474. sources = [
  475. "../javatests/src/org/chromium/android_webview/test/util/EmbeddedComponentLoaderFactory.java",
  476. "../javatests/src/org/chromium/android_webview/test/util/RendererProcessMetricsProviderUtils.java",
  477. "../javatests/src/org/chromium/android_webview/test/util/VariationsTestUtils.java",
  478. "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java",
  479. ]
  480. deps = [
  481. "//android_webview:common_variations_java",
  482. "//base:jni_java",
  483. "//build/android:build_java",
  484. "//components/component_updater/android:embedded_component_loader_java",
  485. "//components/variations/android:variations_java",
  486. "//third_party/junit",
  487. ]
  488. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  489. }
  490. generate_jni("webview_instrumentation_test_native_jni") {
  491. testonly = true
  492. sources = [
  493. "../javatests/src/org/chromium/android_webview/test/component_updater/EmbeddedComponentLoaderTest.java",
  494. "../javatests/src/org/chromium/android_webview/test/util/EmbeddedComponentLoaderFactory.java",
  495. "../javatests/src/org/chromium/android_webview/test/util/RendererProcessMetricsProviderUtils.java",
  496. "../javatests/src/org/chromium/android_webview/test/util/VariationsTestUtils.java",
  497. "shell/src/org/chromium/android_webview/test/util/MemoryMetricsLoggerUtils.java",
  498. ]
  499. }
  500. source_set("webview_instrumentation_test_native_jni_impl") {
  501. sources = [
  502. "browser/embedded_component_loader_test_helper.cc",
  503. "browser/renderer_process_metrics_provider_utils.cc",
  504. "browser/variations_test_utils.cc",
  505. "shell/memory_metrics_logger_utils.cc",
  506. ]
  507. deps = [
  508. ":webview_instrumentation_test_native_jni",
  509. "//android_webview/browser",
  510. "//android_webview/browser/metrics",
  511. "//android_webview/js_sandbox/service:js_sandbox",
  512. "//base",
  513. "//base/test:test_support",
  514. "//components/component_updater/android:embedded_component_loader",
  515. "//components/component_updater/android:embedded_component_loader_jni_headers",
  516. "//components/embedder_support/android/metrics",
  517. "//third_party/protobuf:protobuf_lite",
  518. ]
  519. }
  520. test("android_webview_unittests") {
  521. deps = [
  522. ":android_webview_unittests_assets",
  523. ":android_webview_unittests_java",
  524. ":android_webview_unittests_jni",
  525. "//android_webview/browser",
  526. "//android_webview/browser/gfx",
  527. "//android_webview/browser/lifecycle",
  528. "//android_webview/browser/metrics",
  529. "//android_webview/common",
  530. "//android_webview/common:tests",
  531. "//android_webview/nonembedded",
  532. "//base/test:test_support",
  533. "//components/autofill/core/browser",
  534. "//components/component_updater",
  535. "//components/component_updater/android:embedded_component_loader",
  536. "//components/embedder_support/android:util",
  537. "//components/embedder_support/android/metrics:metrics",
  538. "//components/flags_ui:flags_ui",
  539. "//components/metrics",
  540. "//components/metrics:component_metrics",
  541. "//components/optimization_guide/core:bloomfilter",
  542. "//components/policy/core/browser:test_support",
  543. "//components/prefs:prefs",
  544. "//components/prefs:test_support",
  545. "//components/safe_browsing/content/browser/web_ui",
  546. "//components/safe_browsing/core/browser",
  547. "//components/safe_browsing/core/common",
  548. "//components/tracing:background_tracing_utils",
  549. "//components/update_client",
  550. "//components/viz/service:service",
  551. "//content:content",
  552. "//content/test:test_support",
  553. "//mojo/core/embedder",
  554. "//net:net",
  555. "//net:test_support",
  556. "//services/cert_verifier/public/mojom",
  557. "//services/network:test_support",
  558. "//ui/base:ui_base_jni_headers",
  559. "//ui/gl",
  560. "//ui/gl:test_support",
  561. ]
  562. data = [ "data/" ]
  563. sources = [
  564. "../browser/aw_browser_context_unittest.cc",
  565. "../browser/aw_content_browser_client_unittest.cc",
  566. "../browser/aw_contents_client_bridge_unittest.cc",
  567. "../browser/aw_feature_entries_unittest.cc",
  568. "../browser/aw_form_database_service_unittest.cc",
  569. "../browser/aw_media_url_interceptor_unittest.cc",
  570. "../browser/aw_pac_processor_unittest.cc",
  571. "../browser/aw_permission_manager_unittest.cc",
  572. "../browser/component_updater/loader_policies/aw_apps_package_names_allowlist_component_loader_policy_unittest.cc",
  573. "../browser/enterprise_authentication_app_link_policy_handler_unittest.cc",
  574. "../browser/gfx/begin_frame_source_webview_unittest.cc",
  575. "../browser/gfx/browser_view_renderer_unittest.cc",
  576. "../browser/gfx/test/fake_window.cc",
  577. "../browser/gfx/test/fake_window.h",
  578. "../browser/gfx/test/invalidate_test.cc",
  579. "../browser/gfx/test/rendering_test.cc",
  580. "../browser/gfx/test/rendering_test.h",
  581. "../browser/lifecycle/aw_contents_lifecycle_notifier_unittest.cc",
  582. "../browser/metrics/aw_component_metrics_provider_delegate_unittests.cc",
  583. "../browser/metrics/aw_metrics_service_client_unittest.cc",
  584. "../browser/metrics/visibility_metrics_logger_unittest.cc",
  585. "../browser/permission/media_access_permission_request_unittest.cc",
  586. "../browser/permission/permission_request_handler_unittest.cc",
  587. "../browser/renderer_host/auto_login_parser_unittest.cc",
  588. "../browser/safe_browsing/aw_ping_manager_unittest.cc",
  589. "../browser/safe_browsing/aw_safe_browsing_allowlist_manager_unittest.cc",
  590. "../browser/state_serializer_unittest.cc",
  591. "../browser/tracing/aw_background_tracing_metrics_provider_unittest.cc",
  592. "../browser/tracing/aw_tracing_delegate_unittest.cc",
  593. "../browser/tracing/background_tracing_field_trial_unittest.cc",
  594. "../lib/webview_tests.cc",
  595. "../nonembedded/component_updater/aw_component_installer_policy_shim_unittest.cc",
  596. "../nonembedded/component_updater/aw_component_installer_policy_unittest.cc",
  597. "../nonembedded/component_updater/aw_component_update_service_test.cc",
  598. "../nonembedded/component_updater/aw_component_updater_configurator_unittest.cc",
  599. "../nonembedded/component_updater/installer_policies/aw_package_names_allowlist_component_installer_policy_unittest.cc",
  600. ]
  601. if (use_v8_context_snapshot) {
  602. deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
  603. } else {
  604. deps += [ "//v8:v8_external_startup_data_assets" ]
  605. }
  606. }
  607. android_assets("android_webview_unittests_assets") {
  608. sources = [ "unittest/assets/asset_file.ogg" ]
  609. }
  610. android_library("android_webview_unittests_java") {
  611. testonly = true
  612. deps = [
  613. "//android_webview:android_webview_java",
  614. "//base:jni_java",
  615. "//content/public/test/android:content_java_test_support",
  616. ]
  617. sources = [ "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java" ]
  618. }
  619. generate_jni("android_webview_unittests_jni") {
  620. testonly = true
  621. sources = [ "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java" ]
  622. }
  623. # robolectric tests
  624. robolectric_binary("android_webview_junit_tests") {
  625. sources = [
  626. "../junit/src/org/chromium/android_webview/robolectric/AwDisplayCutoutControllerTest.java",
  627. "../junit/src/org/chromium/android_webview/robolectric/AwDisplayModeControllerTest.java",
  628. "../junit/src/org/chromium/android_webview/robolectric/AwLayoutSizerTest.java",
  629. "../junit/src/org/chromium/android_webview/robolectric/AwScrollOffsetManagerTest.java",
  630. "../junit/src/org/chromium/android_webview/robolectric/AwWebContentsMetricsRecorderTest.java",
  631. "../junit/src/org/chromium/android_webview/robolectric/FindAddressTest.java",
  632. "../junit/src/org/chromium/android_webview/robolectric/RectUtilsTest.java",
  633. "../junit/src/org/chromium/android_webview/robolectric/WebAddressParserTest.java",
  634. "../junit/src/org/chromium/android_webview/robolectric/common/FlagOverrideHelperTest.java",
  635. "../junit/src/org/chromium/android_webview/robolectric/common/services/ServiceNamesTest.java",
  636. "../junit/src/org/chromium/android_webview/robolectric/metrics/AwNonembeddedUmaReplayerTest.java",
  637. "../junit/src/org/chromium/android_webview/robolectric/metrics/AwOriginVisitLoggerTest.java",
  638. "../junit/src/org/chromium/android_webview/robolectric/metrics/AwSiteVisitLoggerTest.java",
  639. "../nonembedded/java/src/org/chromium/android_webview/nonembedded/AwComponentUpdateServiceSafeModeTest.java",
  640. "../nonembedded/java/src/org/chromium/android_webview/nonembedded/NetworkFetcherTaskTest.java",
  641. ]
  642. deps = [
  643. "//android_webview:android_webview_java",
  644. "//android_webview/nonembedded:services_java",
  645. "//android_webview/proto:metrics_bridge_records_proto_java",
  646. "//base:base_java",
  647. "//base:base_java_test_support",
  648. "//base:base_junit_test_support",
  649. "//components/component_updater/android:embedded_component_loader_java",
  650. "//content/public/test/android:content_java_test_support",
  651. "//third_party/android_deps:protobuf_lite_runtime_java",
  652. "//third_party/android_support_test_runner:runner_java",
  653. "//third_party/androidx:androidx_test_runner_java",
  654. "//third_party/blink/public/mojom:mojom_platform_java",
  655. "//url:gurl_java",
  656. ]
  657. package_name = "org.chromium.android_webview.robolectric"
  658. }