File: BUILD.gn

package info (click to toggle)
chromium 138.0.7204.183-1~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 6,080,960 kB
  • sloc: cpp: 34,937,079; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,954; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,811; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (1691 lines) | stat: -rw-r--r-- 76,295 bytes parent folder | download | duplicates (2)
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
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
# 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/buildflag_header.gni")
import("//build/config/chrome_build.gni")
import("//build/config/features.gni")
import("//components/optimization_guide/features.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/protobuf/proto_library.gni")
import("//tools/grit/grit_rule.gni")
if (is_android) {
  import("//build/config/android/rules.gni")
}

grit("autofill_address_rewriter_resources") {
  source = "geo/autofill_address_rewriter_resources.grd"
  outputs = [
    "grit/autofill_address_rewriter_resources.h",
    "grit/autofill_address_rewriter_resources_map.cc",
    "grit/autofill_address_rewriter_resources_map.h",
    "autofill_address_rewriter_resources.pak",
  ]
  output_dir = "$root_gen_dir/components/autofill/core/browser/geo"
}

declare_args() {
  # Normally, only branded builds use Google-internal sets of parsing patterns.
  #
  # Setting the variable 'use_internal_autofill_patterns' in args.gn overrides
  # this default.
  use_internal_autofill_patterns = is_chrome_branded
}

buildflag_header("buildflags") {
  header = "form_parsing/buildflags.h"
  flags = [ "USE_INTERNAL_AUTOFILL_PATTERNS=$use_internal_autofill_patterns" ]
}

action("regex_patterns_inl_h") {
  visibility = [ ":*" ]

  # The order of sources must be so that it matches the PatternSource enum
  # values in regex_patterns.h.
  sources = []
  if (use_internal_autofill_patterns) {
    sources +=
        [ "form_parsing/internal_resources/0_default_regex_patterns.json" ]
  } else {
    sources += [ "form_parsing/resources/legacy_regex_patterns.json" ]
  }

  script = "form_parsing/transpile_regex_patterns.py"
  outputs = [ "$target_gen_dir/form_parsing/regex_patterns_inl.h" ]
  args = [ "--input" ] + rebase_path(sources, root_build_dir) + [ "--output" ] +
         rebase_path(outputs, root_build_dir)
}

action("entity_schema_enums_and_functions") {
  visibility = [ ":*" ]

  sources = [ "data_model/autofill_ai/entity_schema.json" ]

  script = "data_model/autofill_ai/transpile_entity_schema.py"
  outputs = [
    "$target_gen_dir/data_model/autofill_ai/entity_type_names.h",
    "$target_gen_dir/data_model/autofill_ai/entity_type_funcs.cc",
  ]
  args = [ "--input" ] + rebase_path(sources, root_build_dir) + [ "--output" ] +
         rebase_path(outputs, root_build_dir)
}

proto_library("amount_extraction_heuristic_regexes_proto") {
  sources = [ "payments/amount_extraction_heuristic_regexes.proto" ]
}

