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

import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/core/core.gni")

# The paths in this file are absolute since this file is imported and the
# file lists must be valid from multple "current directories".

bindings_core_output_dir = "$bindings_output_dir/core"

# Global constructors
core_global_constructors_original_interfaces = [
  "DedicatedWorkerGlobalScope",
  "LayoutWorkletGlobalScope",
  "SharedWorkerGlobalScope",
  "Window",
]

# The size and the order in the following list must match to the previous one.
if (use_blink_v8_binding_new_idl_interface) {
  core_global_constructors_original_interface_basenames = []
} else {
  core_global_constructors_original_interface_basenames = [
    "dedicated_worker_global_scope",
    "layout_worklet_global_scope",
    "shared_worker_global_scope",
    "window",
  ]
}

# The interfaces aren't technically files, but we can treat them as file names
# to get process_file_template to generate lists of IDL files corresponding
# to each interface.
core_global_constructors_generated_idl_files =
    process_file_template(
        core_global_constructors_original_interface_basenames,
        [ "$blink_core_output_dir/{{source_name_part}}_core_constructors.idl" ])

# IDL interfaces that do not have any dependency to modules/ (partial
# interfaces, mixins, partial mixins).
core_interface_idl_files_core_only =
    get_path_info([
                    "animation/animation.idl",
                    "animation/animation_effect.idl",
                    "animation/animation_timeline.idl",
                    "animation/css/css_animation.idl",
                    "animation/css/css_transition.idl",
                    "animation/document_timeline.idl",
                    "animation/keyframe_effect.idl",
                    "animation/scroll_timeline.idl",
                    "aom/accessible_node.idl",
                    "aom/accessible_node_list.idl",
                    "aom/computed_accessible_node.idl",
                    "clipboard/data_transfer.idl",
                    "clipboard/data_transfer_item_list.idl",
                    "css/css_condition_rule.idl",
                    "css/css_font_face_rule.idl",
                    "css/css_grouping_rule.idl",
                    "css/css_import_rule.idl",
                    "css/css_keyframe_rule.idl",
                    "css/css_keyframes_rule.idl",
                    "css/css_media_rule.idl",
                    "css/css_namespace_rule.idl",
                    "css/css_page_rule.idl",
                    "css/css_property_rule.idl",
                    "css/css_rule.idl",
                    "css/css_rule_list.idl",
                    "css/css_scroll_timeline_rule.idl",
                    "css/css_style_declaration.idl",
                    "css/css_style_rule.idl",
                    "css/css_style_sheet.idl",
                    "css/css_supports_rule.idl",
                    "css/cssom/css_image_value.idl",
                    "css/cssom/css_keyword_value.idl",
                    "css/cssom/css_math_invert.idl",
                    "css/cssom/css_math_max.idl",
                    "css/cssom/css_math_min.idl",
                    "css/cssom/css_math_negate.idl",
                    "css/cssom/css_math_product.idl",
                    "css/cssom/css_math_sum.idl",
                    "css/cssom/css_math_value.idl",
                    "css/cssom/css_matrix_component.idl",
                    "css/cssom/css_numeric_array.idl",
                    "css/cssom/css_numeric_value.idl",
                    "css/cssom/css_perspective.idl",
                    "css/cssom/css_position_value.idl",
                    "css/cssom/css_rotate.idl",
                    "css/cssom/css_scale.idl",
                    "css/cssom/css_skew.idl",
                    "css/cssom/css_skew_x.idl",
                    "css/cssom/css_skew_y.idl",
                    "css/cssom/css_style_value.idl",
                    "css/cssom/css_transform_component.idl",
                    "css/cssom/css_transform_value.idl",
                    "css/cssom/css_translate.idl",
                    "css/cssom/css_unit_value.idl",
                    "css/cssom/css_unparsed_value.idl",
                    "css/cssom/css_variable_reference_value.idl",
                    "css/cssom/style_property_map.idl",
                    "css/cssom/style_property_map_read_only.idl",
                    "css/font_face.idl",
                    "css/font_face_set.idl",
                    "css/font_face_set_load_event.idl",
                    "css/media_list.idl",
                    "css/media_query_list.idl",
                    "css/media_query_list_event.idl",
                    "css/style_media.idl",
                    "css/style_sheet.idl",
                    "css/style_sheet_list.idl",
                    "dom/abort_controller.idl",
                    "dom/abort_signal.idl",
                    "dom/attr.idl",
                    "dom/cdata_section.idl",
                    "dom/character_data.idl",
                    "dom/comment.idl",
                    "dom/document_fragment.idl",
                    "dom/document_type.idl",
                    "dom/dom_exception.idl",
                    "dom/dom_implementation.idl",
                    "dom/dom_string_list.idl",
                    "dom/dom_string_map.idl",
                    "dom/dom_token_list.idl",
                    "dom/events/custom_event.idl",
                    "dom/events/event.idl",
                    "dom/events/event_target.idl",
                    "dom/idle_deadline.idl",
                    "dom/iterator.idl",
                    "dom/mutation_observer.idl",
                    "dom/mutation_record.idl",
                    "dom/named_node_map.idl",
                    "dom/node.idl",
                    "dom/node_iterator.idl",
                    "dom/node_list.idl",
                    "dom/processing_instruction.idl",
                    "dom/range.idl",
                    "dom/static_range.idl",
                    "dom/text.idl",
                    "dom/tree_walker.idl",
                    "dom/xml_document.idl",
                    "editing/ime/edit_context.idl",
                    "editing/ime/text_format_update_event.idl",
                    "editing/ime/text_update_event.idl",
                    "editing/selection.idl",
                    "events/animation_event.idl",
                    "events/animation_playback_event.idl",
                    "events/application_cache_error_event.idl",
                    "events/before_create_policy_event.idl",
                    "events/before_unload_event.idl",
                    "events/clipboard_event.idl",
                    "events/composition_event.idl",
                    "events/drag_event.idl",
                    "events/error_event.idl",
                    "events/focus_event.idl",
                    "events/hash_change_event.idl",
                    "events/input_event.idl",
                    "events/keyboard_event.idl",
                    "events/message_event.idl",
                    "events/mouse_event.idl",
                    "events/mutation_event.idl",
                    "events/overscroll_event.idl",
                    "events/page_transition_event.idl",
                    "events/pointer_event.idl",
                    "events/pop_state_event.idl",
                    "events/progress_event.idl",
                    "events/promise_rejection_event.idl",
                    "events/resource_progress_event.idl",
                    "events/security_policy_violation_event.idl",
                    "events/text_event.idl",
                    "events/touch_event.idl",
                    "events/transition_event.idl",
                    "events/ui_event.idl",
                    "events/wheel_event.idl",
                    "feature_policy/feature_policy.idl",
                    "fetch/headers.idl",
                    "fetch/request.idl",
                    "fetch/response.idl",
                    "fileapi/blob.idl",
                    "fileapi/file.idl",
                    "fileapi/file_list.idl",
                    "fileapi/file_reader.idl",
                    "fileapi/file_reader_sync.idl",
                    "frame/bar_prop.idl",
                    "frame/coop_access_violation_report_body.idl",
                    "frame/csp/csp_violation_report_body.idl",
                    "frame/deprecation_report_body.idl",
                    "frame/document_policy_violation_report_body.idl",
                    "frame/external.idl",
                    "frame/feature_policy_violation_report_body.idl",
                    "frame/fragment_directive.idl",
                    "frame/history.idl",
                    "frame/intervention_report_body.idl",
                    "frame/location.idl",
                    "frame/navigator_ua_data.idl",
                    "frame/report.idl",
                    "frame/report_body.idl",
                    "frame/reporting_observer.idl",
                    "frame/scheduling.idl",
                    "frame/test_report_body.idl",
                    "frame/user_activation.idl",
                    "frame/visual_viewport.idl",
                    "geometry/dom_matrix.idl",
                    "geometry/dom_matrix_read_only.idl",
                    "geometry/dom_point.idl",
                    "geometry/dom_point_read_only.idl",
                    "geometry/dom_quad.idl",
                    "geometry/dom_rect.idl",
                    "geometry/dom_rect_list.idl",
                    "geometry/dom_rect_read_only.idl",
                    "html/canvas/image_data.idl",
                    "html/canvas/text_metrics.idl",
                    "html/custom/custom_element_registry.idl",
                    "html/custom/element_internals.idl",
                    "html/forms/form_data.idl",
                    "html/forms/form_data_event.idl",
                    "html/forms/html_button_element.idl",
                    "html/forms/html_data_list_element.idl",
                    "html/forms/html_field_set_element.idl",
                    "html/forms/html_form_controls_collection.idl",
                    "html/forms/html_form_element.idl",
                    "html/forms/html_label_element.idl",
                    "html/forms/html_legend_element.idl",
                    "html/forms/html_opt_group_element.idl",
                    "html/forms/html_option_element.idl",
                    "html/forms/html_options_collection.idl",
                    "html/forms/html_output_element.idl",
                    "html/forms/html_select_element.idl",
                    "html/forms/html_text_area_element.idl",
                    "html/forms/radio_node_list.idl",
                    "html/forms/submit_event.idl",
                    "html/forms/validity_state.idl",
                    "html/html_all_collection.idl",
                    "html/html_anchor_element.idl",
                    "html/html_area_element.idl",
                    "html/html_base_element.idl",
                    "html/html_body_element.idl",
                    "html/html_br_element.idl",
                    "html/html_collection.idl",
                    "html/html_content_element.idl",
                    "html/html_data_element.idl",
                    "html/html_details_element.idl",
                    "html/html_dialog_element.idl",
                    "html/html_directory_element.idl",
                    "html/html_div_element.idl",
                    "html/html_dlist_element.idl",
                    "html/html_document.idl",
                    "html/html_embed_element.idl",
                    "html/html_font_element.idl",
                    "html/html_frame_element.idl",
                    "html/html_frame_set_element.idl",
                    "html/html_head_element.idl",
                    "html/html_heading_element.idl",
                    "html/html_hr_element.idl",
                    "html/html_html_element.idl",
                    "html/html_image_element.idl",
                    "html/html_li_element.idl",
                    "html/html_link_element.idl",
                    "html/html_map_element.idl",
                    "html/html_marquee_element.idl",
                    "html/html_menu_element.idl",
                    "html/html_meta_element.idl",
                    "html/html_meter_element.idl",
                    "html/html_mod_element.idl",
                    "html/html_object_element.idl",
                    "html/html_olist_element.idl",
                    "html/html_paragraph_element.idl",
                    "html/html_param_element.idl",
                    "html/html_picture_element.idl",
                    "html/html_pre_element.idl",
                    "html/html_progress_element.idl",
                    "html/html_quote_element.idl",
                    "html/html_script_element.idl",
                    "html/html_shadow_element.idl",
                    "html/html_slot_element.idl",
                    "html/html_source_element.idl",
                    "html/html_span_element.idl",
                    "html/html_style_element.idl",
                    "html/html_table_caption_element.idl",
                    "html/html_table_cell_element.idl",
                    "html/html_table_col_element.idl",
                    "html/html_table_element.idl",
                    "html/html_table_row_element.idl",
                    "html/html_table_section_element.idl",
                    "html/html_template_element.idl",
                    "html/html_time_element.idl",
                    "html/html_title_element.idl",
                    "html/html_ulist_element.idl",
                    "html/html_unknown_element.idl",
                    "html/media/html_audio_element.idl",
                    "html/media/media_error.idl",
                    "html/portal/html_portal_element.idl",
                    "html/portal/portal_activate_event.idl",
                    "html/portal/portal_host.idl",
                    "html/time_ranges.idl",
                    "html/track/audio_track_list.idl",
                    "html/track/html_track_element.idl",
                    "html/track/text_track.idl",
                    "html/track/text_track_cue.idl",
                    "html/track/text_track_cue_list.idl",
                    "html/track/text_track_list.idl",
                    "html/track/track_event.idl",
                    "html/track/video_track_list.idl",
                    "html/track/vtt/vtt_cue.idl",
                    "html/track/vtt/vtt_region.idl",
                    "imagebitmap/image_bitmap.idl",
                    "input/input_device_capabilities.idl",
                    "input/touch.idl",
                    "input/touch_list.idl",
                    "inspector/inspector_overlay_host.idl",
                    "intersection_observer/intersection_observer.idl",
                    "intersection_observer/intersection_observer_entry.idl",
                    "layout/ng/custom/intrinsic_sizes.idl",
                    "layout/ng/custom/layout_child.idl",
                    "layout/ng/custom/layout_constraints.idl",
                    "layout/ng/custom/layout_edges.idl",
                    "layout/ng/custom/layout_fragment.idl",
                    "layout/ng/custom/layout_worklet_global_scope.idl",
                    "loader/appcache/application_cache.idl",
                    "mathml/mathml_element.idl",
                    "messaging/message_channel.idl",
                    "messaging/message_port.idl",
                    "mojo/mojo.idl",
                    "mojo/mojo_handle.idl",
                    "mojo/mojo_watcher.idl",
                    "mojo/test/mojo_interface_interceptor.idl",
                    "mojo/test/mojo_interface_request_event.idl",
                    "page/color_page_popup_controller.idl",
                    "page/page_popup_controller.idl",
                    "page/scrolling/scroll_state.idl",
                    "resize_observer/resize_observer.idl",
                    "resize_observer/resize_observer_entry.idl",
                    "resize_observer/resize_observer_size.idl",
                    "streams/byte_length_queuing_strategy.idl",
                    "streams/count_queuing_strategy.idl",
                    "streams/readable_stream.idl",
                    "streams/readable_stream_default_controller.idl",
                    "streams/readable_stream_default_reader.idl",
                    "streams/transform_stream.idl",
                    "streams/transform_stream_default_controller.idl",
                    "streams/underlying_sink_base.idl",
                    "streams/underlying_source_base.idl",
                    "streams/writable_stream.idl",
                    "streams/writable_stream_default_controller.idl",
                    "streams/writable_stream_default_writer.idl",
                    "svg/svg_a_element.idl",
                    "svg/svg_angle.idl",
                    "svg/svg_animate_element.idl",
                    "svg/svg_animate_motion_element.idl",
                    "svg/svg_animate_transform_element.idl",
                    "svg/svg_animated_angle.idl",
                    "svg/svg_animated_boolean.idl",
                    "svg/svg_animated_enumeration.idl",
                    "svg/svg_animated_integer.idl",
                    "svg/svg_animated_length.idl",
                    "svg/svg_animated_length_list.idl",
                    "svg/svg_animated_number.idl",
                    "svg/svg_animated_number_list.idl",
                    "svg/svg_animated_preserve_aspect_ratio.idl",
                    "svg/svg_animated_rect.idl",
                    "svg/svg_animated_string.idl",
                    "svg/svg_animated_transform_list.idl",
                    "svg/svg_animation_element.idl",
                    "svg/svg_circle_element.idl",
                    "svg/svg_clip_path_element.idl",
                    "svg/svg_component_transfer_function_element.idl",
                    "svg/svg_defs_element.idl",
                    "svg/svg_desc_element.idl",
                    "svg/svg_element.idl",
                    "svg/svg_ellipse_element.idl",
                    "svg/svg_fe_blend_element.idl",
                    "svg/svg_fe_color_matrix_element.idl",
                    "svg/svg_fe_component_transfer_element.idl",
                    "svg/svg_fe_composite_element.idl",
                    "svg/svg_fe_convolve_matrix_element.idl",
                    "svg/svg_fe_diffuse_lighting_element.idl",
                    "svg/svg_fe_displacement_map_element.idl",
                    "svg/svg_fe_distant_light_element.idl",
                    "svg/svg_fe_drop_shadow_element.idl",
                    "svg/svg_fe_flood_element.idl",
                    "svg/svg_fe_func_a_element.idl",
                    "svg/svg_fe_func_b_element.idl",
                    "svg/svg_fe_func_g_element.idl",
                    "svg/svg_fe_func_r_element.idl",
                    "svg/svg_fe_gaussian_blur_element.idl",
                    "svg/svg_fe_image_element.idl",
                    "svg/svg_fe_merge_element.idl",
                    "svg/svg_fe_merge_node_element.idl",
                    "svg/svg_fe_morphology_element.idl",
                    "svg/svg_fe_offset_element.idl",
                    "svg/svg_fe_point_light_element.idl",
                    "svg/svg_fe_specular_lighting_element.idl",
                    "svg/svg_fe_spot_light_element.idl",
                    "svg/svg_fe_tile_element.idl",
                    "svg/svg_fe_turbulence_element.idl",
                    "svg/svg_filter_element.idl",
                    "svg/svg_foreign_object_element.idl",
                    "svg/svg_g_element.idl",
                    "svg/svg_geometry_element.idl",
                    "svg/svg_gradient_element.idl",
                    "svg/svg_graphics_element.idl",
                    "svg/svg_image_element.idl",
                    "svg/svg_length.idl",
                    "svg/svg_length_list.idl",
                    "svg/svg_line_element.idl",
                    "svg/svg_linear_gradient_element.idl",
                    "svg/svg_marker_element.idl",
                    "svg/svg_mask_element.idl",
                    "svg/svg_matrix.idl",
                    "svg/svg_metadata_element.idl",
                    "svg/svg_mpath_element.idl",
                    "svg/svg_number.idl",
                    "svg/svg_number_list.idl",
                    "svg/svg_path_element.idl",
                    "svg/svg_pattern_element.idl",
                    "svg/svg_point.idl",
                    "svg/svg_point_list.idl",
                    "svg/svg_polygon_element.idl",
                    "svg/svg_polyline_element.idl",
                    "svg/svg_preserve_aspect_ratio.idl",
                    "svg/svg_radial_gradient_element.idl",
                    "svg/svg_rect.idl",
                    "svg/svg_rect_element.idl",
                    "svg/svg_script_element.idl",
                    "svg/svg_set_element.idl",
                    "svg/svg_stop_element.idl",
                    "svg/svg_string_list.idl",
                    "svg/svg_style_element.idl",
                    "svg/svg_svg_element.idl",
                    "svg/svg_switch_element.idl",
                    "svg/svg_symbol_element.idl",
                    "svg/svg_text_content_element.idl",
                    "svg/svg_text_element.idl",
                    "svg/svg_text_path_element.idl",
                    "svg/svg_text_positioning_element.idl",
                    "svg/svg_title_element.idl",
                    "svg/svg_transform.idl",
                    "svg/svg_transform_list.idl",
                    "svg/svg_tspan_element.idl",
                    "svg/svg_unit_types.idl",
                    "svg/svg_use_element.idl",
                    "svg/svg_view_element.idl",
                    "timing/event_counts.idl",
                    "timing/largest_contentful_paint.idl",
                    "timing/layout_shift.idl",
                    "timing/layout_shift_attribution.idl",
                    "timing/memory_info.idl",
                    "timing/performance.idl",
                    "timing/performance_element_timing.idl",
                    "timing/performance_entry.idl",
                    "timing/performance_event_timing.idl",
                    "timing/performance_long_task_timing.idl",
                    "timing/performance_mark.idl",
                    "timing/performance_measure.idl",
                    "timing/performance_navigation.idl",
                    "timing/performance_navigation_timing.idl",
                    "timing/performance_observer.idl",
                    "timing/performance_observer_entry_list.idl",
                    "timing/performance_paint_timing.idl",
                    "timing/performance_resource_timing.idl",
                    "timing/performance_server_timing.idl",
                    "timing/performance_timing.idl",
                    "timing/profiler.idl",
                    "timing/task_attribution_timing.idl",
                    "timing/visibility_state_entry.idl",
                    "trustedtypes/trusted_html.idl",
                    "trustedtypes/trusted_script.idl",
                    "trustedtypes/trusted_script_url.idl",
                    "trustedtypes/trusted_type_policy.idl",
                    "trustedtypes/trusted_type_policy_factory.idl",
                    "url/url_search_params.idl",
                    "workers/shared_worker.idl",
                    "workers/worker.idl",
                    "workers/worker_location.idl",
                    "workers/worklet.idl",
                    "workers/worklet_global_scope.idl",
                    "xml/dom_parser.idl",
                    "xml/xml_serializer.idl",
                    "xml/xpath_evaluator.idl",
                    "xml/xpath_expression.idl",
                    "xml/xpath_ns_resolver.idl",
                    "xml/xpath_result.idl",
                    "xml/xslt_processor.idl",
                    "xmlhttprequest/xml_http_request.idl",
                    "xmlhttprequest/xml_http_request_event_target.idl",
                    "xmlhttprequest/xml_http_request_upload.idl",
                  ],
                  "abspath")

