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") { ...@@ -202,6 +202,17 @@ generate_bindings("generate_bindings_all") {
outputs = generated_enumeration_sources_in_core + outputs = generated_enumeration_sources_in_core +
generated_enumeration_sources_in_modules + generated_enumeration_sources_in_modules +
generated_enumeration_sources_for_testing_in_core 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) { if (use_blink_v8_binding_new_idl_dictionary) {
targets += [ "dictionary" ] targets += [ "dictionary" ]
outputs += generated_dictionary_sources_in_core + outputs += generated_dictionary_sources_in_core +
......
...@@ -17,6 +17,12 @@ blink_core_sources("v8") { ...@@ -17,6 +17,12 @@ blink_core_sources("v8") {
visibility = [ "//third_party/blink/renderer/core" ] visibility = [ "//third_party/blink/renderer/core" ]
sources = generated_enumeration_sources_in_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) { if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_in_core sources += generated_dictionary_sources_in_core
} }
...@@ -43,12 +49,15 @@ source_set("testing") { ...@@ -43,12 +49,15 @@ source_set("testing") {
] ]
sources = generated_enumeration_sources_for_testing_in_core sources = generated_enumeration_sources_for_testing_in_core
if (use_blink_v8_binding_new_idl_interface) { if (use_blink_v8_binding_new_idl_callback_function) {
sources += generated_interface_sources_for_testing_in_core sources += generated_callback_function_sources_for_testing_in_core
} }
if (use_blink_v8_binding_new_idl_dictionary) { if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_for_testing_in_core 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 = [ deps = [
":generated", ":generated",
...@@ -101,6 +110,13 @@ group("bindings_core_v8_generated") { ...@@ -101,6 +110,13 @@ group("bindings_core_v8_generated") {
idl_compiler("generate_bindings_core_v8_interfaces") { idl_compiler("generate_bindings_core_v8_interfaces") {
sources = core_definition_idl_files + core_testing_definition_idl_files + sources = core_definition_idl_files + core_testing_definition_idl_files +
generated_webcore_testing_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) { if (use_blink_v8_binding_new_idl_interface) {
sources -= sources -=
core_interface_idl_files_core_only + core_interface_idl_files_core_only +
...@@ -108,10 +124,6 @@ idl_compiler("generate_bindings_core_v8_interfaces") { ...@@ -108,10 +124,6 @@ idl_compiler("generate_bindings_core_v8_interfaces") {
webcore_testing_idl_with_modules_dependency_files + webcore_testing_idl_with_modules_dependency_files +
generated_webcore_testing_idl_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_dir = bindings_core_v8_output_dir
output_name_suffix = "" output_name_suffix = ""
target_component = "core" target_component = "core"
...@@ -139,9 +151,11 @@ idl_impl("bindings_core_impl_generated") { ...@@ -139,9 +151,11 @@ idl_impl("bindings_core_impl_generated") {
} else { } else {
dict_idls = core_dictionary_idl_files + core_testing_dictionary_idl_files dict_idls = core_dictionary_idl_files + core_testing_dictionary_idl_files
} }
non_dict_outputs = bindings_core_generated_union_type_files + non_dict_outputs = bindings_core_generated_union_type_files
generated_core_testing_callback_function_files + if (!use_blink_v8_binding_new_idl_callback_function) {
generated_core_callback_function_files non_dict_outputs += generated_core_testing_callback_function_files +
generated_core_callback_function_files
}
non_dict_output_dir = bindings_core_v8_output_dir non_dict_output_dir = bindings_core_v8_output_dir
target_component = "core" target_component = "core"
} }
...@@ -149,9 +163,11 @@ idl_impl("bindings_core_impl_generated") { ...@@ -149,9 +163,11 @@ idl_impl("bindings_core_impl_generated") {
# Compile the non-test sources generated above. # Compile the non-test sources generated above.
blink_core_sources("bindings_core_impl") { blink_core_sources("bindings_core_impl") {
sources = get_target_outputs(":bindings_core_impl_generated") + sources = get_target_outputs(":bindings_core_impl_generated") +
bindings_core_generated_interface_files - bindings_core_generated_interface_files
generated_core_testing_callback_function_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) { if (!use_blink_v8_binding_new_idl_dictionary) {
sources -= generated_core_testing_dictionary_files sources -= generated_core_testing_dictionary_files
} }
...@@ -173,7 +189,10 @@ blink_core_sources("bindings_core_impl") { ...@@ -173,7 +189,10 @@ blink_core_sources("bindings_core_impl") {
source_set("testing_internal") { source_set("testing_internal") {
testonly = true 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) { if (!use_blink_v8_binding_new_idl_dictionary) {
sources += generated_core_testing_dictionary_files sources += generated_core_testing_dictionary_files
} }
......
...@@ -200,8 +200,10 @@ if (is_win && is_official_build) { ...@@ -200,8 +200,10 @@ if (is_win && is_official_build) {
bindings_core_generated_interface_files = bindings_core_generated_interface_files =
[ "$bindings_core_v8_output_dir/v8_generated_core_bindings.cc" ] [ "$bindings_core_v8_output_dir/v8_generated_core_bindings.cc" ]
} else { } else {
_idl_files = _idl_files = core_buffer_source_type_idl_files
core_buffer_source_type_idl_files + core_callback_interface_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) { if (!use_blink_v8_binding_new_idl_dictionary) {
_idl_files += core_dictionary_idl_files _idl_files += core_dictionary_idl_files
} }
......
...@@ -4,6 +4,72 @@ ...@@ -4,6 +4,72 @@
# Generated sources for production # 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 = [ 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.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_add_event_listener_options.h", "$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 = [ ...@@ -1329,6 +1395,19 @@ generated_interface_sources_in_core = [
# Generated sources for testing # 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 = [ 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.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_internal_dictionary.h", "$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") ...@@ -6,6 +6,96 @@ import("//third_party/blink/renderer/config.gni")
# Generated sources for production # 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 = [ 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.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_address_errors.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_address_errors.h",
......
...@@ -16,12 +16,18 @@ blink_modules_sources("v8") { ...@@ -16,12 +16,18 @@ blink_modules_sources("v8") {
visibility = [ "//third_party/blink/renderer/modules" ] visibility = [ "//third_party/blink/renderer/modules" ]
sources = generated_enumeration_sources_in_modules sources = generated_enumeration_sources_in_modules
if (use_blink_v8_binding_new_idl_interface) { if (use_blink_v8_binding_new_idl_callback_function) {
sources += generated_interface_sources_in_modules 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) { if (use_blink_v8_binding_new_idl_dictionary) {
sources += generated_dictionary_sources_in_modules sources += generated_dictionary_sources_in_modules
} }
if (use_blink_v8_binding_new_idl_interface) {
sources += generated_interface_sources_in_modules
}
deps = [ deps = [
":generate_mojo_bindings", ":generate_mojo_bindings",
...@@ -90,18 +96,25 @@ idl_compiler("generate_bindings_modules_v8_interfaces") { ...@@ -90,18 +96,25 @@ idl_compiler("generate_bindings_modules_v8_interfaces") {
# modules_non_callback_idl_files = interfaces only # modules_non_callback_idl_files = interfaces only
set_sources_assignment_filter([ "*_callback.idl" ]) set_sources_assignment_filter([ "*_callback.idl" ])
sources = modules_idl_files 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([]) set_sources_assignment_filter([])
sources = [] sources = []
} }
sources = modules_definition_idl_files sources = modules_definition_idl_files
if (use_blink_v8_binding_new_idl_interface) { if (use_blink_v8_binding_new_idl_callback_interface) {
sources -= modules_non_callback_idl_files sources -= modules_callback_interface_idl_files
} }
if (use_blink_v8_binding_new_idl_dictionary) { if (use_blink_v8_binding_new_idl_dictionary) {
sources -= modules_dictionary_idl_files 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_dir = bindings_modules_v8_output_dir
output_name_suffix = "" output_name_suffix = ""
target_component = "modules" target_component = "modules"
...@@ -113,8 +126,10 @@ idl_impl("bindings_modules_impl_generated") { ...@@ -113,8 +126,10 @@ idl_impl("bindings_modules_impl_generated") {
} else { } else {
dict_idls = modules_dictionary_idl_files dict_idls = modules_dictionary_idl_files
} }
non_dict_outputs = bindings_modules_generated_union_type_files + non_dict_outputs = bindings_modules_generated_union_type_files
generated_modules_callback_function_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 non_dict_output_dir = bindings_modules_v8_output_dir
target_component = "modules" target_component = "modules"
} }
......
...@@ -41,6 +41,14 @@ declare_args() { ...@@ -41,6 +41,14 @@ declare_args() {
# If true, webgl2-compute context will be supported. # If true, webgl2-compute context will be supported.
support_webgl2_compute_context = !is_android 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 # If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL dictionary) is used. # (of IDL dictionary) is used.
use_blink_v8_binding_new_idl_dictionary = false use_blink_v8_binding_new_idl_dictionary = false
...@@ -70,6 +78,10 @@ if (use_webaudio_pffft) { ...@@ -70,6 +78,10 @@ if (use_webaudio_pffft) {
feature_defines_list += [ "WTF_USE_WEBAUDIO_PFFFT=1" ] 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) { if (use_blink_v8_binding_new_idl_dictionary) {
feature_defines_list += [ "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