File: BUILD.gn

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (625 lines) | stat: -rw-r--r-- 33,673 bytes parent folder | download | duplicates (3)
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
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
# Copyright 2014 The Chromium Authors
# 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("//chrome/android/chrome_public_apk_tmpl.gni")
import("//third_party/jni_zero/jni_zero.gni")

android_library("pagecontroller_utils_java") {
  testonly = true
  sources = [
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/BySelectorIndexUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/BySelectorUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/ChildIndexUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/IUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/IndexUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/NonInstrumentedCrashDetector.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/PathUi2Locator.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/Ui2Locators.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/UiAutomatorUtils.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/UiLocationException.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/UiLocatorHelper.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/Utils.java",
  ]
  deps = [
    "//base:base_java_test_support",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/androidx:androidx_test_uiautomator_uiautomator_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/hamcrest:hamcrest_library_java",
    "//third_party/junit",
  ]
}

android_library("chrome_java_test_pagecontroller") {
  testonly = true
  resources_package = "org.chromium.chrome"
  sources = [
    "javatests/src/org/chromium/chrome/test/pagecontroller/rules/ChromeUiApplicationTestRule.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/rules/ChromeUiAutomatorTestRule.java",
  ]
  deps = [
    "//base:base_java",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:chrome_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/junit",
  ]
  public_deps = [ ":pagecontroller_utils_java" ]
}

generate_jni_registration("baseline_profile_test_apk_dummy_jni_registration") {
  testonly = true
  java_targets = [ ":baseline_profile_test_apk" ]

  # By not providing any native targets, this becomes a dummy-only registration,
  # just used to satisfy R8.
  add_stubs_for_missing_jni = true
}

android_test_apk("baseline_profile_test_apk") {
  apk_name = "ChromeStartupBenchmark"
  android_manifest =
      "javatests/src/org/chromium/chrome/browser/perf/AndroidManifest.xml"
  never_incremental = true
  sources = [
    "javatests/src/org/chromium/chrome/browser/perf/BaselineProfileTest.java",
  ]
  data = [ "javatests/src/org/chromium/chrome/browser/perf/test.html" ]

  if (!is_java_debug) {
    proguard_enabled = true
    proguard_configs = [ "//chrome/android/proguard/apk_for_test.flags" ]
  }

  deps = [
    ":pagecontroller_utils_java",
    "//base:base_java_test_support",
    "//net/android:net_java_test_support",
    "//third_party/androidx:androidx_benchmark_benchmark_junit4_java",
    "//third_party/androidx:androidx_benchmark_benchmark_macro_java",
    "//third_party/androidx:androidx_benchmark_benchmark_macro_junit4_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_ext_junit_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/androidx:androidx_test_runner_java",
    "//third_party/junit",
    "//third_party/kotlin_stdlib:kotlin_stdlib_java",
  ]
  srcjar_deps = [ ":baseline_profile_test_apk_dummy_jni_registration" ]
}

instrumentation_test_runner("chrome_public_apk_baseline_profile_generator") {
  android_test_apk = ":baseline_profile_test_apk"
  apk_under_test = "//chrome/android:chrome_public_apk"
  additional_apks = [ "//net/android:net_test_support_apk" ]
  never_incremental = true
  extra_args = [
    "--use-apk-under-test-flags-file",
    "--disable-fre",
    "--strict-mode=off",
  ]
}

chrome_public_test_apk_tmpl("chrome_java_test_wpr_tests") {
  apk_name = "ChromeWPRTests"
  sources = [ "//chrome/android/feed/core/javatests/src/org/chromium/chrome/browser/feed/network_fetch/FeedNewTabPageCardInstrumentationTest.java" ]
  data = [
    "//chrome/android/feed/core/javatests/src/org/chromium/chrome/browser/feed/wpr_tests",
    "//third_party/webpagereplay/cipd/bin",

    # tsproxy binary.
    "//third_party/catapult/third_party/tsproxy/",

    # For the wpr_cert.pem and wpr_key.pem.
    "//third_party/catapult/web_page_replay_go/",
  ]

  # Skia Gold dependency
  data_deps = [ "//ui/base:goldctl" ]
  deps = [
    ":chrome_java_integration_test_support",
    "//base:base_java_test_support",
    "//chrome/android:chrome_java",
    "//chrome/browser/flags:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/ui/android/native_page:java",
    "//components/embedder_support/android:util_java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:guava_android_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/junit",
    "//ui/android:ui_java_test_support",
  ]
}