# IDL interfaces that depend on partial definitions in modules/ (partial
# interfaces, mixins, partial mixins).
core_interface_idl_files_modules_dependent =
    get_path_info([
                    "clipboard/data_transfer_item.idl",
                    "css/css.idl",
                    "dom/document.idl",
                    "dom/element.idl",
                    "dom/shadow_root.idl",
                    "frame/navigator.idl",
                    "frame/screen.idl",
                    "frame/window.idl",
                    "html/canvas/html_canvas_element.idl",
                    "html/forms/html_input_element.idl",
                    "html/html_element.idl",
                    "html/html_iframe_element.idl",
                    "html/media/html_media_element.idl",
                    "html/media/html_video_element.idl",
                    "html/track/audio_track.idl",
                    "html/track/video_track.idl",
                    "inspector/dev_tools_host.idl",
                    "offscreencanvas/offscreen_canvas.idl",
                    "url/url.idl",
                    "workers/dedicated_worker_global_scope.idl",
                    "workers/shared_worker_global_scope.idl",
                    "workers/worker_global_scope.idl",
                    "workers/worker_navigator.idl",
                  ],
                  "abspath")

# IDL partial definitions (partial interfaces, mixins, partial mixins).
core_partial_definition_idl_files =
    get_path_info([
                    "animation/animatable.idl",
                    "animation/document_animation.idl",
                    "css/cssom/css_unit_values.idl",
                    "css/cssom/element_computed_style_map.idl",
                    "css/font_face_source.idl",
                    "css/property_registration.idl",
                    "dom/accessibility_role.idl",
                    "dom/aria_attributes.idl",
                    "dom/aria_relationship_attributes.idl",
                    "dom/child_node.idl",
                    "dom/document_and_element_event_handlers.idl",
                    "dom/document_or_shadow_root.idl",
                    "dom/global_event_handlers.idl",
                    "dom/non_document_type_child_node.idl",
                    "dom/non_element_parent_node.idl",
                    "dom/parent_node.idl",
                    "events/navigator_events.idl",
                    "fetch/body.idl",
                    "fetch/window_fetch.idl",
                    "fetch/worker_fetch.idl",
                    "fileapi/url_file_api.idl",
                    "frame/navigator_automation_information.idl",
                    "frame/navigator_concurrent_hardware.idl",
                    "frame/navigator_cookies.idl",
                    "frame/navigator_device_memory.idl",
                    "frame/navigator_id.idl",
                    "frame/navigator_language.idl",
                    "frame/navigator_on_line.idl",
                    "frame/navigator_scheduling.idl",
                    "frame/navigator_ua.idl",
                    "frame/navigator_user_activation.idl",
                    "frame/window_event_handlers.idl",
                    "frame/window_or_worker_global_scope.idl",
                    "fullscreen/document_fullscreen.idl",
                    "fullscreen/element_fullscreen.idl",
                    "html/html_hyperlink_element_utils.idl",
                    "html/html_or_foreign_element.idl",
                    "html/portal/window_portal_host.idl",
                    "layout/ng/custom/css_layout_worklet.idl",
                    "svg/svg_document.idl",
                    "svg/svg_filter_primitive_standard_attributes.idl",
                    "svg/svg_fit_to_view_box.idl",
                    "svg/svg_tests.idl",
                    "svg/svg_uri_reference.idl",
                    "svg/svg_zoom_and_pan.idl",
                    "timing/window_performance.idl",
                    "timing/worker_global_scope_performance.idl",
                    "workers/abstract_worker.idl",
                    "xml/document_xpath_evaluator.idl",
                  ],
                  "abspath")

