summaryrefslogtreecommitdiff
path: root/chromium/ui/android/BUILD.gn
blob: 4002626c015e1dc9b1b486cc7cbe0ae774e5694d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# 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")

assert(is_android)

component("android") {
  output_name = "ui_android"
  sources = [
    "animation_utils.h",
    "delegated_frame_host_android.cc",
    "delegated_frame_host_android.h",
    "display_android_manager.cc",
    "display_android_manager.h",
    "edge_effect.cc",
    "edge_effect.h",
    "edge_effect_base.cc",
    "edge_effect_base.h",
    "edge_effect_l.cc",
    "edge_effect_l.h",
    "event_forwarder.cc",
    "event_forwarder.h",
    "overscroll_glow.cc",
    "overscroll_glow.h",
    "overscroll_refresh.cc",
    "overscroll_refresh.h",
    "overscroll_refresh_handler.cc",
    "overscroll_refresh_handler.h",
    "resources/nine_patch_resource.cc",
    "resources/nine_patch_resource.h",
    "resources/resource.cc",
    "resources/resource.h",
    "resources/resource_factory.cc",
    "resources/resource_manager.h",
    "resources/resource_manager_impl.cc",
    "resources/resource_manager_impl.h",
    "resources/ui_resource_provider.h",
    "screen_android.h",
    "ui_android_export.h",
    "view_android.cc",
    "view_android.h",
    "view_android_observer.h",
    "view_client.cc",
    "view_client.h",
    "window_android.cc",
    "window_android.h",
    "window_android_compositor.h",
    "window_android_observer.h",
  ]

  defines = [ "UI_ANDROID_IMPLEMENTATION" ]

  deps = [
    ":java_enums_srcjar",
    ":ui_android_jni_headers",
    "//base",
    "//cc",
    "//components/viz/common",
    "//components/viz/host",
    "//components/viz/service",
    "//services/viz/public/interfaces",
    "//skia",
    "//third_party/blink/public:blink_headers",
    "//ui/base",
    "//ui/compositor",
    "//ui/display",
    "//ui/events",
    "//ui/events/devices",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//url",
  ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "dummy_screen_android.cc",
    "dummy_screen_android.h",
  ]

  deps = [
    "//ui/android",
    "//ui/display",
  ]
}

generate_jni("ui_android_jni_headers") {
  sources = [
    "java/src/org/chromium/ui/OverscrollRefreshHandler.java",
    "java/src/org/chromium/ui/base/EventForwarder.java",
    "java/src/org/chromium/ui/base/ViewAndroidDelegate.java",
    "java/src/org/chromium/ui/base/WindowAndroid.java",
    "java/src/org/chromium/ui/display/DisplayAndroidManager.java",
    "java/src/org/chromium/ui/resources/ResourceFactory.java",
    "java/src/org/chromium/ui/resources/ResourceManager.java",
  ]
  jni_package = "ui_android"
}

java_cpp_enum("java_enums_srcjar") {
  sources = [
    "../base/ime/text_input_type.h",
    "../base/page_transition_types.h",
    "../base/touch/touch_device.h",
    "../base/ui_base_types.h",
    "../events/android/gesture_event_type.h",
    "../gfx/android/java_bitmap.h",
    "resources/resource_manager.h",
    "resources/system_ui_resource_type.h",
  ]
}