static_library("browser") {
  sources = [
    "autofill_browser_util.cc",
    "autofill_browser_util.h",
    "autofill_feedback_data.cc",
    "autofill_feedback_data.h",
    "autofill_field.cc",
    "autofill_field.h",
    "autofill_shared_storage_handler.h",
    "autofill_trigger_source.h",
    "autofill_type.cc",
    "autofill_type.h",
    "country_type.h",
    "crowdsourcing/autofill_crowdsourcing_encoding.cc",
    "crowdsourcing/autofill_crowdsourcing_encoding.h",
    "crowdsourcing/autofill_crowdsourcing_manager.cc",
    "crowdsourcing/autofill_crowdsourcing_manager.h",
    "crowdsourcing/determine_possible_field_types.cc",
    "crowdsourcing/determine_possible_field_types.h",
    "crowdsourcing/disambiguate_possible_field_types.cc",
    "crowdsourcing/disambiguate_possible_field_types.h",
    "crowdsourcing/randomized_encoder.cc",
    "crowdsourcing/randomized_encoder.h",
    "crowdsourcing/votes_uploader.cc",
    "crowdsourcing/votes_uploader.h",
    "data_manager/addresses/address_data_cleaner.cc",
    "data_manager/addresses/address_data_cleaner.h",
    "data_manager/addresses/address_data_manager.cc",
    "data_manager/addresses/address_data_manager.h",
    "data_manager/autofill_ai/entity_data_manager.cc",
    "data_manager/autofill_ai/entity_data_manager.h",
    "data_manager/payments/payments_data_manager.cc",
    "data_manager/payments/payments_data_manager.h",
    "data_manager/personal_data_manager.cc",
    "data_manager/personal_data_manager.h",
    "data_manager/personal_data_manager_observer.h",
    "data_manager/valuables/valuables_data_manager.cc",
    "data_manager/valuables/valuables_data_manager.h",
    "data_model/addresses/address.cc",
    "data_model/addresses/address.h",
    "data_model/addresses/autofill_feature_guarded_address_component.cc",
    "data_model/addresses/autofill_feature_guarded_address_component.h",
    "data_model/addresses/autofill_i18n_api.cc",
    "data_model/addresses/autofill_i18n_api.h",
    "data_model/addresses/autofill_i18n_formatting_expressions.h",
    "data_model/addresses/autofill_i18n_hierarchies.h",
    "data_model/addresses/autofill_i18n_parsing_expression_components.cc",
    "data_model/addresses/autofill_i18n_parsing_expression_components.h",
    "data_model/addresses/autofill_i18n_parsing_expressions.h",
    "data_model/addresses/autofill_profile.cc",
    "data_model/addresses/autofill_profile.h",
    "data_model/addresses/autofill_profile_comparator.cc",
    "data_model/addresses/autofill_profile_comparator.h",
    "data_model/addresses/autofill_structured_address.cc",
    "data_model/addresses/autofill_structured_address.h",
    "data_model/addresses/autofill_structured_address_component.cc",
    "data_model/addresses/autofill_structured_address_component.h",
    "data_model/addresses/autofill_structured_address_component_store.cc",
    "data_model/addresses/autofill_structured_address_component_store.h",
    "data_model/addresses/autofill_structured_address_constants.cc",
    "data_model/addresses/autofill_structured_address_constants.h",
    "data_model/addresses/autofill_structured_address_format_provider.cc",
    "data_model/addresses/autofill_structured_address_format_provider.h",
    "data_model/addresses/autofill_structured_address_name.cc",
    "data_model/addresses/autofill_structured_address_name.h",
    "data_model/addresses/autofill_structured_address_regex_provider.cc",
    "data_model/addresses/autofill_structured_address_regex_provider.h",
    "data_model/addresses/autofill_structured_address_utils.cc",
    "data_model/addresses/autofill_structured_address_utils.h",
    "data_model/addresses/autofill_synthesized_address_component.cc",
    "data_model/addresses/autofill_synthesized_address_component.h",
    "data_model/addresses/contact_info.cc",
    "data_model/addresses/contact_info.h",
    "data_model/addresses/phone_number.cc",
    "data_model/addresses/phone_number.h",
    "data_model/autofill_ai/country_info.cc",
    "data_model/autofill_ai/country_info.h",
    "data_model/autofill_ai/date_info.cc",
    "data_model/autofill_ai/date_info.h",
    "data_model/autofill_ai/entity_instance.cc",
    "data_model/autofill_ai/entity_instance.h",
    "data_model/autofill_ai/entity_type.cc",
    "data_model/autofill_ai/entity_type.h",
    "data_model/data_model_utils.cc",
    "data_model/data_model_utils.h",
    "data_model/form_group.cc",
    "data_model/form_group.h",
    "data_model/payments/autofill_offer_data.cc",
    "data_model/payments/autofill_offer_data.h",
    "data_model/payments/autofill_wallet_usage_data.cc",
    "data_model/payments/autofill_wallet_usage_data.h",
    "data_model/payments/bank_account.cc",
    "data_model/payments/bank_account.h",
    "data_model/payments/bnpl_issuer.cc",
    "data_model/payments/bnpl_issuer.h",
    "data_model/payments/credit_card.cc",
    "data_model/payments/credit_card.h",
    "data_model/payments/credit_card_benefit.cc",
    "data_model/payments/credit_card_benefit.h",
    "data_model/payments/credit_card_cloud_token_data.cc",
    "data_model/payments/credit_card_cloud_token_data.h",
    "data_model/payments/ewallet.cc",
    "data_model/payments/ewallet.h",
    "data_model/payments/iban.cc",
    "data_model/payments/iban.h",
    "data_model/payments/payment_instrument.cc",
    "data_model/payments/payment_instrument.h",
    "data_model/payments/payments_metadata.cc",
    "data_model/payments/payments_metadata.h",
    "data_model/transliterator.cc",
    "data_model/transliterator.h",
    "data_model/usage_history_information.cc",
    "data_model/usage_history_information.h",
    "data_model/valuables/loyalty_card.cc",
    "data_model/valuables/loyalty_card.h",
    "data_model/valuables/valuable_types.h",
    "data_quality/addresses/address_normalization_manager.cc",
    "data_quality/addresses/address_normalization_manager.h",
    "data_quality/addresses/address_normalizer.h",
    "data_quality/addresses/address_normalizer_impl.cc",
    "data_quality/addresses/address_normalizer_impl.h",
    "data_quality/addresses/profile_requirement_utils.cc",
    "data_quality/addresses/profile_requirement_utils.h",
    "data_quality/addresses/profile_token_quality.cc",
    "data_quality/addresses/profile_token_quality.h",
    "data_quality/autofill_data_util.cc",
    "data_quality/autofill_data_util.h",
    "data_quality/validation.cc",
    "data_quality/validation.h",
    "field_type_utils.cc",
    "field_type_utils.h",
    "field_types.cc",
    "field_types.h",
    "filling/addresses/field_filling_address_util.cc",
    "filling/addresses/field_filling_address_util.h",
    "filling/autofill_ai/field_filling_entity_util.cc",
    "filling/autofill_ai/field_filling_entity_util.h",
    "filling/autofill_ai/select_date_matching.cc",
    "filling/autofill_ai/select_date_matching.h",
    "filling/field_filling_skip_reason.cc",
    "filling/field_filling_skip_reason.h",
    "filling/field_filling_util.cc",
    "filling/field_filling_util.h",
    "filling/filling_product.cc",
    "filling/filling_product.h",
    "filling/form_autofill_history.cc",
    "filling/form_autofill_history.h",
    "filling/form_filler.cc",
    "filling/form_filler.h",
    "filling/payments/field_filling_payments_util.cc",
    "filling/payments/field_filling_payments_util.h",
    "form_import/addresses/address_profile_save_manager.cc",
    "form_import/addresses/address_profile_save_manager.h",
    "form_import/addresses/autofill_profile_import_process.cc",
    "form_import/addresses/autofill_profile_import_process.h",
    "form_import/form_data_importer.cc",
    "form_import/form_data_importer.h",
    "form_import/form_data_importer_utils.cc",
    "form_import/form_data_importer_utils.h",
    "form_parsing/address_field_parser.cc",
    "form_parsing/address_field_parser.h",
    "form_parsing/address_field_parser_ng.cc",
    "form_parsing/address_field_parser_ng.h",
    "form_parsing/alternative_name_field_parser.cc",
    "form_parsing/alternative_name_field_parser.h",
    "form_parsing/autofill_parsing_utils.cc",
    "form_parsing/autofill_parsing_utils.h",
    "form_parsing/autofill_scanner.cc",
    "form_parsing/autofill_scanner.h",
    "form_parsing/credit_card_field_parser.cc",
    "form_parsing/credit_card_field_parser.h",
    "form_parsing/email_field_parser.cc",
    "form_parsing/email_field_parser.h",
    "form_parsing/field_candidates.cc",
    "form_parsing/field_candidates.h",
    "form_parsing/form_field_parser.cc",
    "form_parsing/form_field_parser.h",
    "form_parsing/iban_field_parser.cc",
    "form_parsing/iban_field_parser.h",
    "form_parsing/loyalty_field_parser.cc",
    "form_parsing/loyalty_field_parser.h",
    "form_parsing/merchant_promo_code_field_parser.cc",
    "form_parsing/merchant_promo_code_field_parser.h",
    "form_parsing/name_field_parser.cc",
    "form_parsing/name_field_parser.h",
    "form_parsing/phone_field_parser.cc",
    "form_parsing/phone_field_parser.h",
    "form_parsing/price_field_parser.cc",
    "form_parsing/price_field_parser.h",
    "form_parsing/regex_patterns.cc",
    "form_parsing/regex_patterns.h",
    "form_parsing/search_field_parser.cc",
    "form_parsing/search_field_parser.h",
    "form_parsing/standalone_cvc_field_parser.cc",
    "form_parsing/standalone_cvc_field_parser.h",
    "form_parsing/travel_field_parser.cc",
    "form_parsing/travel_field_parser.h",
    "form_processing/label_processing_util.cc",
    "form_processing/label_processing_util.h",
    "form_processing/name_processing_util.cc",
    "form_processing/name_processing_util.h",
    "form_processing/optimization_guide_proto_util.cc",
    "form_processing/optimization_guide_proto_util.h",
    "form_structure.cc",
    "form_structure.h",
    "form_structure_rationalization_engine.cc",
    "form_structure_rationalization_engine.h",
    "form_structure_rationalizer.cc",
    "form_structure_rationalizer.h",
    "form_structure_sectioning_util.cc",
    "form_structure_sectioning_util.h",
    "form_types.cc",
    "form_types.h",
    "foundations/autofill_client.cc",
    "foundations/autofill_client.h",
    "foundations/autofill_driver.cc",
    "foundations/autofill_driver.h",
    "foundations/autofill_driver_factory.cc",
    "foundations/autofill_driver_factory.h",
    "foundations/autofill_driver_router.cc",
    "foundations/autofill_driver_router.h",
    "foundations/autofill_manager.cc",
    "foundations/autofill_manager.h",
    "foundations/browser_autofill_manager.cc",
    "foundations/browser_autofill_manager.h",
    "foundations/form_forest.cc",
    "foundations/form_forest.h",
    "foundations/form_forest_util_inl.h",
    "geo/address_i18n.cc",
    "geo/address_i18n.h",
    "geo/address_rewriter.cc",
    "geo/address_rewriter.h",
    "geo/alternative_state_name_map.cc",
    "geo/alternative_state_name_map.h",
    "geo/alternative_state_name_map_updater.cc",
    "geo/alternative_state_name_map_updater.h",
    "geo/autofill_country.cc",
    "geo/autofill_country.h",
    "geo/country_data.cc",
    "geo/country_data.h",
    "geo/country_names.cc",
    "geo/country_names.h",
    "geo/country_names_for_locale.cc",
    "geo/country_names_for_locale.h",
    "geo/phone_number_i18n.cc",
    "geo/phone_number_i18n.h",
    "geo/region_data_loader.h",
    "geo/region_data_loader_impl.cc",
    "geo/region_data_loader_impl.h",
    "geo/state_names.cc",
    "geo/state_names.h",
    "geo/subkey_requester.cc",
    "geo/subkey_requester.h",
    "heuristic_source.cc",
    "heuristic_source.h",
    "integrators/autofill_ai/autofill_ai_delegate.h",
    "integrators/compose/autofill_compose_delegate.h",
    "integrators/fast_checkout/fast_checkout_client.h",
    "integrators/fast_checkout/fast_checkout_delegate.h",
    "integrators/fast_checkout/fast_checkout_enums.h",
    "integrators/identity_credential/identity_credential_delegate.h",
    "integrators/optimization_guide/autofill_optimization_guide.cc",
    "integrators/optimization_guide/autofill_optimization_guide.h",
    "integrators/password_form_classification.h",
    "integrators/password_manager/password_manager_delegate.h",
    "integrators/plus_addresses/autofill_plus_address_delegate.h",
    "integrators/touch_to_fill/touch_to_fill_delegate.h",
    "logging/log_buffer_submitter.cc",
    "logging/log_buffer_submitter.h",
    "logging/log_manager.cc",
    "logging/log_manager.h",
    "logging/log_protobufs.h",
    "logging/log_receiver.h",
    "logging/log_router.cc",
    "logging/log_router.h",
    "logging/text_log_receiver.cc",
    "logging/text_log_receiver.h",
    "manual_testing_import.cc",
    "manual_testing_import.h",
    "metrics/address_data_cleaner_metrics.cc",
    "metrics/address_data_cleaner_metrics.h",
    "metrics/address_save_metrics.cc",
    "metrics/address_save_metrics.h",
    "metrics/autofill_in_devtools_metrics.cc",
    "metrics/autofill_in_devtools_metrics.h",
    "metrics/autofill_metrics.cc",
    "metrics/autofill_metrics.h",
    "metrics/autofill_metrics_utils.cc",
    "metrics/autofill_metrics_utils.h",
    "metrics/autofill_settings_metrics.cc",
    "metrics/autofill_settings_metrics.h",
    "metrics/field_filling_stats_and_score_metrics.cc",
    "metrics/field_filling_stats_and_score_metrics.h",
    "metrics/form_events/address_form_event_logger.cc",
    "metrics/form_events/address_form_event_logger.h",
    "metrics/form_events/credit_card_form_event_logger.cc",
    "metrics/form_events/credit_card_form_event_logger.h",
    "metrics/form_events/form_event_logger_base.cc",
    "metrics/form_events/form_event_logger_base.h",
    "metrics/form_events/form_events.h",
    "metrics/form_interactions_ukm_logger.cc",
    "metrics/form_interactions_ukm_logger.h",
    "metrics/log_event.cc",
    "metrics/log_event.h",
    "metrics/payments/amount_extraction_metrics.cc",
    "metrics/payments/amount_extraction_metrics.h",
    "metrics/payments/better_auth_metrics.cc",
    "metrics/payments/better_auth_metrics.h",
    "metrics/payments/bnpl_metrics.cc",
    "metrics/payments/bnpl_metrics.h",
    "metrics/payments/card_info_retrieval_enrolled_metrics.cc",
    "metrics/payments/card_info_retrieval_enrolled_metrics.h",
    "metrics/payments/card_metadata_metrics.cc",
    "metrics/payments/card_metadata_metrics.h",
    "metrics/payments/card_unmask_authentication_metrics.cc",
    "metrics/payments/card_unmask_authentication_metrics.h",
    "metrics/payments/card_unmask_flow_metrics.cc",
    "metrics/payments/card_unmask_flow_metrics.h",
    "metrics/payments/credit_card_save_metrics.cc",
    "metrics/payments/credit_card_save_metrics.h",
    "metrics/payments/cvc_storage_metrics.cc",
    "metrics/payments/cvc_storage_metrics.h",
    "metrics/payments/filled_card_information_bubble_metrics.cc",
    "metrics/payments/filled_card_information_bubble_metrics.h",
    "metrics/payments/iban_metrics.cc",
    "metrics/payments/iban_metrics.h",
    "metrics/payments/manage_cards_prompt_metrics.cc",
    "metrics/payments/manage_cards_prompt_metrics.h",
    "metrics/payments/mandatory_reauth_metrics.cc",
    "metrics/payments/mandatory_reauth_metrics.h",
    "metrics/payments/offers_metrics.cc",
    "metrics/payments/offers_metrics.h",
    "metrics/payments/payments_window_metrics.cc",
    "metrics/payments/payments_window_metrics.h",
    "metrics/payments/risk_data_metrics.cc",
    "metrics/payments/risk_data_metrics.h",
    "metrics/payments/virtual_card_enrollment_metrics.cc",
    "metrics/payments/virtual_card_enrollment_metrics.h",
    "metrics/payments/virtual_card_standalone_cvc_suggestion_metrics.cc",
    "metrics/payments/virtual_card_standalone_cvc_suggestion_metrics.h",
    "metrics/payments/wallet_usage_data_metrics.cc",
    "metrics/payments/wallet_usage_data_metrics.h",
    "metrics/per_fill_metrics.cc",
    "metrics/per_fill_metrics.h",
    "metrics/prediction_quality_metrics.cc",
    "metrics/prediction_quality_metrics.h",
    "metrics/profile_import_metrics.cc",
    "metrics/profile_import_metrics.h",
    "metrics/profile_token_quality_metrics.cc",
    "metrics/profile_token_quality_metrics.h",
    "metrics/quality_metrics.cc",
    "metrics/quality_metrics.h",
    "metrics/quality_metrics_filling.cc",
    "metrics/quality_metrics_filling.h",
    "metrics/stored_profile_metrics.cc",
    "metrics/stored_profile_metrics.h",
    "metrics/suggestions_list_metrics.cc",
    "metrics/suggestions_list_metrics.h",
    "ml_model/autofill_ai/autofill_ai_model_cache.h",
    "ml_model/autofill_ai/autofill_ai_model_cache_impl.cc",
    "ml_model/autofill_ai/autofill_ai_model_cache_impl.h",
    "ml_model/autofill_ai/autofill_ai_model_executor.h",
    "ml_model/autofill_ai/autofill_ai_model_executor_impl.cc",
    "ml_model/autofill_ai/autofill_ai_model_executor_impl.h",
    "payments/account_info_getter.h",
    "payments/amount_extraction_heuristic_regexes.cc",
    "payments/amount_extraction_heuristic_regexes.h",
    "payments/amount_extraction_manager.cc",
    "payments/amount_extraction_manager.h",
    "payments/autofill_error_dialog_context.cc",
    "payments/autofill_error_dialog_context.h",
    "payments/autofill_offer_manager.cc",
    "payments/autofill_offer_manager.h",
    "payments/autofill_payments_feature_availability.cc",
    "payments/autofill_payments_feature_availability.h",
    "payments/autofill_wallet_data_type_controller.cc",
    "payments/autofill_wallet_data_type_controller.h",
    "payments/bnpl_manager.cc",
    "payments/bnpl_manager.h",
    "payments/card_unmask_delegate.cc",
    "payments/card_unmask_delegate.h",
    "payments/client_behavior_constants.h",
    "payments/constants.h",
    "payments/credit_card_access_manager.cc",
    "payments/credit_card_access_manager.h",
    "payments/credit_card_cvc_authenticator.cc",
    "payments/credit_card_cvc_authenticator.h",
    "payments/credit_card_otp_authenticator.cc",
    "payments/credit_card_otp_authenticator.h",
    "payments/credit_card_risk_based_authenticator.cc",
    "payments/credit_card_risk_based_authenticator.h",
    "payments/credit_card_save_manager.cc",
    "payments/credit_card_save_manager.h",
    "payments/full_card_request.cc",
    "payments/full_card_request.h",
    "payments/iban_access_manager.cc",
    "payments/iban_access_manager.h",
    "payments/iban_manager.cc",
    "payments/iban_manager.h",
    "payments/iban_save_manager.cc",
    "payments/iban_save_manager.h",
    "payments/mandatory_reauth_manager.cc",
    "payments/mandatory_reauth_manager.h",
    "payments/multiple_request_payments_network_interface.cc",
    "payments/multiple_request_payments_network_interface.h",
    "payments/multiple_request_payments_network_interface_base.cc",
    "payments/multiple_request_payments_network_interface_base.h",
    "payments/offer_notification_handler.cc",
    "payments/offer_notification_handler.h",
    "payments/offer_notification_options.h",
    "payments/otp_unmask_delegate.h",
    "payments/otp_unmask_result.h",
    "payments/payments_access_token_fetcher.cc",
    "payments/payments_access_token_fetcher.h",
    "payments/payments_autofill_client.cc",
    "payments/payments_autofill_client.h",
    "payments/payments_customer_data.h",
    "payments/payments_data_cleaner.cc",
    "payments/payments_data_cleaner.h",
    "payments/payments_network_interface.cc",
    "payments/payments_network_interface.h",
    "payments/payments_network_interface_base.cc",
    "payments/payments_network_interface_base.h",
    "payments/payments_request_details.cc",
    "payments/payments_request_details.h",
    "payments/payments_requests/create_bnpl_payment_instrument_request.cc",
    "payments/payments_requests/create_bnpl_payment_instrument_request.h",
    "payments/payments_requests/create_card_request.cc",
    "payments/payments_requests/create_card_request.h",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_url_request.cc",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_url_request.h",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_vcn_request.cc",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_vcn_request.h",
    "payments/payments_requests/get_card_upload_details_request.cc",
    "payments/payments_requests/get_card_upload_details_request.h",
    "payments/payments_requests/get_details_for_create_bnpl_payment_instrument_request.cc",
    "payments/payments_requests/get_details_for_create_bnpl_payment_instrument_request.h",
    "payments/payments_requests/get_details_for_create_card_request.cc",
    "payments/payments_requests/get_details_for_create_card_request.h",
    "payments/payments_requests/get_details_for_enrollment_request.cc",
    "payments/payments_requests/get_details_for_enrollment_request.h",
    "payments/payments_requests/get_iban_upload_details_request.cc",
    "payments/payments_requests/get_iban_upload_details_request.h",
    "payments/payments_requests/get_unmask_details_request.cc",
    "payments/payments_requests/get_unmask_details_request.h",
    "payments/payments_requests/opt_change_request.cc",
    "payments/payments_requests/opt_change_request.h",
    "payments/payments_requests/payments_request.cc",
    "payments/payments_requests/payments_request.h",
    "payments/payments_requests/select_challenge_option_request.cc",
    "payments/payments_requests/select_challenge_option_request.h",
    "payments/payments_requests/unmask_card_request.cc",
    "payments/payments_requests/unmask_card_request.h",
    "payments/payments_requests/unmask_iban_request.cc",
    "payments/payments_requests/unmask_iban_request.h",
    "payments/payments_requests/update_virtual_card_enrollment_request.cc",
    "payments/payments_requests/update_virtual_card_enrollment_request.h",
    "payments/payments_requests/upload_card_request.cc",
    "payments/payments_requests/upload_card_request.h",
    "payments/payments_requests/upload_iban_request.cc",
    "payments/payments_requests/upload_iban_request.h",
    "payments/payments_service_url.cc",
    "payments/payments_service_url.h",
    "payments/payments_util.cc",
    "payments/payments_util.h",
    "payments/payments_window_manager.cc",
    "payments/payments_window_manager.h",
    "payments/payments_window_manager_util.cc",
    "payments/payments_window_manager_util.h",
    "payments/risk_data_loader.h",
    "payments/save_and_fill_manager.cc",
    "payments/save_and_fill_manager.h",
    "payments/virtual_card_enroll_metrics_logger.cc",
    "payments/virtual_card_enroll_metrics_logger.h",
    "payments/virtual_card_enrollment_flow.h",
    "payments/virtual_card_enrollment_manager.cc",
    "payments/virtual_card_enrollment_manager.h",
    "payments/wait_for_signal_or_timeout.cc",
    "payments/wait_for_signal_or_timeout.h",
    "payments/webauthn_callback_types.h",
    "permissions/autofill_ai/autofill_ai_permission_utils.cc",
    "permissions/autofill_ai/autofill_ai_permission_utils.h",
    "single_field_fillers/autocomplete/autocomplete_history_manager.cc",
    "single_field_fillers/autocomplete/autocomplete_history_manager.h",
    "single_field_fillers/payments/merchant_promo_code_manager.cc",
    "single_field_fillers/payments/merchant_promo_code_manager.h",
    "single_field_fillers/single_field_fill_router.cc",
    "single_field_fillers/single_field_fill_router.h",
    "strike_databases/address_suggestion_strike_database.cc",
    "strike_databases/address_suggestion_strike_database.h",
    "strike_databases/autofill_ai/autofill_ai_save_strike_database_by_attribute.h",
    "strike_databases/autofill_ai/autofill_ai_save_strike_database_by_host.cc",
    "strike_databases/autofill_ai/autofill_ai_save_strike_database_by_host.h",
    "strike_databases/autofill_ai/autofill_ai_update_strike_database.h",
    "strike_databases/autofill_profile_migration_strike_database.h",
    "strike_databases/autofill_profile_save_strike_database.h",
    "strike_databases/autofill_profile_update_strike_database.h",
    "strike_databases/history_clearable_strike_database.h",
    "strike_databases/payments/credit_card_save_strike_database.h",
    "strike_databases/payments/cvc_storage_strike_database.cc",
    "strike_databases/payments/cvc_storage_strike_database.h",
    "strike_databases/payments/iban_save_strike_database.h",
    "strike_databases/payments/save_and_fill_strike_database.cc",
    "strike_databases/payments/save_and_fill_strike_database.h",
    "strike_databases/payments/virtual_card_enrollment_strike_database.cc",
    "strike_databases/payments/virtual_card_enrollment_strike_database.h",
    "strike_databases/simple_autofill_strike_database.h",
    "strike_databases/strike_database.cc",
    "strike_databases/strike_database.h",
    "strike_databases/strike_database_base.cc",
    "strike_databases/strike_database_base.h",
    "strike_databases/strike_database_integrator_base.cc",
    "strike_databases/strike_database_integrator_base.h",
    "strike_databases/strike_database_integrator_test_strike_database.cc",
    "strike_databases/strike_database_integrator_test_strike_database.h",
    "studies/autofill_ablation_study.cc",
    "studies/autofill_ablation_study.h",
    "studies/autofill_experiments.cc",
    "studies/autofill_experiments.h",
    "suggestions/addresses/address_suggestion_generator.cc",
    "suggestions/addresses/address_suggestion_generator.h",
    "suggestions/payments/iban_suggestion_generator.cc",
    "suggestions/payments/iban_suggestion_generator.h",
    "suggestions/payments/payments_suggestion_generator.cc",
    "suggestions/payments/payments_suggestion_generator.h",
    "suggestions/suggestion.cc",
    "suggestions/suggestion.h",
    "suggestions/suggestion_generator.cc",
    "suggestions/suggestion_generator.h",
    "suggestions/suggestion_hiding_reason.h",
    "suggestions/suggestion_type.cc",
    "suggestions/suggestion_type.h",
    "suggestions/suggestions_context.cc",
    "suggestions/suggestions_context.h",
    "suggestions/valuables/valuable_suggestion_generator.cc",
    "suggestions/valuables/valuable_suggestion_generator.h",
    "ui/addresses/autofill_address_util.cc",
    "ui/addresses/autofill_address_util.h",
    "ui/autofill_external_delegate.cc",
    "ui/autofill_external_delegate.h",
    "ui/autofill_image_fetcher_base.h",
    "ui/autofill_resource_utils.cc",
    "ui/autofill_resource_utils.h",
    "ui/autofill_suggestion_delegate.h",
    "ui/country_combobox_model.cc",
    "ui/country_combobox_model.h",
    "ui/payments/autofill_error_dialog_controller.h",
    "ui/payments/autofill_error_dialog_controller_impl.cc",
    "ui/payments/autofill_error_dialog_controller_impl.h",
    "ui/payments/autofill_error_dialog_view.h",
    "ui/payments/autofill_progress_dialog_controller.h",
    "ui/payments/autofill_progress_dialog_controller_impl.cc",
    "ui/payments/autofill_progress_dialog_controller_impl.h",
    "ui/payments/autofill_progress_dialog_view.h",
    "ui/payments/bnpl_tos_controller.h",
    "ui/payments/bnpl_tos_controller_impl.cc",
    "ui/payments/bnpl_tos_controller_impl.h",
    "ui/payments/bnpl_tos_view.h",
    "ui/payments/bubble_show_options.cc",
    "ui/payments/bubble_show_options.h",
    "ui/payments/card_unmask_authentication_selection_dialog.h",
    "ui/payments/card_unmask_authentication_selection_dialog_controller.h",
    "ui/payments/card_unmask_authentication_selection_dialog_controller_impl.cc",
    "ui/payments/card_unmask_authentication_selection_dialog_controller_impl.h",
    "ui/payments/card_unmask_otp_input_dialog_controller.h",
    "ui/payments/card_unmask_otp_input_dialog_controller_impl.cc",
    "ui/payments/card_unmask_otp_input_dialog_controller_impl.h",
    "ui/payments/card_unmask_otp_input_dialog_view.h",
    "ui/payments/card_unmask_prompt_controller.h",
    "ui/payments/card_unmask_prompt_controller_impl.cc",
    "ui/payments/card_unmask_prompt_controller_impl.h",
    "ui/payments/card_unmask_prompt_options.cc",
    "ui/payments/card_unmask_prompt_options.h",
    "ui/payments/card_unmask_prompt_view.h",
    "ui/payments/payments_ui_closed_reasons.h",
    "ui/payments/payments_window_user_consent_dialog.h",
    "ui/payments/payments_window_user_consent_dialog_controller.h",
    "ui/payments/payments_window_user_consent_dialog_controller_impl.cc",
    "ui/payments/payments_window_user_consent_dialog_controller_impl.h",
    "ui/payments/save_and_fill_dialog_controller.h",
    "ui/payments/save_and_fill_dialog_controller_impl.cc",
    "ui/payments/save_and_fill_dialog_controller_impl.h",
    "ui/payments/save_and_fill_dialog_view.h",
    "ui/payments/save_payment_method_and_virtual_card_enroll_confirmation_ui_params.cc",
    "ui/payments/save_payment_method_and_virtual_card_enroll_confirmation_ui_params.h",
    "ui/payments/select_bnpl_issuer_dialog_controller.cc",
    "ui/payments/select_bnpl_issuer_dialog_controller.h",
    "ui/payments/select_bnpl_issuer_dialog_controller_impl.cc",
    "ui/payments/select_bnpl_issuer_dialog_controller_impl.h",
    "ui/payments/select_bnpl_issuer_view.h",
    "ui/payments/virtual_card_enroll_bubble_controller.h",
    "ui/payments/virtual_card_enroll_ui_model.cc",
    "ui/payments/virtual_card_enroll_ui_model.h",
    "ui/popup_interaction.h",
    "ui/popup_open_enums.h",
    "ui/region_combobox_model.cc",
    "ui/region_combobox_model.h",
    "ui/suggestion_button_action.h",
    "webdata/addresses/address_autofill_table.cc",
    "webdata/addresses/address_autofill_table.h",
    "webdata/addresses/autofill_profile_sync_bridge.cc",
    "webdata/addresses/autofill_profile_sync_bridge.h",
    "webdata/addresses/autofill_profile_sync_difference_tracker.cc",
    "webdata/addresses/autofill_profile_sync_difference_tracker.h",
    "webdata/addresses/autofill_profile_sync_util.cc",
    "webdata/addresses/autofill_profile_sync_util.h",
    "webdata/addresses/contact_info_data_type_controller.cc",
    "webdata/addresses/contact_info_data_type_controller.h",
    "webdata/addresses/contact_info_local_data_batch_uploader.cc",
    "webdata/addresses/contact_info_local_data_batch_uploader.h",
    "webdata/addresses/contact_info_precondition_checker.cc",
    "webdata/addresses/contact_info_precondition_checker.h",
    "webdata/addresses/contact_info_sync_bridge.cc",
    "webdata/addresses/contact_info_sync_bridge.h",
    "webdata/addresses/contact_info_sync_util.cc",
    "webdata/addresses/contact_info_sync_util.h",
    "webdata/autocomplete/autocomplete_entry.cc",
    "webdata/autocomplete/autocomplete_entry.h",
    "webdata/autocomplete/autocomplete_sync_bridge.cc",
    "webdata/autocomplete/autocomplete_sync_bridge.h",
    "webdata/autocomplete/autocomplete_table.cc",
    "webdata/autocomplete/autocomplete_table.h",
    "webdata/autofill_ai/entity_table.cc",
    "webdata/autofill_ai/entity_table.h",
    "webdata/autofill_change.cc",
    "webdata/autofill_change.h",
    "webdata/autofill_sync_metadata_table.cc",
    "webdata/autofill_sync_metadata_table.h",
    "webdata/autofill_table_utils.cc",
    "webdata/autofill_table_utils.h",
    "webdata/autofill_webdata_backend.h",
    "webdata/autofill_webdata_backend_impl.cc",
    "webdata/autofill_webdata_backend_impl.h",
    "webdata/autofill_webdata_service.cc",
    "webdata/autofill_webdata_service.h",
    "webdata/autofill_webdata_service_observer.h",
    "webdata/payments/autofill_wallet_credential_sync_bridge.cc",
    "webdata/payments/autofill_wallet_credential_sync_bridge.h",
    "webdata/payments/autofill_wallet_metadata_sync_bridge.cc",
    "webdata/payments/autofill_wallet_metadata_sync_bridge.h",
    "webdata/payments/autofill_wallet_offer_sync_bridge.cc",
    "webdata/payments/autofill_wallet_offer_sync_bridge.h",
    "webdata/payments/autofill_wallet_sync_bridge.cc",
    "webdata/payments/autofill_wallet_sync_bridge.h",
    "webdata/payments/autofill_wallet_usage_data_sync_bridge.cc",
    "webdata/payments/autofill_wallet_usage_data_sync_bridge.h",
    "webdata/payments/payments_autofill_table.cc",
    "webdata/payments/payments_autofill_table.h",
    "webdata/payments/payments_sync_bridge_util.cc",
    "webdata/payments/payments_sync_bridge_util.h",
    "webdata/valuables/valuable_data_type_controller.cc",
    "webdata/valuables/valuable_data_type_controller.h",
    "webdata/valuables/valuable_sync_bridge.cc",
    "webdata/valuables/valuable_sync_bridge.h",
    "webdata/valuables/valuables_sync_util.cc",
    "webdata/valuables/valuables_sync_util.h",
    "webdata/valuables/valuables_table.cc",
    "webdata/valuables/valuables_table.h",
  ]

  sources += get_target_outputs(":regex_patterns_inl_h")
  sources += get_target_outputs(":entity_schema_enums_and_functions")

  if (is_ios) {
    sources += [
      "form_import/addresses/autofill_save_update_address_profile_delegate_ios.cc",
      "form_import/addresses/autofill_save_update_address_profile_delegate_ios.h",
    ]
  }

  if (is_android) {
    sources += [
      "payments/autofill_save_iban_ui_info.cc",
      "payments/autofill_save_iban_ui_info.h",
      "ui/addresses/android/autofill_address_editor_ui_info_android.cc",
      "ui/addresses/android/autofill_address_editor_ui_info_android.h",
      "ui/addresses/android/autofill_address_ui_component_android.cc",
      "ui/addresses/android/autofill_address_ui_component_android.h",
      "ui/addresses/android/dropdown_key_value_android.cc",
      "ui/addresses/android/dropdown_key_value_android.h",
    ]
  }

  if (is_ios || is_android) {
    sources += [
      "payments/autofill_save_card_delegate.cc",
      "payments/autofill_save_card_delegate.h",
      "payments/autofill_save_card_infobar_delegate_mobile.cc",
      "payments/autofill_save_card_infobar_delegate_mobile.h",
      "payments/autofill_save_card_infobar_mobile.h",
      "payments/autofill_save_card_ui_info.cc",
      "payments/autofill_save_card_ui_info.h",
      "payments/autofill_virtual_card_enrollment_infobar_delegate_mobile.cc",
      "payments/autofill_virtual_card_enrollment_infobar_delegate_mobile.h",
      "payments/autofill_virtual_card_enrollment_infobar_mobile.h",
      "ui/payments/card_expiration_date_fix_flow_controller.h",
      "ui/payments/card_expiration_date_fix_flow_controller_impl.cc",
      "ui/payments/card_expiration_date_fix_flow_controller_impl.h",
      "ui/payments/card_expiration_date_fix_flow_view.h",
      "ui/payments/card_name_fix_flow_controller.h",
      "ui/payments/card_name_fix_flow_controller_impl.cc",
      "ui/payments/card_name_fix_flow_controller_impl.h",
      "ui/payments/card_name_fix_flow_view.h",
    ]
  }

  if (!is_ios) {
    sources += [
      "payments/credit_card_fido_authenticator.cc",
      "payments/credit_card_fido_authenticator.h",
      "permissions/autofill_policy_handler.cc",
      "permissions/autofill_policy_handler.h",
      "strike_databases/payments/fido_authentication_strike_database.h",
    ]
  }

  if (!is_android) {
    sources += [
      "ui/autofill_image_fetcher.cc",
      "ui/autofill_image_fetcher.h",
    ]
  }

  if (build_with_tflite_lib) {
    sources += [
      "ml_model/field_classification_model_encoder.cc",
      "ml_model/field_classification_model_encoder.h",
      "ml_model/field_classification_model_executor.cc",
      "ml_model/field_classification_model_executor.h",
      "ml_model/field_classification_model_handler.cc",
      "ml_model/field_classification_model_handler.h",
    ]
  }

  configs += [
    "//build/config:precompiled_headers",
    "//build/config/compiler:wexit_time_destructors",
  ]

  public_deps = [
    ":amount_extraction_heuristic_regexes_proto",
    ":legal_message_line",
    "//components/autofill/core/browser/payments:card_unmask_challenge_option",
    "//components/autofill/core/browser/proto",
    "//components/autofill/core/browser/proto:autofill_ai_proto",
    "//components/autofill/core/common",
    "//components/autofill/core/common/mojom:mojo_types",
    "//components/leveldb_proto",
    "//components/resources",
    "//components/security_interstitials/core",
    "//components/security_state/core",
    "//components/translate/core/browser",
    "//skia",
    "//third_party/abseil-cpp:absl",
    "//third_party/libaddressinput",
    "//third_party/libaddressinput:strings_grit",
    "//ui/base",
    "//ui/gfx/geometry",
    "//ui/gfx/range",
    "//url",
  ]

  if (build_with_tflite_lib) {
    public_deps += [
      "//third_party/tflite",
      "//third_party/tflite:tflite_public_headers",
      "//third_party/tflite_support",
      "//third_party/tflite_support:tflite_support_proto",
    ]
  }

  deps = [
    ":autofill_address_rewriter_resources",
    ":buildflags",
    ":entity_schema_enums_and_functions",
    ":regex_patterns_inl_h",
    "//base",
    "//base:i18n",
    "//base/version_info",
    "//build:branding_buildflags",
    "//components/affiliations/core/browser:affiliations",
    "//components/autofill/core/common:autofill_regex",
    "//components/autofill/core/common:credit_card_number_validation",
    "//components/device_reauth",
    "//components/feature_engagement",
    "//components/google/core/common",
    "//components/history/core/browser",
    "//components/image_fetcher/core",
    "//components/infobars/core",
    "//components/keyed_service/core",
    "//components/language/core/browser",
    "//components/language_detection/core",
    "//components/optimization_guide:machine_learning_tflite_buildflags",
    "//components/optimization_guide/core",
    "//components/optimization_guide/proto:optimization_guide_proto",
    "//components/os_crypt/async/common",
    "//components/payments/core:currency_formatter",
    "//components/policy/core/browser",
    "//components/policy/core/common",
    "//components/pref_registry",
    "//components/prefs",
    "//components/profile_metrics",
    "//components/security_interstitials/core:insecure_form_util",
    "//components/signin/public/base",
    "//components/signin/public/identity_manager",
    "//components/strings",
    "//components/sync",
    "//components/translate/core/common",
    "//components/variations",
    "//components/variations/net",
    "//components/version_info",
    "//components/webdata/common",
    "//crypto",
    "//google_apis",
    "//google_apis/common:request_util",
    "//net",
    "//services/data_decoder/public/cpp:cpp",
    "//services/metrics/public/cpp:metrics_cpp",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
    "//third_party/icu",
    "//third_party/libphonenumber",
    "//third_party/re2",
    "//third_party/zlib/google:compression_utils",
    "//ui/accessibility:accessibility",
  ]

  if (!is_fuchsia) {
    deps += [ "//components/variations/service" ]
  }

  if (use_blink) {
    deps += [
      "//components/webauthn/core/browser",
      "//third_party/blink/public/common",
    ]
  }

  if (is_android) {
    deps += [
      "//components/autofill/android:main_autofill_jni_headers",
      "//components/messages/android:feature_flags",
      "//components/resources:android_resources",
    ]
  }

  if (is_ios || is_android) {
    deps += [ "//components/strings" ]
  }

  if (!is_android && !is_ios) {
    sources += [
      "crowdsourcing/server_prediction_overrides.cc",
      "crowdsourcing/server_prediction_overrides.h",
    ]
    deps += [
      "//ui/native_theme",
      "//ui/native_theme:native_theme_browser",
    ]
  }

  if (is_ios) {
    deps += [ "//components/autofill/ios/common" ]
  }
}