core_buffer_source_type_idl_files =
    get_path_info([
                    "typed_arrays/array_buffer.idl",
                    "typed_arrays/array_buffer_view.idl",
                    "typed_arrays/big_int_64_array.idl",
                    "typed_arrays/big_uint_64_array.idl",
                    "typed_arrays/data_view.idl",
                    "typed_arrays/float32_array.idl",
                    "typed_arrays/float64_array.idl",
                    "typed_arrays/int16_array.idl",
                    "typed_arrays/int32_array.idl",
                    "typed_arrays/int8_array.idl",
                    "typed_arrays/shared_array_buffer.idl",
                    "typed_arrays/uint16_array.idl",
                    "typed_arrays/uint32_array.idl",
                    "typed_arrays/uint8_array.idl",
                    "typed_arrays/uint8_clamped_array.idl",
                  ],
                  "abspath")

# IDL files that only have typedefs/enums.
core_typedefs_enums_only_idl_files =
    get_path_info([
                    "css/cssom_string.idl",
                    "dom/common_definitions.idl",
                    "timing/dom_high_res_time_stamp.idl",
                    "timing/performance_entry_list.idl",
                  ],
                  "abspath")

core_callback_function_idl_files =
    get_path_info([
                    "html/event_handler.idl",
                    "dom/frame_request_callback.idl",
                    "dom/function_string_callback.idl",
                    "dom/idle_request_callback.idl",
                    "dom/void_function.idl",
                  ],
                  "abspath")