chrome_public_test_apk_tmpl("chrome_java_test_feed_test") {
  apk_name = "ChromeFeedTests"
  sources = [
    "//chrome/android/feed/core/javatests/src/org/chromium/chrome/browser/feed/v2/FeedSurfaceCoordinatorIntegrationTest.java",
    "//chrome/android/java/src/org/chromium/chrome/browser/app/feed/feedmanagement/FeedManagementTest.java",
  ]

  # Skia Gold dependency
  data_deps = [ "//ui/base:goldctl" ]
  deps = [
    ":chrome_java_integration_test_support",
    "//base:base_java",
    "//base:base_java_test_support",
    "//chrome/android:chrome_java",
    "//chrome/browser/flags:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/ui/android/native_page:java",
    "//components/embedder_support/android:util_java",
    "//components/signin/public/android:java",
    "//components/signin/public/android:signin_java_test_support",
    "//content/public/test/android:content_java_test_support",
    "//net/android:net_java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:guava_android_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/junit",
    "//ui/android:ui_java_test_support",
  ]
}

robolectric_binary("chrome_java_test_pagecontroller_junit_tests") {
  testonly = true
  sources = [
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/BySelectorIndexUi2LocatorTest.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/BySelectorUi2LocatorTest.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/ChildIndexUi2LocatorTest.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/IndexUi2LocatorTest.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/PathUi2LocatorTest.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/TestUtils.java",
    "javatests/src/org/chromium/chrome/test/pagecontroller/utils/Ui2LocatorsTest.java",
  ]
  deps = [
    ":chrome_java_test_pagecontroller",
    "//base:base_java_test_support",
    "//base:base_junit_test_support",
    "//third_party/androidx:androidx_test_uiautomator_uiautomator_java",
  ]
}

# Rules, utilities and fakes for unit tests.
java_group("chrome_java_unit_test_support") {
  testonly = true
  public_deps = [ ":chrome_java_test_support_common" ]
}