static_library("legal_message_line") {
  sources = [
    "payments/legal_message_line.cc",
    "payments/legal_message_line.h",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//ui/gfx/range",
    "//url",
  ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "crowdsourcing/autofill_crowdsourcing_manager_test_api.h",
    "crowdsourcing/mock_autofill_crowdsourcing_manager.cc",
    "crowdsourcing/mock_autofill_crowdsourcing_manager.h",
    "crowdsourcing/test_votes_uploader.cc",
    "crowdsourcing/test_votes_uploader.h",
    "crowdsourcing/votes_uploader_test_api.cc",
    "crowdsourcing/votes_uploader_test_api.h",
    "data_manager/addresses/address_data_cleaner_test_api.h",
    "data_manager/addresses/address_data_manager_test_api.h",
    "data_manager/addresses/address_data_manager_test_utils.cc",
    "data_manager/addresses/address_data_manager_test_utils.h",
    "data_manager/addresses/test_address_data_manager.cc",
    "data_manager/addresses/test_address_data_manager.h",
    "data_manager/autofill_ai/entity_data_manager_test_utils.cc",
    "data_manager/autofill_ai/entity_data_manager_test_utils.h",
    "data_manager/payments/payments_data_manager_test_api.cc",
    "data_manager/payments/payments_data_manager_test_api.h",
    "data_manager/payments/payments_data_manager_test_utils.cc",
    "data_manager/payments/payments_data_manager_test_utils.h",
    "data_manager/payments/test_payments_data_manager.cc",
    "data_manager/payments/test_payments_data_manager.h",
    "data_manager/personal_data_manager_test_utils.cc",
    "data_manager/personal_data_manager_test_utils.h",
    "data_manager/test_personal_data_manager.cc",
    "data_manager/test_personal_data_manager.h",
    "data_manager/valuables/test_valuables_data_manager.cc",
    "data_manager/valuables/test_valuables_data_manager.h",
    "data_manager/valuables/valuables_data_manager_test_api.h",
    "data_manager/valuables/valuables_data_manager_test_utils.cc",
    "data_manager/valuables/valuables_data_manager_test_utils.h",
    "data_model/addresses/autofill_profile_test_api.cc",
    "data_model/addresses/autofill_profile_test_api.h",
    "data_model/addresses/autofill_structured_address_component_test_api.h",
    "data_model/addresses/autofill_structured_address_test_utils.cc",
    "data_model/addresses/autofill_structured_address_test_utils.h",
    "data_model/payments/credit_card_benefit_test_api.h",
    "data_quality/addresses/profile_token_quality_test_api.cc",
    "data_quality/addresses/profile_token_quality_test_api.h",
    "data_quality/addresses/test_address_normalizer.cc",
    "data_quality/addresses/test_address_normalizer.h",
    "filling/form_filler_test_api.h",
    "filling/test_form_filler.cc",
    "filling/test_form_filler.h",
    "form_import/form_data_importer_test_api.h",
    "form_parsing/form_field_parser_test_api.h",
    "form_parsing/regex_patterns_test_api.h",
    "form_structure_test_api.cc",
    "form_structure_test_api.h",
    "foundations/autofill_driver_factory_test_api.cc",
    "foundations/autofill_driver_factory_test_api.h",
    "foundations/autofill_driver_test_api.h",
    "foundations/autofill_manager_test_api.h",
    "foundations/browser_autofill_manager_test_api.h",
    "foundations/browser_autofill_manager_test_delegate.cc",
    "foundations/browser_autofill_manager_test_delegate.h",
    "foundations/form_forest_test_api.cc",
    "foundations/form_forest_test_api.h",
    "foundations/mock_autofill_manager.cc",
    "foundations/mock_autofill_manager.h",
    "foundations/mock_autofill_manager_observer.cc",
    "foundations/mock_autofill_manager_observer.h",
    "foundations/test_autofill_client.cc",
    "foundations/test_autofill_client.h",
    "foundations/test_autofill_driver.cc",
    "foundations/test_autofill_driver.h",
    "foundations/test_autofill_manager_waiter.cc",
    "foundations/test_autofill_manager_waiter.h",
    "foundations/test_browser_autofill_manager.cc",
    "foundations/test_browser_autofill_manager.h",
    "geo/alternative_state_name_map_test_utils.cc",
    "geo/alternative_state_name_map_test_utils.h",
    "geo/mock_alternative_state_name_map_updater.cc",
    "geo/mock_alternative_state_name_map_updater.h",
    "geo/test_region_data_loader.cc",
    "geo/test_region_data_loader.h",
    "integrators/autofill_ai/mock_autofill_ai_delegate.cc",
    "integrators/autofill_ai/mock_autofill_ai_delegate.h",
    "integrators/compose/mock_autofill_compose_delegate.cc",
    "integrators/compose/mock_autofill_compose_delegate.h",
    "integrators/fast_checkout/mock_fast_checkout_client.cc",
    "integrators/fast_checkout/mock_fast_checkout_client.h",
    "integrators/identity_credential/mock_identity_credential_delegate.cc",
    "integrators/identity_credential/mock_identity_credential_delegate.h",
    "integrators/optimization_guide/mock_autofill_optimization_guide.cc",
    "integrators/optimization_guide/mock_autofill_optimization_guide.h",
    "integrators/password_manager/mock_password_manager_delegate.cc",
    "integrators/password_manager/mock_password_manager_delegate.h",
    "integrators/plus_addresses/mock_autofill_plus_address_delegate.cc",
    "integrators/plus_addresses/mock_autofill_plus_address_delegate.h",
    "logging/stub_log_manager.cc",
    "logging/stub_log_manager.h",
    "metrics/autofill_metrics_test_base.cc",
    "metrics/autofill_metrics_test_base.h",
    "metrics/ukm_metrics_test_utils.cc",
    "metrics/ukm_metrics_test_utils.h",
    "ml_model/autofill_ai/mock_autofill_ai_model_cache.cc",
    "ml_model/autofill_ai/mock_autofill_ai_model_cache.h",
    "ml_model/autofill_ai/mock_autofill_ai_model_executor.cc",
    "ml_model/autofill_ai/mock_autofill_ai_model_executor.h",
    "payments/bnpl_manager_test_api.h",
    "payments/credit_card_access_manager_test_api.h",
    "payments/credit_card_access_manager_test_base.cc",
    "payments/credit_card_access_manager_test_base.h",
    "payments/iban_manager_test_api.h",
    "payments/mock_iban_access_manager.cc",
    "payments/mock_iban_access_manager.h",
    "payments/mock_test_payments_network_interface.cc",
    "payments/mock_test_payments_network_interface.h",
    "payments/payments_network_interface_test_base.cc",
    "payments/payments_network_interface_test_base.h",
    "payments/payments_requests/create_bnpl_payment_instrument_request_test_api.h",
    "payments/payments_requests/get_details_for_create_bnpl_payment_instrument_request_test_api.h",
    "payments/payments_requests/get_details_for_create_card_request_test_api.h",
    "payments/test/autofill_payments_test_utils.cc",
    "payments/test/autofill_payments_test_utils.h",
    "payments/test/mock_bnpl_manager.cc",
    "payments/test/mock_bnpl_manager.h",
    "payments/test/mock_iban_manager.cc",
    "payments/test/mock_iban_manager.h",
    "payments/test/mock_mandatory_reauth_manager.cc",
    "payments/test/mock_mandatory_reauth_manager.h",
    "payments/test/mock_payments_window_manager.cc",
    "payments/test/mock_payments_window_manager.h",
    "payments/test/test_credit_card_otp_authenticator.cc",
    "payments/test/test_credit_card_otp_authenticator.h",
    "payments/test/test_credit_card_risk_based_authenticator.cc",
    "payments/test/test_credit_card_risk_based_authenticator.h",
    "payments/test_authentication_requester.cc",
    "payments/test_authentication_requester.h",
    "payments/test_credit_card_save_manager.cc",
    "payments/test_credit_card_save_manager.h",
    "payments/test_legal_message_line.h",
    "payments/test_payments_autofill_client.cc",
    "payments/test_payments_autofill_client.h",
    "payments/test_payments_network_interface.cc",
    "payments/test_payments_network_interface.h",
    "payments/test_virtual_card_enrollment_manager.cc",
    "payments/test_virtual_card_enrollment_manager.h",
    "single_field_fillers/autocomplete/mock_autocomplete_history_manager.cc",
    "single_field_fillers/autocomplete/mock_autocomplete_history_manager.h",
    "single_field_fillers/mock_single_field_fill_router.cc",
    "single_field_fillers/mock_single_field_fill_router.h",
    "single_field_fillers/payments/mock_merchant_promo_code_manager.cc",
    "single_field_fillers/payments/mock_merchant_promo_code_manager.h",
    "strike_databases/payments/test_credit_card_save_strike_database.cc",
    "strike_databases/payments/test_credit_card_save_strike_database.h",
    "strike_databases/payments/test_strike_database.cc",
    "strike_databases/payments/test_strike_database.h",
    "strike_databases/test_inmemory_strike_database.cc",
    "strike_databases/test_inmemory_strike_database.h",
    "suggestions/suggestion_test_helpers.cc",
    "suggestions/suggestion_test_helpers.h",
    "test_utils/autofill_form_test_utils.cc",
    "test_utils/autofill_form_test_utils.h",
    "test_utils/autofill_test_utils.cc",
    "test_utils/autofill_test_utils.h",
    "test_utils/autofill_testing_pref_service.cc",
    "test_utils/autofill_testing_pref_service.h",
    "test_utils/field_prediction_test_matchers.h",
    "test_utils/test_autofill_clock.cc",
    "test_utils/test_autofill_clock.h",
    "test_utils/test_event_waiter.h",
    "test_utils/test_profiles.cc",
    "test_utils/test_profiles.h",
    "test_utils/valuables_data_test_utils.cc",
    "test_utils/valuables_data_test_utils.h",
    "test_utils/vote_uploads_test_matchers.h",
    "ui/mock_autofill_image_fetcher.cc",
    "ui/mock_autofill_image_fetcher.h",
    "ui/mock_autofill_suggestion_delegate.cc",
    "ui/mock_autofill_suggestion_delegate.h",
    "ui/payments/virtual_card_enroll_ui_model_test_api.h",
    "ui/test_autofill_external_delegate.cc",
    "ui/test_autofill_external_delegate.h",
    "ui/test_autofill_image_fetcher.cc",
    "ui/test_autofill_image_fetcher.h",
    "webdata/autofill_ai/entity_table_test_api.h",
    "webdata/autofill_webdata_service_test_helper.cc",
    "webdata/autofill_webdata_service_test_helper.h",
    "webdata/mock_autofill_webdata_backend.cc",
    "webdata/mock_autofill_webdata_backend.h",
    "webdata/mock_autofill_webdata_service.cc",
    "webdata/mock_autofill_webdata_service.h",
    "webdata/payments/payments_sync_bridge_test_util.cc",
    "webdata/payments/payments_sync_bridge_test_util.h",
  ]

  public_deps = [
    ":browser",
    "//components/autofill/core/common:test_support",
    "//components/optimization_guide/core:features",
  ]

  deps = [
    ":autofill_address_rewriter_resources",
    "//base",
    "//base/test:test_support",
    "//components/autofill/core/browser",
    "//components/autofill/core/common",
    "//components/autofill/core/common:credit_card_number_validation",
    "//components/device_reauth:test_support",
    "//components/feature_engagement",
    "//components/leveldb_proto",
    "//components/optimization_guide:machine_learning_tflite_buildflags",
    "//components/optimization_guide/proto:optimization_guide_proto",
    "//components/os_crypt/async/browser:test_support",
    "//components/pref_registry",
    "//components/prefs:test_support",
    "//components/signin/public/identity_manager:test_support",
    "//components/sync:test_support",
    "//components/translate/core/browser",
    "//components/translate/core/browser:test_support",
    "//components/ukm",
    "//components/ukm:test_support",
    "//components/variations",
    "//components/variations:test_support",
    "//components/variations/net",
    "//components/version_info:version_info",
    "//components/webdata/common",
    "//crypto",
    "//google_apis:test_support",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//skia",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/libaddressinput:test_support",
    "//third_party/libaddressinput:util",
    "//third_party/re2:re2",
    "//ui/accessibility",
    "//ui/gfx:test_support",
    "//ui/gfx/geometry",
  ]

  if (use_blink) {
    sources += [
      "payments/test_credit_card_fido_authenticator.cc",
      "payments/test_credit_card_fido_authenticator.h",
      "payments/test_internal_authenticator.cc",
      "payments/test_internal_authenticator.h",
    ]

    public_deps += [ "//components/autofill/content/browser" ]

    deps += [
      "//components/webauthn/core/browser",
      "//third_party/blink/public/common",
    ]
  }
}