core_callback_interface_idl_files =
    get_path_info([
                    "dom/events/event_listener.idl",
                    "dom/node_filter.idl",
                    "html/void_callback.idl",
                  ],
                  "abspath")

core_dictionary_idl_files =
    get_path_info([
                    "animation/base_keyframe.idl",
                    "animation/base_property_indexed_keyframe.idl",
                    "animation/computed_effect_timing.idl",
                    "animation/document_timeline_options.idl",
                    "animation/effect_timing.idl",
                    "animation/get_animations_options.idl",
                    "animation/keyframe_animation_options.idl",
                    "animation/keyframe_effect_options.idl",
                    "animation/optional_effect_timing.idl",
                    "animation/scroll_timeline_element_based_offset.idl",
                    "animation/scroll_timeline_options.idl",
                    "css/css_style_sheet_init.idl",
                    "css/font_face_descriptors.idl",
                    "css/font_face_set_load_event_init.idl",
                    "css/media_query_list_event_init.idl",
                    "css/property_definition.idl",
                    "css/cssom/css_matrix_component_options.idl",
                    "css/cssom/css_numeric_type.idl",
                    "dom/element_creation_options.idl",
                    "dom/element_definition_options.idl",
                    "dom/element_registration_options.idl",
                    "dom/get_inner_html_options.idl",
                    "dom/get_root_node_options.idl",
                    "dom/idle_request_options.idl",
                    "dom/mutation_observer_init.idl",
                    "dom/pointer_lock_options.idl",
                    "dom/shadow_root_init.idl",
                    "dom/events/add_event_listener_options.idl",
                    "dom/events/custom_event_init.idl",
                    "dom/events/event_init.idl",
                    "dom/events/event_listener_options.idl",
                    "dom/events/event_modifier_init.idl",
                    "editing/ime/edit_context_init.idl",
                    "editing/ime/text_update_event_init.idl",
                    "editing/ime/text_format_update_event_init.idl",
                    "events/animation_event_init.idl",
                    "events/animation_playback_event_init.idl",
                    "events/application_cache_error_event_init.idl",
                    "events/clipboard_event_init.idl",
                    "events/composition_event_init.idl",
                    "events/drag_event_init.idl",
                    "events/error_event_init.idl",
                    "events/focus_event_init.idl",
                    "events/hash_change_event_init.idl",
                    "events/input_event_init.idl",
                    "events/keyboard_event_init.idl",
                    "events/message_event_init.idl",
                    "events/mouse_event_init.idl",
                    "events/overscroll_event_init.idl",
                    "events/page_transition_event_init.idl",
                    "events/pointer_event_init.idl",
                    "events/pop_state_event_init.idl",
                    "events/progress_event_init.idl",
                    "events/promise_rejection_event_init.idl",
                    "events/security_policy_violation_event_init.idl",
                    "events/touch_event_init.idl",
                    "events/transition_event_init.idl",
                    "events/ui_event_init.idl",
                    "events/wheel_event_init.idl",
                    "fetch/request_init.idl",
                    "fetch/response_init.idl",
                    "fetch/trust_token.idl",
                    "fileapi/blob_property_bag.idl",
                    "fileapi/file_property_bag.idl",
                    "frame/is_input_pending_options.idl",
                    "frame/navigator_ua_brand_version.idl",
                    "frame/reporting_observer_options.idl",
                    "frame/scroll_into_view_options.idl",
                    "frame/scroll_options.idl",
                    "frame/scroll_to_options.idl",
                    "frame/window_post_message_options.idl",
                    "fullscreen/fullscreen_options.idl",
                    "geometry/dom_matrix_2d_init.idl",
                    "geometry/dom_matrix_init.idl",
                    "geometry/dom_point_init.idl",
                    "geometry/dom_quad_init.idl",
                    "geometry/dom_rect_init.idl",
                    "html/focus_options.idl",
                    "html/assigned_nodes_options.idl",
                    "html/canvas/baselines.idl",
                    "html/canvas/image_data_color_settings.idl",
                    "html/canvas/image_encode_options.idl",
                    "html/custom/validity_state_flags.idl",
                    "html/forms/form_data_event_init.idl",
                    "html/forms/submit_event_init.idl",
                    "html/portal/portal_activate_event_init.idl",
                    "html/portal/portal_activate_options.idl",
                    "html/track/track_event_init.idl",
                    "imagebitmap/image_bitmap_options.idl",
                    "input/input_device_capabilities_init.idl",
                    "input/touch_init.idl",
                    "intersection_observer/intersection_observer_init.idl",
                    "frame/ua_data_values.idl",
                    "layout/ng/custom/custom_layout_constraints_options.idl",
                    "layout/ng/custom/fragment_result_options.idl",
                    "layout/ng/custom/intrinsic_sizes_result_options.idl",
                    "messaging/post_message_options.idl",
                    "mojo/mojo_create_data_pipe_options.idl",
                    "mojo/mojo_create_data_pipe_result.idl",
                    "mojo/mojo_create_message_pipe_result.idl",
                    "mojo/mojo_create_shared_buffer_result.idl",
                    "mojo/mojo_discard_data_options.idl",
                    "mojo/mojo_duplicate_buffer_handle_options.idl",
                    "mojo/mojo_handle_signals.idl",
                    "mojo/mojo_map_buffer_result.idl",
                    "mojo/mojo_read_data_options.idl",
                    "mojo/mojo_read_data_result.idl",
                    "mojo/mojo_read_message_flags.idl",
                    "mojo/mojo_read_message_result.idl",
                    "mojo/mojo_write_data_options.idl",
                    "mojo/mojo_write_data_result.idl",
                    "mojo/test/mojo_interface_request_event_init.idl",
                    "page/scrolling/scroll_state_init.idl",
                    "resize_observer/resize_observer_options.idl",
                    "streams/queuing_strategy_init.idl",
                    "timing/measure_memory/measure_memory.idl",
                    "timing/measure_memory/measure_memory_breakdown.idl",
                    "timing/performance_mark_options.idl",
                    "timing/performance_measure_options.idl",
                    "timing/performance_observer_init.idl",
                    "timing/profiler_frame.idl",
                    "timing/profiler_init_options.idl",
                    "timing/profiler_sample.idl",
                    "timing/profiler_stack.idl",
                    "timing/profiler_trace.idl",
                    "trustedtypes/trusted_type_policy_options.idl",
                    "workers/worker_options.idl",
                    "workers/worklet_options.idl",
                  ],
                  "abspath")

