summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/bindings/modules/BUILD.gn
blob: d0ff4117cff3080bcbe079531a64e17b2817f4ef (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
# Copyright 2014 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/scripts/scripts.gni")
import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/modules/modules.gni")

group("bindings_modules_generated") {
  visibility = [ "//third_party/blink/*" ]
  public_deps = [
    ":event_modules",
    ":event_modules_names",
    ":event_target_modules_names",
    ":modules_bindings_generated_event_interfaces",
  ]
}

generate_event_interfaces("modules_bindings_generated_event_interfaces") {
  sources = [
    "//third_party/blink/renderer/modules/app_banner/before_install_prompt_event.idl",
    "//third_party/blink/renderer/modules/background_fetch/background_fetch_event.idl",
    "//third_party/blink/renderer/modules/background_fetch/background_fetch_update_ui_event.idl",
    "//third_party/blink/renderer/modules/background_sync/periodic_sync_event.idl",
    "//third_party/blink/renderer/modules/background_sync/sync_event.idl",
    "//third_party/blink/renderer/modules/content_index/content_index_event.idl",
    "//third_party/blink/renderer/modules/cookie_store/cookie_change_event.idl",
    "//third_party/blink/renderer/modules/cookie_store/extendable_cookie_change_event.idl",
    "//third_party/blink/renderer/modules/device_orientation/device_motion_event.idl",
    "//third_party/blink/renderer/modules/device_orientation/device_orientation_event.idl",
    "//third_party/blink/renderer/modules/encryptedmedia/media_encrypted_event.idl",
    "//third_party/blink/renderer/modules/encryptedmedia/media_key_message_event.idl",
    "//third_party/blink/renderer/modules/gamepad/gamepad_axis_event.idl",
    "//third_party/blink/renderer/modules/gamepad/gamepad_button_event.idl",
    "//third_party/blink/renderer/modules/gamepad/gamepad_event.idl",
    "//third_party/blink/renderer/modules/hid/hid_connection_event.idl",
    "//third_party/blink/renderer/modules/hid/hid_input_report_event.idl",
    "//third_party/blink/renderer/modules/indexeddb/idb_version_change_event.idl",
    "//third_party/blink/renderer/modules/mediarecorder/blob_event.idl",
    "//third_party/blink/renderer/modules/mediastream/media_stream_event.idl",
    "//third_party/blink/renderer/modules/mediastream/media_stream_track_event.idl",
    "//third_party/blink/renderer/modules/nfc/ndef_error_event.idl",
    "//third_party/blink/renderer/modules/nfc/ndef_reading_event.idl",
    "//third_party/blink/renderer/modules/notifications/notification_event.idl",
    "//third_party/blink/renderer/modules/payments/abort_payment_event.idl",
    "//third_party/blink/renderer/modules/payments/can_make_payment_event.idl",
    "//third_party/blink/renderer/modules/payments/merchant_validation_event.idl",
    "//third_party/blink/renderer/modules/payments/payment_method_change_event.idl",
    "//third_party/blink/renderer/modules/payments/payment_request_details_update.idl",
    "//third_party/blink/renderer/modules/payments/payment_request_event.idl",
    "//third_party/blink/renderer/modules/payments/payment_request_update_event.idl",
    "//third_party/blink/renderer/modules/peerconnection/rtc_data_channel_event.idl",
    "//third_party/blink/renderer/modules/peerconnection/rtc_dtmf_tone_change_event.idl",
    "//third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_ice_error_event.idl",
    "//third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_ice_event.idl",
    "//third_party/blink/renderer/modules/peerconnection/rtc_quic_stream_event.idl",
    "//third_party/blink/renderer/modules/picture_in_picture/enter_picture_in_picture_event.idl",
    "//third_party/blink/renderer/modules/presentation/presentation_connection_available_event.idl",
    "//third_party/blink/renderer/modules/presentation/presentation_connection_close_event.idl",
    "//third_party/blink/renderer/modules/push_messaging/push_event.idl",
    "//third_party/blink/renderer/modules/sensor/sensor_error_event.idl",
    "//third_party/blink/renderer/modules/service_worker/extendable_event.idl",
    "//third_party/blink/renderer/modules/service_worker/extendable_message_event.idl",
    "//third_party/blink/renderer/modules/service_worker/fetch_event.idl",
    "//third_party/blink/renderer/modules/service_worker/install_event.idl",
    "//third_party/blink/renderer/modules/speech/speech_recognition_error_event.idl",
    "//third_party/blink/renderer/modules/speech/speech_recognition_event.idl",
    "//third_party/blink/renderer/modules/speech/speech_synthesis_error_event.idl",
    "//third_party/blink/renderer/modules/speech/speech_synthesis_event.idl",
    "//third_party/blink/renderer/modules/storage/storage_event.idl",
    "//third_party/blink/renderer/modules/webaudio/audio_processing_event.idl",
    "//third_party/blink/renderer/modules/webaudio/offline_audio_completion_event.idl",
    "//third_party/blink/renderer/modules/webgl/webgl_context_event.idl",
    "//third_party/blink/renderer/modules/webmidi/midi_connection_event.idl",
    "//third_party/blink/renderer/modules/webmidi/midi_message_event.idl",
    "//third_party/blink/renderer/modules/websockets/close_event.idl",
    "//third_party/blink/renderer/modules/xr/xr_input_source_event.idl",
    "//third_party/blink/renderer/modules/xr/xr_input_sources_change_event.idl",
    "//third_party/blink/renderer/modules/xr/xr_reference_space_event.idl",
    "//third_party/blink/renderer/modules/xr/xr_session_event.idl",
  ]

  output_file = "modules/event_interface_modules_names.json5"
  suffix = "Modules"
}

make_event_factory("event_modules") {
  visibility = [ ":*" ]
  in_files = [ "$blink_modules_output_dir/event_interface_modules_names.json5" ]
  outputs = [
    "$blink_modules_output_dir/event_modules_factory.cc",
  ]
  deps = make_core_generated_deps + [ "//third_party/blink/renderer/bindings/modules:modules_bindings_generated_event_interfaces" ]
}

make_names("event_modules_names") {
  visibility = [ ":*" ]
  in_files = [ "$blink_modules_output_dir/event_interface_modules_names.json5" ]
  output_dir = blink_modules_output_dir
  deps = make_core_generated_deps + [ "//third_party/blink/renderer/bindings/modules:modules_bindings_generated_event_interfaces" ]
}

make_names("event_target_modules_names") {
  visibility = [ ":*" ]
  in_files = [ "../../modules/event_target_modules_names.json5" ]
  output_dir = blink_modules_output_dir
}

# ------------------------------------------------------------------------------

compute_interfaces_info("interfaces_info_modules") {
  sources = modules_static_interface_idl_files + modules_definition_idl_files +
            modules_static_dependency_idl_files +
            modules_generated_dependency_idl_files

  interfaces_info_file =
      "$bindings_modules_output_dir/interfaces_info_modules.pickle"
  component_info_file =
      "$bindings_modules_output_dir/component_info_modules.pickle"
  deps = [
    ":modules_global_constructors_idls",
    "//third_party/blink/renderer/bindings:global_constructors_idls",
  ]
}

compute_global_objects("modules_global_objects") {
  sources = modules_idl_files
  sources_generated = [ "$bindings_core_output_dir/global_objects_core.pickle" ]
  output_file = "$bindings_modules_output_dir/global_objects_modules.pickle"
  deps = [
    "//third_party/blink/renderer/bindings/core:core_global_objects",
  ]
}

generate_global_constructors("modules_global_constructors_idls") {
  sources = modules_idl_files
  global_objects_file =
      "$bindings_modules_output_dir/global_objects_modules.pickle"
  interfaces = modules_global_constructors_original_interfaces
  basenames = modules_global_constructors_original_interface_basenames
  component = "modules"
  output_dir = blink_modules_output_dir
  deps = [
    ":modules_global_objects",
  ]
}

# Compile the sources produced above. This will get linked into "modules".
source_set("generated") {
  visibility = [ "//third_party/blink/renderer/modules:*" ]

  sources = get_target_outputs(":event_modules") +
            get_target_outputs(":event_modules_names") +
            get_target_outputs(":event_target_modules_names")

  configs += [
    "//third_party/blink/renderer:config",
    "//third_party/blink/renderer/modules:modules_implementation",
    "//third_party/blink/renderer:non_test_config",
    "//third_party/blink/renderer:inside_blink",
  ]

  deps = [
    ":event_modules",
    ":event_modules_names",
    ":event_target_modules_names",
    "//media/midi:mojo_blink_headers",
    "//third_party/blink/public/mojom:mojom_modules_blink_headers",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/platform/wtf",
    "//v8",
  ]
}