| # 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_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/picture_in_picture/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" ] |
| } |
| |
| if (use_blink_v8_binding_new_idl_interface) { |
| group("modules_global_constructors_idls") { |
| } |
| } else { |
| 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", |
| ] |
| } |