android_library("chrome_java_transit") {
  testonly = true
  resources_package = "org.chromium.chrome.test"

  sources = [
    "javatests/src/org/chromium/chrome/test/transit/AppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/AutoResetCtaTransitTestRule.java",
    "javatests/src/org/chromium/chrome/test/transit/BaseCtaTransitTestRule.java",
    "javatests/src/org/chromium/chrome/test/transit/ChromeActivityTabModelBoundStation.java",
    "javatests/src/org/chromium/chrome/test/transit/ChromeTabbedActivityEntryPoints.java",
    "javatests/src/org/chromium/chrome/test/transit/ChromeTransitTestRules.java",
    "javatests/src/org/chromium/chrome/test/transit/ChromeTriggers.java",
    "javatests/src/org/chromium/chrome/test/transit/CtaAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/FreshCtaTransitTestRule.java",
    "javatests/src/org/chromium/chrome/test/transit/Journeys.java",
    "javatests/src/org/chromium/chrome/test/transit/ReusedCtaTransitTestRule.java",
    "javatests/src/org/chromium/chrome/test/transit/SoftKeyboardFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/context_menu/ContextMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/context_menu/LinkContextMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/dom_distiller/ReaderModeConditions.java",
    "javatests/src/org/chromium/chrome/test/transit/dom_distiller/ReaderModePreferencesDialog.java",
    "javatests/src/org/chromium/chrome/test/transit/edge_to_edge/EdgeToEdgeBottomChinFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/edge_to_edge/EdgeToEdgeConditions.java",
    "javatests/src/org/chromium/chrome/test/transit/edge_to_edge/ViewportFitCoverPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/ArchiveMessageCardFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/ArchivedTabsDialogStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/CardAtPositionCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/HistoryPaneStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/HubBaseStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/HubStationUtils.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/IncognitoTabSwitcherStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/NewTabGroupDialogFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/RegularTabSwitcherStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabGroupDialogFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabGroupListBottomSheetFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabGroupPaneStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabListEditorAppMenu.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherCardFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherGroupCardAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherGroupCardFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherListEditorFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherSearchStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherStation.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/TabSwitcherTabCardFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/hub/UndoSnackbarFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/layouts/LayoutTypeVisibleCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/IncognitoNewTabPageAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/IncognitoNewTabPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/MvtRemovedSnackbarFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/MvtsFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/MvtsTileFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/RegularNewTabPageAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ntp/RegularNewTabPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/omnibox/FakeOmniboxSuggestions.java",
    "javatests/src/org/chromium/chrome/test/transit/omnibox/OmniboxEnteredTextFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/omnibox/OmniboxFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/BasePageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/page/CctPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/page/FrameInfoUpdatedCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/IncognitoWebPageAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/NativePageCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PageAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PageInteractableOrHiddenCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PageLoadCallbackCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PageLoadedCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/page/PopupBlockedMessageFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/RegularWebPageAppMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/SwipingToTabFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/TabSwitcherActionMenuFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/page/WebContentsPresentCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/page/WebPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/quick_delete/QuickDeleteDialogFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/quick_delete/QuickDeleteSnackbarFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/settings/PreferenceFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/settings/SettingsActivityPublicTransitEntryPoints.java",
    "javatests/src/org/chromium/chrome/test/transit/settings/SettingsStation.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabCountChangedCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupCreatedCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupExistsCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupModelFilterCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupUiFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupUtil.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabGroupsExistCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabModelChangedCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabModelCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabModelSelectorCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabThumbnailCondition.java",
    "javatests/src/org/chromium/chrome/test/transit/tabmodel/TabThumbnailsCapturedCarryOn.java",
    "javatests/src/org/chromium/chrome/test/transit/testhtmls/BlankPopupOnLoadPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/testhtmls/NavigatePageStations.java",
    "javatests/src/org/chromium/chrome/test/transit/testhtmls/PopupOnClickPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/testhtmls/PopupOnLoadPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/testhtmls/TopBottomLinksPageStation.java",
    "javatests/src/org/chromium/chrome/test/transit/ui/BottomSheetFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ui/MessageFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ui/ModalDialogFacility.java",
    "javatests/src/org/chromium/chrome/test/transit/ui/SnackbarFacility.java",
  ]

  deps = [
    ":chrome_java_integration_test_support",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:base_java_test_support_uncommon",
    "//base:base_shared_preferences_java",
    "//base/test:public_transit_java",
    "//build/android:build_java",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:chrome_java",
    "//chrome/android/features/tab_ui:java_resources",
    "//chrome/android/features/tab_ui:test_support_javalib",
    "//chrome/browser/browser_controls/android:java",
    "//chrome/browser/browsing_data/android:java",
    "//chrome/browser/collaboration:factory_java",
    "//chrome/browser/first_run/android:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/hub:factory_java",
    "//chrome/browser/hub:java",
    "//chrome/browser/hub/internal:java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/settings:java",
    "//chrome/browser/settings:test_support_java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tab_ui/android:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/ui/android/appmenu:java",
    "//chrome/browser/ui/android/appmenu/test:test_support_java",
    "//chrome/browser/ui/android/edge_to_edge:java",
    "//chrome/browser/ui/android/layouts:java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/omnibox:java",
    "//chrome/browser/ui/android/toolbar:java",
    "//chrome/browser/ui/messages/android:java",
    "//components/browser_ui/modaldialog/android:java",
    "//components/browser_ui/widget/android:java",
    "//components/browsing_data/core:java",
    "//components/collaboration/public:core_java",
    "//components/embedder_support/android:util_java",
    "//components/messages/android:java",
    "//components/messages/android/internal:java",
    "//components/messages/android/test:test_support_java",
    "//components/omnibox/browser:browser_java",
    "//components/omnibox/browser:junit_test_support",
    "//components/omnibox/common:features_java",
    "//components/tab_groups:tab_groups_java",
    "//content/public/android:content_java",
    "//content/public/test/android:content_java_test_support",
    "//content/public/test/android:content_transit_java",
    "//net/android:net_java_test_support",
    "//third_party/android_deps:com_google_errorprone_error_prone_annotations_java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:material_design_java",
    "//third_party/android_deps:org_mockito_mockito_core_java",
    "//third_party/android_deps:protobuf_lite_runtime_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_preference_preference_java",
    "//third_party/androidx:androidx_recyclerview_recyclerview_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/jni_zero:gendeps_java",
    "//third_party/junit",
    "//third_party/mockito:mockito_java",
    "//third_party/omnibox_proto:omnibox_proto_java",
    "//ui/android:ui_java",
    "//ui/android:ui_java_test_support",
    "//url:url_java",
  ]
}