bundle_data("unit_tests_bundle_data") {
  sources = [
    "//components/test/data/autofill/merge/input/addressLinesLessInfo.in",
    "//components/test/data/autofill/merge/input/addressLinesMoreInfo.in",
    "//components/test/data/autofill/merge/input/ambiguous.in",
    "//components/test/data/autofill/merge/input/case.in",
    "//components/test/data/autofill/merge/input/email.in",
    "//components/test/data/autofill/merge/input/identical.in",
    "//components/test/data/autofill/merge/input/moreInfo.in",
    "//components/test/data/autofill/merge/input/names.in",
    "//components/test/data/autofill/merge/input/primarycase.in",
    "//components/test/data/autofill/merge/input/punctuation.in",
    "//components/test/data/autofill/merge/input/singlemerge.in",
    "//components/test/data/autofill/merge/input/streetaddress.in",
    "//components/test/data/autofill/merge/input/validation.in",
    "//components/test/data/autofill/merge/output/addressLinesLessInfo.out",
    "//components/test/data/autofill/merge/output/addressLinesMoreInfo.out",
    "//components/test/data/autofill/merge/output/ambiguous.out",
    "//components/test/data/autofill/merge/output/case.out",
    "//components/test/data/autofill/merge/output/email.out",
    "//components/test/data/autofill/merge/output/identical.out",
    "//components/test/data/autofill/merge/output/moreInfo.out",
    "//components/test/data/autofill/merge/output/names.out",
    "//components/test/data/autofill/merge/output/primarycase.out",
    "//components/test/data/autofill/merge/output/punctuation.out",
    "//components/test/data/autofill/merge/output/singlemerge.out",
    "//components/test/data/autofill/merge/output/streetaddress.out",
    "//components/test/data/autofill/merge/output/validation.out",
    "//components/test/data/autofill/ml_model/autofill_model-fold-one.tflite",
    "//components/test/data/autofill/ml_model/autofill_model_metadata.binarypb",
    "//components/test/data/autofill/ml_model/model_with_form_features_metadata.binarypb",
    "//components/test/data/autofill/ml_model/model_with_repeated_predicted_types.binarypb",
    "//components/test/data/autofill/ml_model/model_with_repeated_predicted_types.tflite",
  ]
  outputs = [ "{{bundle_resources_dir}}/" +
              "{{source_root_relative_dir}}/{{source_file_part}}" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "autofill_feedback_data_unittest.cc",
    "autofill_field_unittest.cc",
    "autofill_merge_unittest.cc",
    "autofill_type_unittest.cc",
    "crowdsourcing/autofill_crowdsourcing_encoding_unittest.cc",
    "crowdsourcing/autofill_crowdsourcing_manager_unittest.cc",
    "crowdsourcing/determine_possible_field_types_unittest.cc",
    "crowdsourcing/disambiguate_possible_field_types_unittest.cc",
    "crowdsourcing/randomized_encoder_unittest.cc",
    "data_manager/addresses/address_data_cleaner_unittest.cc",
    "data_manager/addresses/address_data_manager_unittest.cc",
    "data_manager/autofill_ai/entity_data_manager_unittest.cc",
    "data_manager/payments/payments_data_manager_test_base.cc",
    "data_manager/payments/payments_data_manager_test_base.h",
    "data_manager/payments/payments_data_manager_unittest.cc",
    "data_manager/valuables/valuables_data_manager_unittest.cc",
    "data_model/addresses/address_unittest.cc",
    "data_model/addresses/autofill_i18n_api_unittest.cc",
    "data_model/addresses/autofill_i18n_parsing_expression_components_unittest.cc",
    "data_model/addresses/autofill_profile_comparator_unittest.cc",
    "data_model/addresses/autofill_profile_unittest.cc",
    "data_model/addresses/autofill_structured_address_component_unittest.cc",
    "data_model/addresses/autofill_structured_address_format_provider_unittest.cc",
    "data_model/addresses/autofill_structured_address_name_unittest.cc",
    "data_model/addresses/autofill_structured_address_regex_provider_unittest.cc",
    "data_model/addresses/autofill_structured_address_unittest.cc",
    "data_model/addresses/autofill_structured_address_utils_unittest.cc",
    "data_model/addresses/contact_info_unittest.cc",
    "data_model/addresses/phone_number_unittest.cc",
    "data_model/autofill_ai/country_info_unittest.cc",
    "data_model/autofill_ai/date_info_unittest.cc",
    "data_model/autofill_ai/entity_instance_unittest.cc",
    "data_model/autofill_ai/entity_type_unittest.cc",
    "data_model/data_model_utils_unittest.cc",
    "data_model/payments/bank_account_unittest.cc",
    "data_model/payments/bnpl_issuer_unittest.cc",
    "data_model/payments/credit_card_benefit_unittest.cc",
    "data_model/payments/credit_card_unittest.cc",
    "data_model/payments/ewallet_unittest.cc",
    "data_model/payments/iban_unittest.cc",
    "data_model/payments/payment_instrument_unittest.cc",
    "data_model/transliterator_unittest.cc",
    "data_model/usage_history_information_unittest.cc",
    "data_quality/addresses/address_normalization_manager_unittest.cc",
    "data_quality/addresses/address_normalizer_impl_unittest.cc",
    "data_quality/addresses/profile_requirement_utils_unittest.cc",
    "data_quality/addresses/profile_token_quality_unittest.cc",
    "data_quality/autofill_data_util_unittest.cc",
    "data_quality/validation_unittest.cc",
    "field_type_utils_unittest.cc",
    "field_types_unittest.cc",
    "filling/addresses/field_filling_address_util_unittest.cc",
    "filling/autofill_ai/select_date_matching_unittest.cc",
    "filling/field_filling_util_unittest.cc",
    "filling/form_autofill_history_unittest.cc",
    "filling/form_filler_unittest.cc",
    "filling/payments/field_filling_payments_util_unittest.cc",
    "form_import/addresses/address_profile_save_manager_unittest.cc",
    "form_import/addresses/autofill_profile_import_process_unittest.cc",
    "form_import/form_data_importer_unittest.cc",
    "form_import/form_data_importer_utils_unittest.cc",
    "form_parsing/address_field_parser_ng_unittest.cc",
    "form_parsing/address_field_parser_unittest.cc",
    "form_parsing/alternative_name_field_parser_unittest.cc",
    "form_parsing/credit_card_field_parser_unittest.cc",
    "form_parsing/email_field_parser_unittest.cc",
    "form_parsing/field_candidates_unittest.cc",
    "form_parsing/form_field_parser_unittest.cc",
    "form_parsing/iban_field_parser_unittest.cc",
    "form_parsing/loyalty_field_parser_unittest.cc",
    "form_parsing/merchant_promo_code_field_parser_unittest.cc",
    "form_parsing/name_field_parser_unittest.cc",
    "form_parsing/parsing_test_utils.cc",
    "form_parsing/parsing_test_utils.h",
    "form_parsing/phone_field_parser_unittest.cc",
    "form_parsing/price_field_parser_unittest.cc",
    "form_parsing/regex_patterns_unittest.cc",
    "form_parsing/search_field_parser_unittest.cc",
    "form_parsing/standalone_cvc_field_parser_unittest.cc",
    "form_processing/label_processing_util_unittest.cc",
    "form_processing/name_processing_util_unittest.cc",
    "form_processing/optimization_guide_proto_util_unittest.cc",
    "form_structure_rationalization_engine_unittest.cc",
    "form_structure_rationalizer_unittest.cc",
    "form_structure_sectioning_util_unittest.cc",
    "form_structure_unittest.cc",
    "form_types_unittest.cc",
    "foundations/autofill_manager_unittest.cc",
    "foundations/browser_autofill_manager_unittest.cc",
    "foundations/form_forest_unittest.cc",
    "geo/address_i18n_unittest.cc",
    "geo/address_rewriter_unittest.cc",
    "geo/alternative_state_name_map_unittest.cc",
    "geo/alternative_state_name_map_updater_unittest.cc",
    "geo/autofill_country_unittest.cc",
    "geo/country_names_for_locale_unittest.cc",
    "geo/country_names_unittest.cc",
    "geo/phone_number_i18n_unittest.cc",
    "geo/subkey_requester_unittest.cc",
    "heuristic_source_unittest.cc",
    "integrators/optimization_guide/autofill_optimization_guide_unittest.cc",
    "logging/log_buffer_submitter_unittest.cc",
    "logging/log_manager_unittest.cc",
    "logging/log_router_unittest.cc",
    "logging/text_log_receiver_unittest.cc",
    "manual_testing_import_unittest.cc",
    "metrics/autofill_metrics_unittest.cc",
    "metrics/autofill_metrics_utils_unittest.cc",
    "metrics/autofill_settings_metrics_unittest.cc",
    "metrics/field_filling_stats_and_score_metrics_unittest.cc",
    "metrics/form_events/address_form_event_logger_unittest.cc",
    "metrics/form_events/credit_card_form_event_logger_unittest.cc",
    "metrics/form_events/form_event_logger_base_unittest.cc",
    "metrics/form_interactions_ukm_logger_unittest.cc",
    "metrics/payments/bnpl_metrics_unittest.cc",
    "metrics/payments/card_info_retrieval_enrolled_metrics_unittest.cc",
    "metrics/payments/card_metadata_metrics_unittest.cc",
    "metrics/payments/cvc_storage_metrics_unittest.cc",
    "metrics/payments/iban_metrics_unittest.cc",
    "metrics/payments/offers_metrics_unittest.cc",
    "metrics/payments/virtual_card_standalone_cvc_suggestion_metrics_unittest.cc",
    "metrics/payments/wallet_usage_data_metrics_unittest.cc",
    "metrics/per_fill_metrics_unittest.cc",
    "metrics/prediction_quality_metrics_unittest.cc",
    "metrics/profile_import_metrics_unittest.cc",
    "metrics/profile_token_quality_metrics_unittest.cc",
    "metrics/quality_metrics_filling_unittest.cc",
    "metrics/quality_metrics_unittest.cc",
    "metrics/stored_profile_metrics_unittest.cc",
    "metrics/suggestions_list_metrics_unittest.cc",
    "ml_model/autofill_ai/autofill_ai_model_cache_impl_unittest.cc",
    "payments/amount_extraction_heuristic_regexes_unittest.cc",
    "payments/amount_extraction_manager_unittest.cc",
    "payments/autofill_offer_manager_unittest.cc",
    "payments/bnpl_manager_unittest.cc",
    "payments/credit_card_access_manager_risk_based_unittest.cc",
    "payments/credit_card_access_manager_unittest.cc",
    "payments/credit_card_cvc_authenticator_unittest.cc",
    "payments/credit_card_otp_authenticator_unittest.cc",
    "payments/credit_card_risk_based_authenticator_unittest.cc",
    "payments/credit_card_save_manager_unittest.cc",
    "payments/full_card_request_unittest.cc",
    "payments/iban_access_manager_unittest.cc",
    "payments/iban_manager_unittest.cc",
    "payments/iban_save_manager_unittest.cc",
    "payments/legal_message_line_unittest.cc",
    "payments/multiple_request_payments_network_interface_base_unittest.cc",
    "payments/multiple_request_payments_network_interface_unittest.cc",
    "payments/payments_access_token_fetcher_unittest.cc",
    "payments/payments_data_cleaner_unittest.cc",
    "payments/payments_network_interface_unittest.cc",
    "payments/payments_requests/create_bnpl_payment_instrument_request_unittest.cc",
    "payments/payments_requests/create_card_request_unittest.cc",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_url_request_unittest.cc",
    "payments/payments_requests/get_bnpl_payment_instrument_for_fetching_vcn_request_unittest.cc",
    "payments/payments_requests/get_card_upload_details_request_unittest.cc",
    "payments/payments_requests/get_details_for_create_bnpl_payment_instrument_request_unittest.cc",
    "payments/payments_requests/get_details_for_create_card_request_unittest.cc",
    "payments/payments_requests/get_details_for_enrollment_request_unittest.cc",
    "payments/payments_requests/get_iban_upload_details_request_unittest.cc",
    "payments/payments_requests/unmask_card_request_unittest.cc",
    "payments/payments_requests/unmask_iban_request_unittest.cc",
    "payments/payments_requests/update_virtual_card_enrollment_request_unittest.cc",
    "payments/payments_requests/upload_card_request_unittest.cc",
    "payments/payments_requests/upload_iban_request_unittest.cc",
    "payments/payments_service_url_unittest.cc",
    "payments/payments_util_unittest.cc",
    "payments/virtual_card_enroll_metrics_logger_unittest.cc",
    "payments/virtual_card_enrollment_manager_unittest.cc",
    "payments/wait_for_signal_or_timeout_unittest.cc",
    "single_field_fillers/autocomplete/autocomplete_history_manager_unittest.cc",
    "single_field_fillers/payments/merchant_promo_code_manager_unittest.cc",
    "single_field_fillers/single_field_fill_router_unittest.cc",
    "strike_databases/autofill_ai/autofill_ai_save_strike_database_by_host_unittest.cc",
    "strike_databases/history_clearable_strike_database_unittest.cc",
    "strike_databases/payments/virtual_card_enrollment_strike_database_unittest.cc",
    "strike_databases/simple_autofill_strike_database_unittest.cc",
    "strike_databases/strike_database_integrator_test_strike_database_unittest.cc",
    "strike_databases/strike_database_unittest.cc",
    "studies/autofill_ablation_study_unittest.cc",
    "studies/autofill_experiments_unittest.cc",
    "suggestions/addresses/address_suggestion_generator_unittest.cc",
    "suggestions/payments/iban_suggestion_generator_unittest.cc",
    "suggestions/payments/payments_suggestion_generator_unittest.cc",
    "suggestions/valuables/valuable_suggestion_generator_unittest.cc",
    "ui/addresses/autofill_address_util_unittest.cc",
    "ui/autofill_external_delegate_unittest.cc",
    "ui/country_combobox_model_unittest.cc",
    "ui/payments/autofill_error_dialog_controller_impl_unittest.cc",
    "ui/payments/autofill_progress_dialog_controller_impl_unittest.cc",
    "ui/payments/bnpl_tos_controller_impl_unittest.cc",
    "ui/payments/bubble_show_options_unittest.cc",
    "ui/payments/card_unmask_otp_input_dialog_controller_impl_unittest.cc",
    "ui/payments/card_unmask_prompt_controller_impl_unittest.cc",
    "ui/payments/payments_window_user_consent_dialog_controller_impl_unittest.cc",
    "ui/payments/save_payment_method_and_virtual_card_enroll_confirmation_ui_params_unittest.cc",
    "ui/payments/select_bnpl_issuer_dialog_controller_impl_unittest.cc",
    "ui/payments/virtual_card_enroll_ui_model_unittest.cc",
    "ui/region_combobox_model_unittest.cc",
    "webdata/addresses/address_autofill_table_unittest.cc",
    "webdata/addresses/autofill_profile_sync_bridge_unittest.cc",
    "webdata/addresses/autofill_profile_sync_difference_tracker_unittest.cc",
    "webdata/addresses/autofill_profile_sync_util_unittest.cc",
    "webdata/addresses/contact_info_local_data_batch_uploader_unittest.cc",
    "webdata/addresses/contact_info_sync_bridge_unittest.cc",
    "webdata/addresses/contact_info_sync_util_unittest.cc",
    "webdata/autocomplete/autocomplete_sync_bridge_unittest.cc",
    "webdata/autocomplete/autocomplete_table_unittest.cc",
    "webdata/autofill_ai/entity_table_unittest.cc",
    "webdata/autofill_sync_metadata_table_unittest.cc",
    "webdata/payments/autofill_wallet_credential_sync_bridge_unittest.cc",
    "webdata/payments/autofill_wallet_metadata_sync_bridge_unittest.cc",
    "webdata/payments/autofill_wallet_offer_sync_bridge_unittest.cc",
    "webdata/payments/autofill_wallet_sync_bridge_unittest.cc",
    "webdata/payments/autofill_wallet_usage_data_sync_bridge_unittest.cc",
    "webdata/payments/payments_autofill_table_unittest.cc",
    "webdata/payments/payments_sync_bridge_util_unittest.cc",
    "webdata/valuables/valuable_sync_bridge_unittest.cc",
    "webdata/valuables/valuables_sync_util_unittest.cc",
    "webdata/valuables/valuables_table_unittest.cc",
    "webdata/web_data_service_unittest.cc",
  ]

  if (is_ios) {
    sources += [ "form_import/addresses/autofill_save_update_address_profile_delegate_ios_unittest.cc" ]
  }

  if (is_android) {
    sources += [ "payments/autofill_save_iban_ui_info_unittest.cc" ]
  }

  if (is_ios || is_android) {
    sources += [
      "payments/autofill_save_card_delegate_unittest.cc",
      "payments/autofill_save_card_ui_info_unittest.cc",
      "ui/payments/card_expiration_date_fix_flow_controller_impl_unittest.cc",
      "ui/payments/card_name_fix_flow_controller_impl_unittest.cc",
    ]
  }

  if (!is_ios) {
    sources += [
      "permissions/autofill_policy_handler_unittest.cc",

      # Not included on iOS because the files need to be bundled specially.
      "heuristic_classification_unittests.cc",
    ]
  }

  if (!is_android) {
    sources += [ "ui/autofill_image_fetcher_unittest.cc" ]
  }

  if (is_win || is_mac || is_android) {
    sources += [
      "metrics/payments/better_auth_metrics_unittest.cc",
      "payments/credit_card_access_manager_better_auth_log_unittest.cc",
      "payments/credit_card_fido_authenticator_unittest.cc",
      "payments/mandatory_reauth_manager_unittest.cc",
    ]
  }

  if (is_win || is_mac || is_android || is_ios) {
    sources +=
        [ "payments/credit_card_access_manager_mandatory_reauth_unittest.cc" ]
  }

  if (!is_ios && !is_android) {
    sources += [ "crowdsourcing/server_prediction_overrides_unittest.cc" ]
  }

  if (build_with_tflite_lib) {
    sources += [
      "ml_model/field_classification_model_encoder_unittest.cc",
      "ml_model/field_classification_model_executor_unittest.cc",
      "ml_model/field_classification_model_handler_unittest.cc",
    ]
  }

  if (!is_ios && !is_android && !is_fuchsia) {
    sources += [
      "filling/autofill_ai/field_filling_entity_util_unittest.cc",
      "permissions/autofill_ai/autofill_ai_permission_utils_unittest.cc",
    ]
  }

  if (build_with_model_execution) {
    sources +=
        [ "ml_model/autofill_ai/autofill_ai_model_executor_impl_unittest.cc" ]
  }

  deps = [
    ":autofill_address_rewriter_resources",
    ":browser",
    ":buildflags",
    ":entity_schema_enums_and_functions",
    ":regex_patterns_inl_h",
    ":test_support",
    ":unit_tests_bundle_data",
    "//base",
    "//base/test:test_support",
    "//base/version_info",
    "//components/autofill/core/common:autofill_regex",
    "//components/autofill/core/common:credit_card_number_validation",
    "//components/device_reauth:device_reauth",
    "//components/device_reauth:test_support",
    "//components/feature_engagement",
    "//components/history/core/browser",
    "//components/image_fetcher/core:core",
    "//components/image_fetcher/core:test_support",
    "//components/leveldb_proto",
    "//components/optimization_guide/core",
    "//components/optimization_guide/core:test_support",
    "//components/optimization_guide/proto:optimization_guide_proto",
    "//components/os_crypt/async/browser:test_support",
    "//components/password_manager/core/browser/features:password_features",
    "//components/plus_addresses",
    "//components/policy/core/common",
    "//components/pref_registry",
    "//components/prefs",
    "//components/prefs:test_support",
    "//components/resources",
    "//components/search:search",
    "//components/security_state/core",
    "//components/signin/public/identity_manager:test_support",
    "//components/strings",
    "//components/sync",
    "//components/sync:test_support",
    "//components/sync_preferences",
    "//components/translate/core/browser",
    "//components/translate/core/common",
    "//components/ukm",
    "//components/ukm:test_support",
    "//components/unified_consent",
    "//components/variations",
    "//components/variations:test_support",
    "//components/variations/net",
    "//components/version_info:version_info",
    "//components/webdata/common",
    "//google_apis",
    "//google_apis:test_support",
    "//google_apis/common:test_support",
    "//net:test_support",
    "//services/data_decoder/public/cpp:test_support",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//testing/data_driven_testing",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/libaddressinput:test_support",
    "//third_party/libaddressinput:util",
    "//third_party/libphonenumber",
    "//third_party/re2:re2",
    "//ui/base",
    "//ui/base:test_support",
    "//ui/gfx:test_support",
    "//ui/resources",
    "//url",
  ]

  if (is_ios || is_android) {
    deps += [ "//build:branding_buildflags" ]
  }

  if (!is_ios && !is_android) {
    deps += [
      "//ui/native_theme",
      "//ui/native_theme:native_theme_browser",
    ]
  }

  if (use_blink) {
    deps += [
      "//content/test:test_support",
      "//third_party/blink/public/common",
    ]
  }

  if (is_ios) {
    deps += [ "//components/autofill/ios/common" ]
  }
}