core_testing_dictionary_idl_files =
    get_path_info([
                    "testing/internal_dictionary.idl",
                    "testing/internal_dictionary_derived.idl",
                    "testing/internal_dictionary_derived_derived.idl",
                    "testing/origin_trials_test_dictionary.idl",
                  ],
                  "abspath")

webcore_testing_idl_files =
    get_path_info([
                    "testing/callback_function_test.idl",
                    "testing/death_aware_script_wrappable.idl",
                    "testing/dictionary_test.idl",
                    "testing/garbage_collected_script_wrappable.idl",
                    "testing/gc_observation.idl",
                    "testing/hit_test_layer_rect.idl",
                    "testing/hit_test_layer_rect_list.idl",
                    "testing/internal_settings.idl",
                    "testing/origin_trials_test.idl",
                    "testing/record_test.idl",
                    "testing/sequence_test.idl",
                    "testing/static_selection.idl",
                    "testing/type_conversions.idl",
                    "testing/union_types_test.idl",
                    "testing/worker_internals.idl",
                  ],
                  "abspath")

# Testing IDL files that have partial interfaces in modules.
webcore_testing_idl_with_modules_dependency_files =
    get_path_info([ "testing/internals.idl" ], "abspath")

webcore_testing_dependency_idl_files =
    get_path_info([
                    "dom/testing/internals_storage_access.idl",
                    "fetch/testing/internals_fetch.idl",
                    "fetch/testing/worker_internals_fetch.idl",
                    "testing/origin_trials_test_partial.idl",
                    "timing/internals_profiler.idl",
                  ],
                  "abspath")

generated_webcore_testing_idl_files =
    get_path_info(
        [
          "$blink_core_output_dir/testing/internal_runtime_flags.idl",
          "$blink_core_output_dir/testing/internal_settings_generated.idl",
        ],
        "abspath")

core_definition_idl_files =
    core_interface_idl_files_core_only +
    core_interface_idl_files_modules_dependent +
    core_buffer_source_type_idl_files + core_callback_interface_idl_files +
    core_dictionary_idl_files

core_testing_definition_idl_files =
    core_testing_dictionary_idl_files + webcore_testing_idl_files +
    webcore_testing_idl_with_modules_dependency_files

# Static IDL files
core_static_interface_idl_files =
    core_definition_idl_files + core_testing_definition_idl_files +
    core_callback_function_idl_files + core_typedefs_enums_only_idl_files

core_static_dependency_idl_files =
    core_partial_definition_idl_files + webcore_testing_dependency_idl_files

# Generated IDL files
core_generated_interface_idl_files =
    generated_webcore_testing_idl_files  # interfaces
core_generated_dependency_idl_files =
    core_global_constructors_generated_idl_files  # partial interfaces

# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
# 'core_dependency_idl_files' is already used in Source/core, so avoid
# collision
core_all_dependency_idl_files =
    core_static_dependency_idl_files + core_generated_dependency_idl_files