java_strings_grd("ui_strings_grd") {
  grd_file = "java/strings/android_ui_strings.grd"
  outputs = [
    "values-am/android_ui_strings.xml",
    "values-ar/android_ui_strings.xml",
    "values-bg/android_ui_strings.xml",
    "values-ca/android_ui_strings.xml",
    "values-cs/android_ui_strings.xml",
    "values-da/android_ui_strings.xml",
    "values-de/android_ui_strings.xml",
    "values-el/android_ui_strings.xml",
    "values/android_ui_strings.xml",
    "values-en-rGB/android_ui_strings.xml",
    "values-es/android_ui_strings.xml",
    "values-es-rUS/android_ui_strings.xml",
    "values-fa/android_ui_strings.xml",
    "values-fi/android_ui_strings.xml",
    "values-tl/android_ui_strings.xml",
    "values-fr/android_ui_strings.xml",
    "values-hi/android_ui_strings.xml",
    "values-hr/android_ui_strings.xml",
    "values-hu/android_ui_strings.xml",
    "values-in/android_ui_strings.xml",
    "values-it/android_ui_strings.xml",
    "values-iw/android_ui_strings.xml",
    "values-ja/android_ui_strings.xml",
    "values-ko/android_ui_strings.xml",
    "values-lt/android_ui_strings.xml",
    "values-lv/android_ui_strings.xml",
    "values-nl/android_ui_strings.xml",
    "values-nb/android_ui_strings.xml",
    "values-pl/android_ui_strings.xml",
    "values-pt-rBR/android_ui_strings.xml",
    "values-pt-rPT/android_ui_strings.xml",
    "values-ro/android_ui_strings.xml",
    "values-ru/android_ui_strings.xml",
    "values-sk/android_ui_strings.xml",
    "values-sl/android_ui_strings.xml",
    "values-sr/android_ui_strings.xml",
    "values-sv/android_ui_strings.xml",
    "values-sw/android_ui_strings.xml",
    "values-th/android_ui_strings.xml",
    "values-tr/android_ui_strings.xml",
    "values-uk/android_ui_strings.xml",
    "values-vi/android_ui_strings.xml",
    "values-zh-rCN/android_ui_strings.xml",
    "values-zh-rTW/android_ui_strings.xml",
  ]
}

android_resources("ui_java_resources") {
  custom_package = "org.chromium.ui"
  resource_dirs = [ "java/res" ]
  deps = [
    ":ui_strings_grd",
  ]
}

java_group("ui_java") {
  deps = [
    ":ui_full_java",
    ":ui_utils_java",
  ]
}

# This is created explicitly for remoting_apk to avoid including
# unused JNI functions.
android_library("ui_utils_java") {
  java_files = [
    "java/src/org/chromium/ui/PhotoPickerListener.java",
    "java/src/org/chromium/ui/UiUtils.java",
  ]
  deps = [
    "//base:base_java",
  ]
}

