Commit 78555b55 authored by Yuki Shiino's avatar Yuki Shiino Committed by Commit Bot

bind-gen: Implement build support of IDL callbacks

Introduces build flags to build the new IDL callback function
and IDL callback interface bindings.

Bug: 839389
Change-Id: I8714d28f1948bdee37cbde0c327f1ad57d406d41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2418499Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarHitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#810095}
parent 3cbdbd5d
......@@ -202,6 +202,17 @@ generate_bindings("generate_bindings_all") {
outputs = generated_enumeration_sources_in_core +
generated_enumeration_sources_in_modules +
generated_enumeration_sources_for_testing_in_core
if (use_blink_v8_binding_new_idl_callback_function) {
targets += [ "callback_function" ]
outputs += generated_callback_function_sources_in_core +
generated_callback_function_sources_in_modules +
generated_callback_function_sources_for_testing_in_core
}
if (use_blink_v8_binding_new_idl_callback_interface) {
targets += [ "callback_interface" ]
outputs += generated_callback_interface_sources_in_core +
generated_callback_interface_sources_in_modules
}
if (use_blink_v8_binding_new_idl_dictionary) {
targets += [ "dictionary" ]
outputs += generated_dictionary_sources_in_core +
......
......@@ -17,6 +17,12 @@ blink_core_sources("v8") {
visibility = [ "//third_party/blink/renderer/core" ]
sources = generated_enumeration_sources_in_core
if (use_blink_v8_binding_new_idl_callback_function) {
sources += generated_callback_function_sources_in_core
}
if (use_blink_v8_binding_new_idl_callback_interface) {
sources += generated_callback_interface_sources_in_core
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_in_core
}
......@@ -43,12 +49,15 @@ source_set("testing") {
]
sources = generated_enumeration_sources_for_testing_in_core
if (use_blink_v8_binding_new_idl_interface) {
sources += generated_interface_sources_for_testing_in_core
if (use_blink_v8_binding_new_idl_callback_function) {
sources += generated_callback_function_sources_for_testing_in_core
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_for_testing_in_core
}
if (use_blink_v8_binding_new_idl_interface) {
sources += generated_interface_sources_for_testing_in_core
}
deps = [
":generated",
......@@ -101,6 +110,13 @@ group("bindings_core_v8_generated") {
idl_compiler("generate_bindings_core_v8_interfaces") {
sources = core_definition_idl_files + core_testing_definition_idl_files +
generated_webcore_testing_idl_files
if (use_blink_v8_binding_new_idl_callback_interface) {
sources -= core_callback_interface_idl_files
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources -= core_dictionary_idl_files
sources -= core_testing_dictionary_idl_files
}
if (use_blink_v8_binding_new_idl_interface) {
sources -=
core_interface_idl_files_core_only +
......@@ -108,10 +124,6 @@ idl_compiler("generate_bindings_core_v8_interfaces") {
webcore_testing_idl_with_modules_dependency_files +
generated_webcore_testing_idl_files
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources -= core_dictionary_idl_files
sources -= core_testing_dictionary_idl_files
}
output_dir = bindings_core_v8_output_dir
output_name_suffix = ""
target_component = "core"
......@@ -139,9 +151,11 @@ idl_impl("bindings_core_impl_generated") {
} else {
dict_idls = core_dictionary_idl_files + core_testing_dictionary_idl_files
}
non_dict_outputs = bindings_core_generated_union_type_files +
generated_core_testing_callback_function_files +
generated_core_callback_function_files
non_dict_outputs = bindings_core_generated_union_type_files
if (!use_blink_v8_binding_new_idl_callback_function) {
non_dict_outputs += generated_core_testing_callback_function_files +
generated_core_callback_function_files
}
non_dict_output_dir = bindings_core_v8_output_dir
target_component = "core"
}
......@@ -149,9 +163,11 @@ idl_impl("bindings_core_impl_generated") {
# Compile the non-test sources generated above.
blink_core_sources("bindings_core_impl") {
sources = get_target_outputs(":bindings_core_impl_generated") +
bindings_core_generated_interface_files -
generated_core_testing_callback_function_files
bindings_core_generated_interface_files
if (!use_blink_v8_binding_new_idl_callback_function) {
sources -= generated_core_testing_callback_function_files
}
if (!use_blink_v8_binding_new_idl_dictionary) {
sources -= generated_core_testing_dictionary_files
}
......@@ -173,7 +189,10 @@ blink_core_sources("bindings_core_impl") {
source_set("testing_internal") {
testonly = true
sources = generated_core_testing_callback_function_files
sources = []
if (!use_blink_v8_binding_new_idl_callback_function) {
sources += generated_core_testing_callback_function_files
}
if (!use_blink_v8_binding_new_idl_dictionary) {
sources += generated_core_testing_dictionary_files
}
......
......@@ -200,8 +200,10 @@ if (is_win && is_official_build) {
bindings_core_generated_interface_files =
[ "$bindings_core_v8_output_dir/v8_generated_core_bindings.cc" ]
} else {
_idl_files =
core_buffer_source_type_idl_files + core_callback_interface_idl_files
_idl_files = core_buffer_source_type_idl_files
if (!use_blink_v8_binding_new_idl_callback_interface) {
_idl_files += core_callback_interface_idl_files
}
if (!use_blink_v8_binding_new_idl_dictionary) {
_idl_files += core_dictionary_idl_files
}
......
......@@ -4,6 +4,72 @@
# Generated sources for production
generated_callback_function_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_blob_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_blob_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_html_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_html_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_script_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_script_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_url_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_create_url_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_adopted_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_adopted_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_attribute_changed_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_attribute_changed_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_constructor.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_constructor.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_associated_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_associated_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_disabled_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_disabled_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_state_restore_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_custom_element_form_state_restore_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_event_handler_non_null.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_event_handler_non_null.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_for_each_iterator_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_for_each_iterator_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_frame_request_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_frame_request_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_function.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_function.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_function_string_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_function_string_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_idle_request_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_idle_request_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intrinsic_sizes_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intrinsic_sizes_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_layout_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_layout_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_mojo_watch_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_mojo_watch_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_mutation_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_mutation_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_no_argument_constructor.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_no_argument_constructor.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_performance_observer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_performance_observer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_reporting_observer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_reporting_observer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_resize_observer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_resize_observer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_scroll_state_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_scroll_state_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_void_function.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_void_function.h",
]
generated_callback_interface_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_event_listener.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_event_listener.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_node_filter.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_node_filter.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_void_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_void_callback.h",
]
generated_dictionary_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_add_event_listener_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_add_event_listener_options.h",
......@@ -1329,6 +1395,19 @@ generated_interface_sources_in_core = [
# Generated sources for testing
generated_callback_function_sources_for_testing_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_enum_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_enum_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_interface_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_interface_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_receiver_object_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_receiver_object_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_sequence_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_test_sequence_callback.h",
]
generated_dictionary_sources_for_testing_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_internal_dictionary.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_internal_dictionary.h",
......
......@@ -6,6 +6,96 @@ import("//third_party/blink/renderer/config.gni")
# Generated sources for production
generated_callback_function_sources_in_modules = [
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_animate_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_animate_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_animator_constructor.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_animator_constructor.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_audio_frame_output_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_audio_frame_output_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_blink_audio_worklet_process_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_blink_audio_worklet_process_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_blink_audio_worklet_processor_constructor.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_blink_audio_worklet_processor_constructor.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_database_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_database_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_decode_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_decode_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_decode_success_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_decode_success_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_idb_observer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_idb_observer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_consumer.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_consumer.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_granted_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_granted_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_media_session_action_handler.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_media_session_action_handler.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_navigator_user_media_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_navigator_user_media_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_navigator_user_media_success_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_navigator_user_media_success_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_notification_permission_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_notification_permission_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_paint_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_paint_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_position_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_position_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_position_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_position_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_playback_availability_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_playback_availability_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_peer_connection_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_peer_connection_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_session_description_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_session_description_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_stats_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_stats_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_state_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_state_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_quota_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_quota_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_usage_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_usage_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_encoder_output_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_encoder_output_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_frame_output_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_frame_output_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_frame_request_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_video_frame_request_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_web_codecs_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_web_codecs_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_frame_request_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_frame_request_callback.h",
]
generated_callback_interface_sources_in_modules = [
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entries_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entries_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_system_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_system_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_writer_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_file_writer_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_metadata_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_metadata_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_statement_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_statement_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_statement_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_statement_error_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_transaction_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_transaction_callback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_transaction_error_callback.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sql_transaction_error_callback.h",
]
generated_dictionary_sources_in_modules = [
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_address_errors.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_address_errors.h",
......
......@@ -16,12 +16,18 @@ blink_modules_sources("v8") {
visibility = [ "//third_party/blink/renderer/modules" ]
sources = generated_enumeration_sources_in_modules
if (use_blink_v8_binding_new_idl_interface) {
sources += generated_interface_sources_in_modules
if (use_blink_v8_binding_new_idl_callback_function) {
sources += generated_callback_function_sources_in_modules
}
if (use_blink_v8_binding_new_idl_callback_interface) {
sources += generated_callback_interface_sources_in_modules
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_in_modules
}
if (use_blink_v8_binding_new_idl_interface) {
sources += generated_interface_sources_in_modules
}
deps = [
":generate_mojo_bindings",
......@@ -90,18 +96,25 @@ idl_compiler("generate_bindings_modules_v8_interfaces") {
# modules_non_callback_idl_files = interfaces only
set_sources_assignment_filter([ "*_callback.idl" ])
sources = modules_idl_files
modules_non_callback_idl_files = sources
modules_interface_idl_files = sources
if (use_blink_v8_binding_new_idl_callback_interface) {
modules_callback_interface_idl_files =
modules_idl_files - modules_interface_idl_files
}
set_sources_assignment_filter([])
sources = []
}
sources = modules_definition_idl_files
if (use_blink_v8_binding_new_idl_interface) {
sources -= modules_non_callback_idl_files
if (use_blink_v8_binding_new_idl_callback_interface) {
sources -= modules_callback_interface_idl_files
}
if (use_blink_v8_binding_new_idl_dictionary) {
sources -= modules_dictionary_idl_files
}
if (use_blink_v8_binding_new_idl_interface) {
sources -= modules_interface_idl_files
}
output_dir = bindings_modules_v8_output_dir
output_name_suffix = ""
target_component = "modules"
......@@ -113,8 +126,10 @@ idl_impl("bindings_modules_impl_generated") {
} else {
dict_idls = modules_dictionary_idl_files
}
non_dict_outputs = bindings_modules_generated_union_type_files +
generated_modules_callback_function_files
non_dict_outputs = bindings_modules_generated_union_type_files
if (!use_blink_v8_binding_new_idl_callback_function) {
non_dict_outputs += generated_modules_callback_function_files
}
non_dict_output_dir = bindings_modules_v8_output_dir
target_component = "modules"
}
......
......@@ -41,6 +41,14 @@ declare_args() {
# If true, webgl2-compute context will be supported.
support_webgl2_compute_context = !is_android
# If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL callback function) is used.
use_blink_v8_binding_new_idl_callback_function = false
# If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL callback interface) is used.
use_blink_v8_binding_new_idl_callback_interface = false
# If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL dictionary) is used.
use_blink_v8_binding_new_idl_dictionary = false
......@@ -70,6 +78,10 @@ if (use_webaudio_pffft) {
feature_defines_list += [ "WTF_USE_WEBAUDIO_PFFFT=1" ]
}
if (use_blink_v8_binding_new_idl_callback_function) {
feature_defines_list += [ "USE_BLINK_V8_BINDING_NEW_IDL_CALLBACK_FUNCTION" ]
}
if (use_blink_v8_binding_new_idl_dictionary) {
feature_defines_list += [ "USE_BLINK_V8_BINDING_NEW_IDL_DICTIONARY" ]
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment