BUILD.gn 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  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("//build/config/android/rules.gni")
  5. import("//build/config/locales.gni")
  6. import("//testing/test.gni")
  7. import("//tools/grit/grit_rule.gni")
  8. assert(is_android)
  9. component("android") {
  10. output_name = "ui_android"
  11. sources = [
  12. "animation_utils.h",
  13. "color_utils_android.cc",
  14. "color_utils_android.h",
  15. "delegated_frame_host_android.cc",
  16. "delegated_frame_host_android.h",
  17. "display_android_manager.cc",
  18. "display_android_manager.h",
  19. "edge_effect.cc",
  20. "edge_effect.h",
  21. "event_forwarder.cc",
  22. "event_forwarder.h",
  23. "handle_view_resources.cc",
  24. "handle_view_resources.h",
  25. "overscroll_glow.cc",
  26. "overscroll_glow.h",
  27. "overscroll_refresh.cc",
  28. "overscroll_refresh.h",
  29. "overscroll_refresh_handler.cc",
  30. "overscroll_refresh_handler.h",
  31. "resources/nine_patch_resource.cc",
  32. "resources/nine_patch_resource.h",
  33. "resources/resource.cc",
  34. "resources/resource.h",
  35. "resources/resource_factory.cc",
  36. "resources/resource_manager.h",
  37. "resources/resource_manager_impl.cc",
  38. "resources/resource_manager_impl.h",
  39. "resources/ui_resource_provider.h",
  40. "screen_android.h",
  41. "ui_android_export.h",
  42. "view_android.cc",
  43. "view_android.h",
  44. "view_android_observer.h",
  45. "window_android.cc",
  46. "window_android.h",
  47. "window_android_compositor.h",
  48. "window_android_observer.h",
  49. ]
  50. defines = [ "UI_ANDROID_IMPLEMENTATION" ]
  51. deps = [
  52. ":java_enums_srcjar",
  53. ":ui_android_jni_headers",
  54. "//base",
  55. "//cc",
  56. "//components/viz/client",
  57. "//components/viz/common",
  58. "//components/viz/host",
  59. "//services/viz/public/mojom",
  60. "//skia",
  61. "//third_party/blink/public:blink_headers",
  62. "//ui/base",
  63. "//ui/base/cursor",
  64. "//ui/base/cursor/mojom:cursor_type",
  65. "//ui/compositor",
  66. "//ui/display",
  67. "//ui/events",
  68. "//ui/events/devices",
  69. "//ui/gfx",
  70. "//ui/gfx/geometry",
  71. "//ui/touch_selection",
  72. "//url",
  73. ]
  74. }
  75. static_library("test_support") {
  76. testonly = true
  77. sources = [
  78. "dummy_screen_android.cc",
  79. "dummy_screen_android.h",
  80. ]
  81. deps = [
  82. "//ui/android",
  83. "//ui/display",
  84. ]
  85. }
  86. generate_jni("ui_android_jni_headers") {
  87. sources = [
  88. "java/src/org/chromium/ui/OverscrollRefreshHandler.java",
  89. "java/src/org/chromium/ui/base/EventForwarder.java",
  90. "java/src/org/chromium/ui/base/ViewAndroidDelegate.java",
  91. "java/src/org/chromium/ui/base/WindowAndroid.java",
  92. "java/src/org/chromium/ui/display/DisplayAndroidManager.java",
  93. "java/src/org/chromium/ui/dragdrop/DropDataAndroid.java",
  94. "java/src/org/chromium/ui/resources/HandleViewResources.java",
  95. "java/src/org/chromium/ui/resources/ResourceFactory.java",
  96. "java/src/org/chromium/ui/resources/ResourceManager.java",
  97. ]
  98. }
  99. java_cpp_enum("java_enums_srcjar") {
  100. sources = [
  101. "../base/ime/text_input_action.h",
  102. "../base/ime/text_input_type.h",
  103. "../base/page_transition_types.h",
  104. "../base/pointer/pointer_device.h",
  105. "../base/ui_base_types.h",
  106. "../events/android/gesture_event_type.h",
  107. "../gfx/android/java_bitmap.h",
  108. "overscroll_refresh.h",
  109. "resources/resource_manager.h",
  110. "resources/system_ui_resource_type.h",
  111. ]
  112. }
  113. java_strings_grd("ui_strings_grd") {
  114. grd_file = "java/strings/android_ui_strings.grd"
  115. outputs = [ "values/android_ui_strings.xml" ] +
  116. process_file_template(
  117. android_bundle_locales_as_resources,
  118. [ "values-{{source_name_part}}/android_ui_strings.xml" ])
  119. }
  120. android_resources("ui_java_resources") {
  121. sources = [
  122. "java/res/color/blue_when_enabled_dark.xml",
  123. "java/res/color/blue_when_enabled_list.xml",
  124. "java/res/color/default_text_color_light_list.xml",
  125. "java/res/color/default_text_color_list_baseline.xml",
  126. "java/res/color/default_text_color_on_accent1_baseline_list.xml",
  127. "java/res/color/default_text_color_secondary_light_list.xml",
  128. "java/res/color/default_text_color_secondary_list_baseline.xml",
  129. "java/res/color/filled_button_bg.xml",
  130. "java/res/color/filled_button_ripple_color.xml",
  131. "java/res/color/text_button_ripple_color.xml",
  132. "java/res/drawable-hdpi/btn_close.png",
  133. "java/res/drawable-hdpi/ic_expand_less_black_24dp.png",
  134. "java/res/drawable-hdpi/ic_expand_more_black_24dp.png",
  135. "java/res/drawable-hdpi/popup_bg.9.png",
  136. "java/res/drawable-mdpi/btn_close.png",
  137. "java/res/drawable-mdpi/ic_expand_less_black_24dp.png",
  138. "java/res/drawable-mdpi/ic_expand_more_black_24dp.png",
  139. "java/res/drawable-mdpi/popup_bg.9.png",
  140. "java/res/drawable-v21/transition_expand_less_expand_more_black_24dp.xml",
  141. "java/res/drawable-v21/transition_expand_more_expand_less_black_24dp.xml",
  142. "java/res/drawable-v23/dialog_bg_baseline.xml",
  143. "java/res/drawable-v23/menu_bg_baseline.xml",
  144. "java/res/drawable-xhdpi/btn_close.png",
  145. "java/res/drawable-xhdpi/ic_expand_less_black_24dp.png",
  146. "java/res/drawable-xhdpi/ic_expand_more_black_24dp.png",
  147. "java/res/drawable-xhdpi/popup_bg.9.png",
  148. "java/res/drawable-xxhdpi/btn_close.png",
  149. "java/res/drawable-xxhdpi/ic_expand_less_black_24dp.png",
  150. "java/res/drawable-xxhdpi/ic_expand_more_black_24dp.png",
  151. "java/res/drawable-xxhdpi/popup_bg.9.png",
  152. "java/res/drawable-xxxhdpi/btn_close.png",
  153. "java/res/drawable-xxxhdpi/ic_expand_less_black_24dp.png",
  154. "java/res/drawable-xxxhdpi/ic_expand_more_black_24dp.png",
  155. "java/res/drawable-xxxhdpi/popup_bg.9.png",
  156. "java/res/drawable/custom_toast_background.xml",
  157. "java/res/drawable/drag_handlebar.xml",
  158. "java/res/drawable/drag_shadow_background.xml",
  159. "java/res/drawable/ic_apps_blue_24dp.xml",
  160. "java/res/drawable/ic_expand_more_horizontal_black_24dp.xml",
  161. "java/res/drawable/ic_globe_24dp.xml",
  162. "java/res/font/accent_font.xml",
  163. "java/res/layout/custom_toast_layout.xml",
  164. "java/res/layout/dropdown_footer_wrapper_jellybean.xml",
  165. "java/res/layout/dropdown_item.xml",
  166. "java/res/layout/dropdown_window.xml",
  167. "java/res/values-ldrtl/dimens.xml",
  168. "java/res/values-ldrtl/values.xml",
  169. "java/res/values-night/colors.xml",
  170. "java/res/values-night/dimens.xml",
  171. "java/res/values-night/styles.xml",
  172. "java/res/values-sw600dp/values.xml",
  173. "java/res/values-sw720dp-v17/values.xml",
  174. "java/res/values-v17/styles.xml",
  175. "java/res/values-v21/styles.xml",
  176. "java/res/values-v31/colors.xml",
  177. "java/res/values/attrs.xml",
  178. "java/res/values/color_palette.xml",
  179. "java/res/values/dimens.xml",
  180. "java/res/values/font_certs.xml",
  181. "java/res/values/ids.xml",
  182. "java/res/values/one_off_colors.xml",
  183. "java/res/values/semantic_colors_adaptive.xml",
  184. "java/res/values/semantic_colors_non_adaptive.xml",
  185. "java/res/values/strings.xml",
  186. "java/res/values/styles.xml",
  187. "java/res/values/values.xml",
  188. ]
  189. deps = [ ":ui_strings_grd" ]
  190. }
  191. java_group("ui_java") {
  192. deps = [
  193. ":ui_full_java",
  194. ":ui_utils_java",
  195. ]
  196. }
  197. # This is created explicitly for remoting_apk to avoid including
  198. # unused JNI functions.
  199. android_library("ui_utils_java") {
  200. sources = [
  201. "java/src/org/chromium/ui/KeyboardVisibilityDelegate.java",
  202. "java/src/org/chromium/ui/UiUtils.java",
  203. ]
  204. deps = [
  205. "//base:base_java",
  206. "//third_party/androidx:androidx_annotation_annotation_java",
  207. "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
  208. "//third_party/androidx:androidx_core_core_java",
  209. ]
  210. }
  211. android_library("ui_no_recycler_view_java") {
  212. sources = [
  213. "java/src/org/chromium/ui/AsyncViewProvider.java",
  214. "java/src/org/chromium/ui/AsyncViewStub.java",
  215. "java/src/org/chromium/ui/DeferredViewStubInflationProvider.java",
  216. "java/src/org/chromium/ui/DropdownAdapter.java",
  217. "java/src/org/chromium/ui/DropdownDividerDrawable.java",
  218. "java/src/org/chromium/ui/DropdownItem.java",
  219. "java/src/org/chromium/ui/DropdownItemBase.java",
  220. "java/src/org/chromium/ui/DropdownPopupWindow.java",
  221. "java/src/org/chromium/ui/DropdownPopupWindowImpl.java",
  222. "java/src/org/chromium/ui/DropdownPopupWindowInterface.java",
  223. "java/src/org/chromium/ui/DropdownPopupWindowJellyBean.java",
  224. "java/src/org/chromium/ui/HorizontalListDividerDrawable.java",
  225. "java/src/org/chromium/ui/LayoutInflaterUtils.java",
  226. "java/src/org/chromium/ui/OverscrollRefreshHandler.java",
  227. "java/src/org/chromium/ui/UiSwitches.java",
  228. "java/src/org/chromium/ui/ViewProvider.java",
  229. "java/src/org/chromium/ui/base/ActivityIntentRequestTrackerDelegate.java",
  230. "java/src/org/chromium/ui/base/ActivityKeyboardVisibilityDelegate.java",
  231. "java/src/org/chromium/ui/base/ActivityWindowAndroid.java",
  232. "java/src/org/chromium/ui/base/ApplicationViewportInsetSupplier.java",
  233. "java/src/org/chromium/ui/base/Clipboard.java",
  234. "java/src/org/chromium/ui/base/ClipboardImpl.java",
  235. "java/src/org/chromium/ui/base/DeviceFormFactor.java",
  236. "java/src/org/chromium/ui/base/EventForwarder.java",
  237. "java/src/org/chromium/ui/base/EventOffsetHandler.java",
  238. "java/src/org/chromium/ui/base/IdleDetector.java",
  239. "java/src/org/chromium/ui/base/ImmutableWeakReference.java",
  240. "java/src/org/chromium/ui/base/IntentRequestTracker.java",
  241. "java/src/org/chromium/ui/base/IntentRequestTrackerImpl.java",
  242. "java/src/org/chromium/ui/base/LocalizationUtils.java",
  243. "java/src/org/chromium/ui/base/MimeTypeUtils.java",
  244. "java/src/org/chromium/ui/base/PhotoPicker.java",
  245. "java/src/org/chromium/ui/base/PhotoPickerDelegate.java",
  246. "java/src/org/chromium/ui/base/PhotoPickerListener.java",
  247. "java/src/org/chromium/ui/base/ResourceBundle.java",
  248. "java/src/org/chromium/ui/base/SPenSupport.java",
  249. "java/src/org/chromium/ui/base/SelectFileDialog.java",
  250. "java/src/org/chromium/ui/base/TouchDevice.java",
  251. "java/src/org/chromium/ui/base/ViewAndroidDelegate.java",
  252. "java/src/org/chromium/ui/base/ViewUtils.java",
  253. "java/src/org/chromium/ui/base/WindowAndroid.java",
  254. "java/src/org/chromium/ui/base/WindowDelegate.java",
  255. "java/src/org/chromium/ui/display/DisplayAndroid.java",
  256. "java/src/org/chromium/ui/display/DisplayAndroidManager.java",
  257. "java/src/org/chromium/ui/display/DisplaySwitches.java",
  258. "java/src/org/chromium/ui/display/DisplayUtil.java",
  259. "java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java",
  260. "java/src/org/chromium/ui/display/VirtualDisplayAndroid.java",
  261. "java/src/org/chromium/ui/dragdrop/DragAndDropBrowserDelegate.java",
  262. "java/src/org/chromium/ui/dragdrop/DragAndDropDelegate.java",
  263. "java/src/org/chromium/ui/dragdrop/DragAndDropDelegateImpl.java",
  264. "java/src/org/chromium/ui/dragdrop/DragStateTracker.java",
  265. "java/src/org/chromium/ui/dragdrop/DropDataAndroid.java",
  266. "java/src/org/chromium/ui/dragdrop/DropDataContentProvider.java",
  267. "java/src/org/chromium/ui/drawable/AnimationLooper.java",
  268. "java/src/org/chromium/ui/drawable/StateListDrawableBuilder.java",
  269. "java/src/org/chromium/ui/events/devices/InputDeviceObserver.java",
  270. "java/src/org/chromium/ui/gfx/Animation.java",
  271. "java/src/org/chromium/ui/gfx/BitmapHelper.java",
  272. "java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java",
  273. "java/src/org/chromium/ui/gl/SurfaceTextureListener.java",
  274. "java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java",
  275. "java/src/org/chromium/ui/interpolators/BakedBezierInterpolator.java",
  276. "java/src/org/chromium/ui/modaldialog/DialogDismissalCause.java",
  277. "java/src/org/chromium/ui/modaldialog/ModalDialogManager.java",
  278. "java/src/org/chromium/ui/modaldialog/ModalDialogManagerHolder.java",
  279. "java/src/org/chromium/ui/modaldialog/ModalDialogProperties.java",
  280. "java/src/org/chromium/ui/modaldialog/PendingDialogContainer.java",
  281. "java/src/org/chromium/ui/modaldialog/SimpleModalDialogController.java",
  282. "java/src/org/chromium/ui/modelutil/ForwardingListObservable.java",
  283. "java/src/org/chromium/ui/modelutil/LayoutViewBuilder.java",
  284. "java/src/org/chromium/ui/modelutil/LazyConstructionPropertyMcp.java",
  285. "java/src/org/chromium/ui/modelutil/ListModel.java",
  286. "java/src/org/chromium/ui/modelutil/ListModelBase.java",
  287. "java/src/org/chromium/ui/modelutil/ListModelChangeProcessor.java",
  288. "java/src/org/chromium/ui/modelutil/ListObservable.java",
  289. "java/src/org/chromium/ui/modelutil/ListObservableImpl.java",
  290. "java/src/org/chromium/ui/modelutil/MVCListAdapter.java",
  291. "java/src/org/chromium/ui/modelutil/ModelListAdapter.java",
  292. "java/src/org/chromium/ui/modelutil/PropertyKey.java",
  293. "java/src/org/chromium/ui/modelutil/PropertyListModel.java",
  294. "java/src/org/chromium/ui/modelutil/PropertyModel.java",
  295. "java/src/org/chromium/ui/modelutil/PropertyModelAnimatorFactory.java",
  296. "java/src/org/chromium/ui/modelutil/PropertyModelChangeProcessor.java",
  297. "java/src/org/chromium/ui/modelutil/PropertyObservable.java",
  298. "java/src/org/chromium/ui/modelutil/SimpleList.java",
  299. "java/src/org/chromium/ui/permissions/ActivityAndroidPermissionDelegate.java",
  300. "java/src/org/chromium/ui/permissions/AndroidPermissionDelegate.java",
  301. "java/src/org/chromium/ui/permissions/AndroidPermissionDelegateWithRequester.java",
  302. "java/src/org/chromium/ui/permissions/CachedActivityAndroidPermissionDelegate.java",
  303. "java/src/org/chromium/ui/permissions/ContextualNotificationPermissionRequester.java",
  304. "java/src/org/chromium/ui/permissions/PermissionCallback.java",
  305. "java/src/org/chromium/ui/permissions/PermissionConstants.java",
  306. "java/src/org/chromium/ui/permissions/PermissionPrefs.java",
  307. "java/src/org/chromium/ui/resources/HandleViewResources.java",
  308. "java/src/org/chromium/ui/resources/LayoutResource.java",
  309. "java/src/org/chromium/ui/resources/Resource.java",
  310. "java/src/org/chromium/ui/resources/ResourceFactory.java",
  311. "java/src/org/chromium/ui/resources/ResourceLoader.java",
  312. "java/src/org/chromium/ui/resources/ResourceManager.java",
  313. "java/src/org/chromium/ui/resources/async/AsyncPreloadResourceLoader.java",
  314. "java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java",
  315. "java/src/org/chromium/ui/resources/dynamics/CaptureObserver.java",
  316. "java/src/org/chromium/ui/resources/dynamics/CaptureUtils.java",
  317. "java/src/org/chromium/ui/resources/dynamics/DynamicResource.java",
  318. "java/src/org/chromium/ui/resources/dynamics/DynamicResourceLoader.java",
  319. "java/src/org/chromium/ui/resources/dynamics/DynamicResourceSnapshot.java",
  320. "java/src/org/chromium/ui/resources/dynamics/HardwareDraw.java",
  321. "java/src/org/chromium/ui/resources/dynamics/SoftwareDraw.java",
  322. "java/src/org/chromium/ui/resources/dynamics/ViewResourceAdapter.java",
  323. "java/src/org/chromium/ui/resources/dynamics/ViewResourceInflater.java",
  324. "java/src/org/chromium/ui/resources/statics/NinePatchData.java",
  325. "java/src/org/chromium/ui/resources/statics/StaticResource.java",
  326. "java/src/org/chromium/ui/resources/statics/StaticResourceLoader.java",
  327. "java/src/org/chromium/ui/resources/system/SystemResourceLoader.java",
  328. "java/src/org/chromium/ui/text/NoUnderlineClickableSpan.java",
  329. "java/src/org/chromium/ui/text/SpanApplier.java",
  330. "java/src/org/chromium/ui/util/AccessibilityUtil.java",
  331. "java/src/org/chromium/ui/util/AttrUtils.java",
  332. "java/src/org/chromium/ui/util/ColorUtils.java",
  333. "java/src/org/chromium/ui/util/TokenHolder.java",
  334. "java/src/org/chromium/ui/vr/VrModeObserver.java",
  335. "java/src/org/chromium/ui/vr/VrModeProvider.java",
  336. "java/src/org/chromium/ui/widget/AnchoredPopupWindow.java",
  337. "java/src/org/chromium/ui/widget/ButtonCompat.java",
  338. "java/src/org/chromium/ui/widget/CheckableImageView.java",
  339. "java/src/org/chromium/ui/widget/ChromeBulletSpan.java",
  340. "java/src/org/chromium/ui/widget/ChromeImageButton.java",
  341. "java/src/org/chromium/ui/widget/ChromeImageView.java",
  342. "java/src/org/chromium/ui/widget/LoadingView.java",
  343. "java/src/org/chromium/ui/widget/OptimizedFrameLayout.java",
  344. "java/src/org/chromium/ui/widget/RectProvider.java",
  345. "java/src/org/chromium/ui/widget/RippleBackgroundHelper.java",
  346. "java/src/org/chromium/ui/widget/TextViewWithClickableSpans.java",
  347. "java/src/org/chromium/ui/widget/TextViewWithLeading.java",
  348. "java/src/org/chromium/ui/widget/TextViewWithTightWrap.java",
  349. "java/src/org/chromium/ui/widget/Toast.java",
  350. "java/src/org/chromium/ui/widget/UiWidgetFactory.java",
  351. "java/src/org/chromium/ui/widget/ViewLookupCachingFrameLayout.java",
  352. "java/src/org/chromium/ui/widget/ViewRectProvider.java",
  353. ]
  354. deps = [
  355. ":ui_java_resources",
  356. ":ui_utils_java",
  357. "//base:base_java",
  358. "//base:jni_java",
  359. "//build/android:build_java",
  360. "//components/url_formatter/android:url_formatter_java",
  361. "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
  362. "//third_party/androidx:androidx_activity_activity_java",
  363. "//third_party/androidx:androidx_annotation_annotation_java",
  364. "//third_party/androidx:androidx_appcompat_appcompat_java",
  365. "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
  366. "//third_party/androidx:androidx_asynclayoutinflater_asynclayoutinflater_java",
  367. "//third_party/androidx:androidx_core_core_java",
  368. "//third_party/androidx:androidx_vectordrawable_vectordrawable_animated_java",
  369. "//ui/base:feature_list_java",
  370. "//ui/base:features_java",
  371. "//ui/base/cursor/mojom:cursor_type_java",
  372. "//url:gurl_java",
  373. ]
  374. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  375. srcjar_deps = [ ":java_enums_srcjar" ]
  376. resources_package = "org.chromium.ui"
  377. }
  378. android_library("ui_recycler_view_java") {
  379. sources = [
  380. "java/src/org/chromium/ui/modelutil/RecyclerViewAdapter.java",
  381. "java/src/org/chromium/ui/modelutil/SimpleRecyclerViewAdapter.java",
  382. "java/src/org/chromium/ui/modelutil/SimpleRecyclerViewMcp.java",
  383. "java/src/org/chromium/ui/modelutil/SimpleRecyclerViewMcpBase.java",
  384. ]
  385. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  386. deps = [
  387. ":ui_no_recycler_view_java",
  388. "//third_party/androidx:androidx_annotation_annotation_java",
  389. "//third_party/androidx:androidx_recyclerview_recyclerview_java",
  390. ]
  391. }
  392. java_group("ui_full_java") {
  393. deps = [
  394. ":ui_no_recycler_view_java",
  395. ":ui_recycler_view_java",
  396. ]
  397. }
  398. robolectric_library("ui_junit_test_support") {
  399. sources = [
  400. "junit/src/org/chromium/ui/resources/dynamics/DynamicResourceTestUtils.java",
  401. "junit/src/org/chromium/ui/shadows/ShadowAnimatedStateListDrawable.java",
  402. "junit/src/org/chromium/ui/shadows/ShadowAppCompatResources.java",
  403. "junit/src/org/chromium/ui/shadows/ShadowAsyncLayoutInflater.java",
  404. "junit/src/org/chromium/ui/shadows/ShadowColorUtils.java",
  405. ]
  406. deps = [
  407. ":ui_java",
  408. "//base:base_java",
  409. "//third_party/androidx:androidx_annotation_annotation_java",
  410. "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
  411. "//third_party/androidx:androidx_asynclayoutinflater_asynclayoutinflater_java",
  412. "//third_party/junit",
  413. ]
  414. }
  415. android_library("ui_java_test_support") {
  416. testonly = true
  417. sources = [
  418. "javatests/src/org/chromium/ui/test/util/BlankUiTestActivity.java",
  419. "javatests/src/org/chromium/ui/test/util/BlankUiTestActivityTestCase.java",
  420. "javatests/src/org/chromium/ui/test/util/DisableAnimationsTestRule.java",
  421. "javatests/src/org/chromium/ui/test/util/NightModeTestUtils.java",
  422. "javatests/src/org/chromium/ui/test/util/RenderTestRule.java",
  423. "javatests/src/org/chromium/ui/test/util/UiDisableIf.java",
  424. "javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java",
  425. "javatests/src/org/chromium/ui/test/util/UiRestriction.java",
  426. "javatests/src/org/chromium/ui/test/util/UiRestrictionSkipCheck.java",
  427. "javatests/src/org/chromium/ui/test/util/ViewUtils.java",
  428. "javatests/src/org/chromium/ui/test/util/modaldialog/FakeModalDialogManager.java",
  429. "javatests/src/org/chromium/ui/test/util/modelutil/FakeViewProvider.java",
  430. "junit/src/org/chromium/ui/base/TestActivity.java",
  431. ]
  432. deps = [
  433. ":ui_java",
  434. "//base:base_java",
  435. "//base:base_java_test_support",
  436. "//components/browser_ui/modaldialog/android:java",
  437. "//third_party/androidx:androidx_appcompat_appcompat_java",
  438. "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
  439. "//third_party/androidx:androidx_vectordrawable_vectordrawable_animated_java",
  440. "//third_party/mockito:mockito_java",
  441. "//ui/android:ui_no_recycler_view_java",
  442. # For androidx.test.espresso.ViewInteraction
  443. "//third_party/android_deps:espresso_java",
  444. "//third_party/android_support_test_runner:rules_java",
  445. "//third_party/android_support_test_runner:runner_java",
  446. "//third_party/androidx:androidx_annotation_annotation_java",
  447. "//third_party/hamcrest:hamcrest_core_java",
  448. "//third_party/hamcrest:hamcrest_library_java",
  449. "//third_party/junit",
  450. ]
  451. }
  452. android_resources("ui_javatest_resources") {
  453. testonly = true
  454. sources = [
  455. "junit/res/layout/inflated_view.xml",
  456. "junit/res/layout/layout_view_builder_test.xml",
  457. "junit/res/layout/main_view.xml",
  458. ]
  459. android_manifest = "junit/AndroidManifest.xml"
  460. }
  461. robolectric_binary("ui_junit_tests") {
  462. sources = [
  463. "junit/src/org/chromium/ui/AsyncViewProviderTest.java",
  464. "junit/src/org/chromium/ui/AsyncViewStubTest.java",
  465. "junit/src/org/chromium/ui/base/ApplicationViewportInsetSupplierTest.java",
  466. "junit/src/org/chromium/ui/base/ClipboardTest.java",
  467. "junit/src/org/chromium/ui/base/EventOffsetHandlerTest.java",
  468. "junit/src/org/chromium/ui/base/LocalizationUtilsTest.java",
  469. "junit/src/org/chromium/ui/base/MimeTypeUtilsTest.java",
  470. "junit/src/org/chromium/ui/base/SelectFileDialogTest.java",
  471. "junit/src/org/chromium/ui/dragdrop/DragAndDropDelegateImplUnitTest.java",
  472. "junit/src/org/chromium/ui/dragdrop/DropDataAndroidUnitTest.java",
  473. "junit/src/org/chromium/ui/dragdrop/DropDataContentProviderTest.java",
  474. "junit/src/org/chromium/ui/drawable/AnimationLooperTest.java",
  475. "junit/src/org/chromium/ui/drawable/StateListDrawableBuilderTest.java",
  476. "junit/src/org/chromium/ui/modaldialog/ModalDialogManagerTest.java",
  477. "junit/src/org/chromium/ui/modaldialog/PendingDialogContainerTest.java",
  478. "junit/src/org/chromium/ui/modelutil/LazyConstructionPropertyMcpTest.java",
  479. "junit/src/org/chromium/ui/modelutil/ListModelBaseTest.java",
  480. "junit/src/org/chromium/ui/modelutil/ModelListAdapterTest.java",
  481. "junit/src/org/chromium/ui/modelutil/PropertyListModelTest.java",
  482. "junit/src/org/chromium/ui/modelutil/PropertyModelTest.java",
  483. "junit/src/org/chromium/ui/modelutil/SimpleListObservableTest.java",
  484. "junit/src/org/chromium/ui/modelutil/SimpleRecyclerViewAdapterTest.java",
  485. "junit/src/org/chromium/ui/permissions/ActivityAndroidPermissionDelegateTest.java",
  486. "junit/src/org/chromium/ui/permissions/CachedActivityAndroidPermissionDelegateTest.java",
  487. "junit/src/org/chromium/ui/resources/dynamics/BitmapDynamicResourceTest.java",
  488. "junit/src/org/chromium/ui/resources/dynamics/ViewResourceAdapterTest.java",
  489. "junit/src/org/chromium/ui/shadows/ShadowAppCompatResourcesTest.java",
  490. "junit/src/org/chromium/ui/text/SpanApplierTest.java",
  491. "junit/src/org/chromium/ui/util/TokenHolderTest.java",
  492. "junit/src/org/chromium/ui/widget/AnchoredPopupWindowTest.java",
  493. "junit/src/org/chromium/ui/widget/LoadingViewTest.java",
  494. "junit/src/org/chromium/ui/widget/ViewLookupCachingFrameLayoutTest.java",
  495. "junit/src/org/chromium/ui/widget/ViewRectProviderTest.java",
  496. ]
  497. deps = [
  498. ":ui_android_jni_headers",
  499. ":ui_java",
  500. ":ui_java_test_support",
  501. ":ui_javatest_resources",
  502. ":ui_junit_test_support",
  503. "//base:base_java",
  504. "//base:base_java_test_support",
  505. "//base:base_junit_test_support",
  506. "//base:jni_java",
  507. "//base/test:test_support_java",
  508. "//third_party/androidx:androidx_annotation_annotation_java",
  509. "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
  510. "//third_party/androidx:androidx_asynclayoutinflater_asynclayoutinflater_java",
  511. "//third_party/androidx:androidx_core_core_java",
  512. "//third_party/androidx:androidx_test_core_java",
  513. "//third_party/androidx:androidx_test_ext_junit_java",
  514. "//third_party/androidx:androidx_test_runner_java",
  515. "//third_party/hamcrest:hamcrest_java",
  516. "//third_party/mockito:mockito_java",
  517. "//url:gurl_java",
  518. "//url:gurl_junit_shadows",
  519. "//url:gurl_junit_test_support",
  520. ]
  521. android_manifest = "junit/AndroidManifest.xml"
  522. }
  523. test("ui_android_unittests") {
  524. sources = [
  525. # Clipboard unittests are run here for Android as gtests on Android are not
  526. # sharded. On other OSs these are run as part of interactive_ui_tests.
  527. "//ui/base/clipboard/clipboard_unittest.cc",
  528. "color_utils_android_unittest.cc",
  529. "overscroll_refresh_unittest.cc",
  530. "resources/resource_manager_impl_unittest.cc",
  531. "run_all_unittests.cc",
  532. "view_android_unittest.cc",
  533. ]
  534. deps = [
  535. ":android",
  536. ":java_enums_srcjar",
  537. ":ui_java",
  538. "//base",
  539. "//base/test:test_support",
  540. "//cc",
  541. "//cc:test_support",
  542. "//components/viz/host:host",
  543. "//components/viz/test:test_support",
  544. "//skia",
  545. "//testing/gmock",
  546. "//testing/gtest",
  547. "//ui/base",
  548. "//ui/base/clipboard",
  549. "//ui/base/clipboard:clipboard_test_support",
  550. "//ui/compositor",
  551. "//ui/events",
  552. "//ui/gfx",
  553. "//ui/resources:ui_test_pak",
  554. ]
  555. }
  556. android_library("clipboard_java_test_support") {
  557. testonly = true
  558. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  559. sources =
  560. [ "javatests/src/org/chromium/ui/base/ClipboardAndroidTestSupport.java" ]
  561. deps = [
  562. "//base:base_java_test_support",
  563. "//base:jni_java",
  564. "//build/android:build_java",
  565. ]
  566. }
  567. android_library("ui_unit_device_javatests") {
  568. testonly = true
  569. sources = [
  570. "java/src/org/chromium/ui/resources/dynamics/HardwareDrawTest.java",
  571. "java/src/org/chromium/ui/widget/TextViewWithTightWrapTest.java",
  572. "javatests/src/org/chromium/ui/base/ClipboardAndroidTest.java",
  573. ]
  574. deps = [
  575. ":clipboard_java_test_support",
  576. ":ui_java",
  577. ":ui_java_test_support",
  578. "//base:base_java",
  579. "//base:base_java_test_support",
  580. "//content/public/test/android:content_java_test_support",
  581. "//third_party/androidx:androidx_annotation_annotation_java",
  582. "//third_party/androidx:androidx_test_runner_java",
  583. "//third_party/hamcrest:hamcrest_library_java",
  584. "//third_party/junit",
  585. ]
  586. }
  587. generate_jni("ui_javatest_jni_headers") {
  588. testonly = true
  589. sources =
  590. [ "javatests/src/org/chromium/ui/base/ClipboardAndroidTestSupport.java" ]
  591. }