android_library("ui_full_java") {
  java_files = [
    "java/src/org/chromium/ui/DropdownAdapter.java",
    "java/src/org/chromium/ui/DropdownDividerDrawable.java",
    "java/src/org/chromium/ui/DropdownItem.java",
    "java/src/org/chromium/ui/DropdownItemBase.java",
    "java/src/org/chromium/ui/DropdownPopupWindowImpl.java",
    "java/src/org/chromium/ui/DropdownPopupWindow.java",
    "java/src/org/chromium/ui/DropdownPopupWindowJellyBean.java",
    "java/src/org/chromium/ui/DropdownPopupWindowInterface.java",
    "java/src/org/chromium/ui/HorizontalListDividerDrawable.java",
    "java/src/org/chromium/ui/OverscrollRefreshHandler.java",
    "java/src/org/chromium/ui/VSyncMonitor.java",
    "java/src/org/chromium/ui/base/ActivityAndroidPermissionDelegate.java",
    "java/src/org/chromium/ui/base/ActivityWindowAndroid.java",
    "java/src/org/chromium/ui/base/AndroidPermissionDelegate.java",
    "java/src/org/chromium/ui/base/Clipboard.java",
    "java/src/org/chromium/ui/base/DeviceFormFactor.java",
    "java/src/org/chromium/ui/base/EventForwarder.java",
    "java/src/org/chromium/ui/base/LocalizationUtils.java",
    "java/src/org/chromium/ui/base/PermissionCallback.java",
    "java/src/org/chromium/ui/base/ResourceBundle.java",
    "java/src/org/chromium/ui/base/SelectFileDialog.java",
    "java/src/org/chromium/ui/base/SPenSupport.java",
    "java/src/org/chromium/ui/base/TouchDevice.java",
    "java/src/org/chromium/ui/base/ViewAndroidDelegate.java",
    "java/src/org/chromium/ui/base/ViewUtils.java",
    "java/src/org/chromium/ui/base/WindowAndroid.java",
    "java/src/org/chromium/ui/display/DisplayAndroid.java",
    "java/src/org/chromium/ui/display/DisplayAndroidManager.java",
    "java/src/org/chromium/ui/display/DisplaySwitches.java",
    "java/src/org/chromium/ui/display/DisplayUtil.java",
    "java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java",
    "java/src/org/chromium/ui/display/VirtualDisplayAndroid.java",
    "java/src/org/chromium/ui/events/devices/InputDeviceObserver.java",
    "java/src/org/chromium/ui/gfx/BitmapHelper.java",
    "java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java",
    "java/src/org/chromium/ui/gl/SurfaceTextureListener.java",
    "java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java",
    "java/src/org/chromium/ui/interpolators/BakedBezierInterpolator.java",
    "java/src/org/chromium/ui/resources/LayoutResource.java",
    "java/src/org/chromium/ui/resources/Resource.java",
    "java/src/org/chromium/ui/resources/ResourceFactory.java",
    "java/src/org/chromium/ui/resources/ResourceLoader.java",
    "java/src/org/chromium/ui/resources/ResourceManager.java",
    "java/src/org/chromium/ui/resources/async/AsyncPreloadResourceLoader.java",
    "java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java",
    "java/src/org/chromium/ui/resources/dynamics/DynamicResource.java",
    "java/src/org/chromium/ui/resources/dynamics/DynamicResourceLoader.java",
    "java/src/org/chromium/ui/resources/dynamics/ViewResourceAdapter.java",
    "java/src/org/chromium/ui/resources/dynamics/ViewResourceInflater.java",
    "java/src/org/chromium/ui/resources/statics/NinePatchData.java",
    "java/src/org/chromium/ui/resources/statics/StaticResource.java",
    "java/src/org/chromium/ui/resources/statics/StaticResourceLoader.java",
    "java/src/org/chromium/ui/resources/system/SystemResourceLoader.java",
    "java/src/org/chromium/ui/text/NoUnderlineClickableSpan.java",
    "java/src/org/chromium/ui/text/SpanApplier.java",
    "java/src/org/chromium/ui/widget/AnchoredPopupWindow.java",
    "java/src/org/chromium/ui/widget/ButtonCompat.java",
    "java/src/org/chromium/ui/widget/RectProvider.java",
    "java/src/org/chromium/ui/widget/TextViewWithClickableSpans.java",
    "java/src/org/chromium/ui/widget/TextViewWithLeading.java",
    "java/src/org/chromium/ui/widget/Toast.java",
    "java/src/org/chromium/ui/widget/UiWidgetFactory.java",
    "java/src/org/chromium/ui/widget/ViewRectProvider.java",
  ]
  deps = [
    ":ui_java_resources",
    ":ui_utils_java",
    "//base:base_java",
    "//third_party/android_tools:android_support_annotations_java",
    "//third_party/android_tools:android_support_v7_appcompat_java",
  ]
  srcjar_deps = [
    ":java_enums_srcjar",
    "//third_party/blink/public:blink_cursor_type_java_enums_srcjar",
  ]
}

android_library("ui_java_test_support") {
  testonly = true
  java_files = [
    "javatests/src/org/chromium/ui/test/util/UiDisableIf.java",
    "javatests/src/org/chromium/ui/test/util/UiDisableIfSkipCheck.java",
    "javatests/src/org/chromium/ui/test/util/UiRestriction.java",
    "javatests/src/org/chromium/ui/test/util/UiRestrictionSkipCheck.java",
  ]
  deps = [
    ":ui_java",
    "//base:base_java",
    "//base:base_java_test_support",
  ]
}

junit_binary("ui_junit_tests") {
  java_files = [
    "junit/src/org/chromium/ui/base/ClipboardTest.java",
    "junit/src/org/chromium/ui/base/SelectFileDialogTest.java",
    "junit/src/org/chromium/ui/text/SpanApplierTest.java",
    "junit/src/org/chromium/ui/widget/AnchoredPopupWindowTest.java",
  ]
  deps = [
    ":ui_java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:base_junit_test_support",
  ]
}

test("ui_android_unittests") {
  sources = [
    "delegated_frame_host_android_unittest.cc",
    "overscroll_refresh_unittest.cc",
    "resources/resource_manager_impl_unittest.cc",
    "run_all_unittests.cc",
    "view_android_unittests.cc",
  ]
  deps = [
    ":android",
    ":java_enums_srcjar",
    ":ui_java",
    "//base",
    "//base/test:test_support",
    "//cc",
    "//cc:test_support",
    "//components/viz/host:host",
    "//components/viz/service:service",
    "//skia",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/base",
    "//ui/compositor",
    "//ui/events",
    "//ui/gfx",
    "//ui/resources:ui_test_pak",
  ]
}