fuzzer_test("form_structure_fuzzer") {
  sources = [ "form_structure_fuzzer.cc" ]
  deps = [
    # TODO(crbug.com/41421248): Reduce the dependency on "browser".
    ":browser",
    "//base",
    "//components:components_tests_pak",
    "//components/autofill/core/common",
    "//components/autofill/core/common:fuzzer_support",
    "//third_party/icu/fuzzers:fuzzer_support",
    "//ui/base",
    "//ui/resources:ui_test_pak",
  ]
  seed_corpus = "form_structure_fuzzer_corpus"
  dict = "form_structure_fuzzer.dict"
}

if (use_fuzzing_engine_with_lpm) {
  fuzzer_test("form_structure_process_query_response_fuzzer") {
    sources = [ "form_structure_process_query_response_fuzzer.cc" ]
    deps = [
      # TODO(crbug.com/41421248): Reduce the dependency on "browser".
      ":browser",
      "//base:base",
      "//components/autofill/core/browser",
      "//components/autofill/core/browser:test_support",
      "//components/autofill/core/browser/proto",
      "//components/autofill/core/common",
      "//third_party/libprotobuf-mutator",
    ]
  }
}

fuzzer_test("autofill_phone_number_i18n_fuzzer") {
  sources = [ "geo/phone_number_i18n_fuzzer.cc" ]

  deps = [
    # TODO(crbug.com/41421248): Reduce the dependency on "browser".
    ":browser",
    "//base",
    "//base:i18n",
    "//third_party/libphonenumber",
  ]

  dict = "geo/phone_number_i18n_fuzzer.dict"
}

fuzzer_test("autofill_legal_message_line_fuzzer") {
  sources = [ "payments/legal_message_line_fuzzer.cc" ]
  deps = [
    ":browser",
    "//base",
    "//third_party/abseil-cpp:absl",
  ]
}