# Rules, utilities and fakes for integration tests. Unit test targets shouldn't
# depend on this.
android_library("chrome_java_integration_test_support") {
  testonly = true
  resources_package = "org.chromium.chrome"

  public_deps = [ ":chrome_java_test_support_common" ]

  sources = [
    "javatests/src/org/chromium/chrome/browser/history/TestBrowsingHistoryObserver.java",
    "javatests/src/org/chromium/chrome/browser/toolbar/top/ButtonHighlightMatcher.java",
    "javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java",
    "javatests/src/org/chromium/chrome/test/ChromeBrowserTestRule.java",
    "javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestRule.java",
    "javatests/src/org/chromium/chrome/test/ReducedModeNativeTestRule.java",
    "javatests/src/org/chromium/chrome/test/TestContentProvider.java",
    "javatests/src/org/chromium/chrome/test/batch/BlankCTATabInitialStateRule.java",
    "javatests/src/org/chromium/chrome/test/invalidation/IntentSavingContext.java",
    "javatests/src/org/chromium/chrome/test/util/AdvancedProtectionTestRule.java",
    "javatests/src/org/chromium/chrome/test/util/BookmarkTestRule.java",
    "javatests/src/org/chromium/chrome/test/util/BookmarkTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeApplicationTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeTabUtils.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/RecentTabsPageTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/TabBinningUtil.java",
    "javatests/src/org/chromium/chrome/test/util/TabRestoreServiceUtils.java",
    "javatests/src/org/chromium/chrome/test/util/TabStripUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ToolbarTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/WaitForFocusHelper.java",
    "javatests/src/org/chromium/chrome/test/util/browser/TabLoadObserver.java",
    "javatests/src/org/chromium/chrome/test/util/browser/TabTitleObserver.java",
    "javatests/src/org/chromium/chrome/test/util/browser/ThemeTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/browser/WPRArchiveDirectory.java",
    "javatests/src/org/chromium/chrome/test/util/browser/compositor/layouts/DisableChromeAnimations.java",
    "javatests/src/org/chromium/chrome/test/util/browser/contextmenu/ContextMenuUtils.java",
    "javatests/src/org/chromium/chrome/test/util/browser/signin/SigninTestRule.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/webapps/WebappTestPage.java",
    "javatests/src/org/chromium/chrome/test/util/tabmodel/TabBin.java",
    "javatests/src/org/chromium/chrome/test/util/tabmodel/TabBinList.java",
  ]

  deps = [
    ":chrome_java_test_support_common",
    "$google_play_services_package:google_play_services_base_java",
    "$google_play_services_package:google_play_services_basement_java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:service_loader_java",
    "//base/test:public_transit_java",
    "//base/version_info/android:version_constants_java",
    "//build/android:build_java",
    "//chrome/android:base_module_java",
    "//chrome/android:browser_java_test_support",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:chrome_java",
    "//chrome/browser/android/browserservices/intents:java",
    "//chrome/browser/bookmarks/android:java",
    "//chrome/browser/first_run/android:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/language/android:java",
    "//chrome/browser/omaha/android:java",
    "//chrome/browser/partnerbookmarks:java",
    "//chrome/browser/password_manager/android:backend_interface_java",
    "//chrome/browser/password_manager/android:settings_interface_java",
    "//chrome/browser/password_manager/android:test_support_java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/prefetch/android:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/settings:test_support_java",
    "//chrome/browser/signin/services/android:java",
    "//chrome/browser/sync/android:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/thumbnail/generator:java",
    "//chrome/browser/ui/android/appmenu:java",
    "//chrome/browser/ui/android/appmenu/test:test_support_java",
    "//chrome/browser/ui/android/favicon:java",
    "//chrome/browser/ui/android/layouts:java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/omnibox:java",
    "//chrome/browser/ui/android/theme:java",
    "//chrome/browser/ui/android/toolbar:java",
    "//chrome/browser/ui/messages/android:java",
    "//chrome/browser/util:java",
    "//components/bookmarks/common/android:bookmarks_java",
    "//components/browser_ui/device_lock/android:java",
    "//components/browser_ui/notifications/android:test_support_java",
    "//components/browser_ui/styles/android:java",
    "//components/browser_ui/widget/android:java",
    "//components/browser_ui/widget/android:test_support_java",
    "//components/embedder_support/android:content_view_java",
    "//components/embedder_support/android:util_java",
    "//components/embedder_support/android:web_contents_delegate_java",
    "//components/favicon/android:java",
    "//components/infobars/android:java",
    "//components/infobars/core:infobar_enums_java",
    "//components/location/android:location_java",
    "//components/messages/android:java",
    "//components/omnibox/browser:browser_java",
    "//components/permissions/android:java",
    "//components/policy/android:policy_java",
    "//components/policy/android:policy_java_test_support",
    "//components/signin/public/android:java",
    "//components/signin/public/android:signin_java_test_support",
    "//components/sync/android:sync_java",
    "//components/translate/content/android:java",
    "//components/webapps/browser/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",
    "//services/device/public/mojom:mojom_java",
    "//third_party/android_deps:chromium_play_services_availability_java",
    "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:material_design_java",
    "//third_party/androidx:androidx_activity_activity_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_appcompat_appcompat_java",
    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_recyclerview_recyclerview_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/androidx:androidx_test_runner_java",
    "//third_party/androidx:androidx_test_uiautomator_uiautomator_java",
    "//third_party/blink/public:blink_headers_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/junit",
    "//ui/android:ui_java",
    "//ui/android:ui_java_test_support",
    "//url:gurl_java",
    "//url:gurl_junit_test_support",
  ]
}

# Rules, utilities and fakes common to unit and integration tests.
android_library("chrome_java_test_support_common") {
  resources_package = "org.chromium.chrome"
  testonly = true
  sources = [
    "javatests/src/org/chromium/chrome/browser/history/HistoryTestUtils.java",
    "javatests/src/org/chromium/chrome/browser/history/StubbedHistoryProvider.java",
    "javatests/src/org/chromium/chrome/browser/homepage/HomepageTestRule.java",
    "javatests/src/org/chromium/chrome/browser/tab/MockTab.java",
    "javatests/src/org/chromium/chrome/browser/tab/MockTabAttributes.java",
    "javatests/src/org/chromium/chrome/browser/tab/TabTestUtils.java",
    "javatests/src/org/chromium/chrome/test/AutomotiveContextWrapperTestRule.java",
    "javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java",
    "javatests/src/org/chromium/chrome/test/ChromeJUnit4RunnerDelegate.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/util/ActivityTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ByteBufferTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/ChromeRenderTestRule.java",
    "javatests/src/org/chromium/chrome/test/util/SadTabRule.java",
    "javatests/src/org/chromium/chrome/test/util/ToolbarUnitTestUtils.java",
    "javatests/src/org/chromium/chrome/test/util/browser/LocationSettingsTestUtil.java",
    "javatests/src/org/chromium/chrome/test/util/browser/offlinepages/FakeOfflinePageBridge.java",
    "javatests/src/org/chromium/chrome/test/util/browser/signin/AccountManagerTestRule.java",
    "javatests/src/org/chromium/chrome/test/util/browser/suggestions/SuggestionsDependenciesRule.java",
    "javatests/src/org/chromium/chrome/test/util/browser/suggestions/mostvisited/FakeMostVisitedSites.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java",
    "javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreatorManager.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/webapps/WebApkIntentDataProviderBuilder.java",
    "javatests/src/org/chromium/chrome/test/util/browser/webapps/WebappTestHelper.java",
  ]

  deps = [
    "//base:base_java",
    "//base:base_java_test_support",
    "//base/version_info/android:version_constants_java",
    "//build/android:build_java",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:chrome_java",
    "//chrome/browser/android/browserservices/intents:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/omaha/android:java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/signin/services/android:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/thumbnail/generator:java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/toolbar:java",
    "//chrome/browser/util:java",
    "//components/browser_ui/styles/android:java",
    "//components/browser_ui/widget/android:java",
    "//components/browser_ui/widget/android:test_support_java",
    "//components/embedder_support/android:content_view_java",
    "//components/embedder_support/android:util_java",
    "//components/favicon/android:java",
    "//components/location/android:location_java",
    "//components/policy/android:policy_java_test_support",
    "//components/signin/public/android:java",
    "//components/signin/public/android:signin_java_test_support",
    "//components/signin/public/android:signin_test_resources",
    "//components/webapps/browser/android:java",
    "//content/public/android:content_java",
    "//content/public/test/android:content_java_test_support",
    "//google_apis/gaia/android:java",
    "//services/device/public/mojom:mojom_java",
    "//third_party/android_deps:chromium_play_services_availability_java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:guava_android_java",
    "//third_party/android_deps:org_mockito_mockito_core_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_appcompat_appcompat_java",
    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
    "//third_party/androidx:androidx_browser_browser_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_recyclerview_recyclerview_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_monitor_java",
    "//third_party/blink/public/mojom:mojom_platform_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/jni_zero:jni_zero_java",
    "//third_party/junit",
    "//ui/android:ui_java",
    "//ui/android:ui_java_test_support",
    "//url:gurl_java",
    "//url:gurl_junit_test_support",
  ]
}

# Compiles the abstract LiveSigninTestUtil class. Implementations are compiled
# separately.
android_library("live_signin_test_util_java") {
  testonly = true
  sources = [ "javatests/src/org/chromium/chrome/test/util/browser/signin/LiveSigninTestUtil.java" ]

  deps = [
    ":chrome_java_integration_test_support",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:service_loader_java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/signin/services/android:java",
    "//components/signin/public/android:java",
    "//components/sync/android:sync_java",
    "//content/public/test/android:content_java_test_support",
    "//third_party/hamcrest:hamcrest_java",
  ]
}