chromium/third_party/blink/renderer/bindings/bindings.gni

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

declare_args() {
  # Enable V8 to produce hints regarding which functions to compile eagerly.
  produce_v8_compile_hints = !is_android
}

# The database file produced by
# "//third_party/blink/renderer/bindings:web_idl_database".
web_idl_database_filepath =
    get_path_info(".", "gen_dir") + "/web_idl_database.pickle"

# Source files to be part of
# "//third_party/blink/renderer/core:core".
blink_core_sources_bindings =
    get_path_info([
                    "core/v8/active_script_wrappable.cc",
                    "core/v8/active_script_wrappable.h",
                    "core/v8/active_script_wrappable_creation_key.h",
                    "core/v8/async_iterable.cc",
                    "core/v8/async_iterable.h",
                    "core/v8/binding_security.cc",
                    "core/v8/binding_security.h",
                    "core/v8/boxed_v8_module.h",
                    "core/v8/callback_invoke_helper.cc",
                    "core/v8/callback_invoke_helper.h",
                    "core/v8/callback_promise_adapter.h",
                    "core/v8/capture_source_location.cc",
                    "core/v8/capture_source_location.h",
                    "core/v8/dictionary.cc",
                    "core/v8/dictionary.h",
                    "core/v8/frozen_array.h",
                    "core/v8/generated_code_helper.cc",
                    "core/v8/generated_code_helper.h",
                    "core/v8/idl_types.h",
                    "core/v8/idl_types_base.h",
                    "core/v8/isolated_world_csp.cc",
                    "core/v8/isolated_world_csp.h",
                    "core/v8/iterable.cc",
                    "core/v8/iterable.h",
                    "core/v8/js_based_event_listener.cc",
                    "core/v8/js_based_event_listener.h",
                    "core/v8/js_event_handler.cc",
                    "core/v8/js_event_handler.h",
                    "core/v8/js_event_handler_for_content_attribute.cc",
                    "core/v8/js_event_handler_for_content_attribute.h",
                    "core/v8/js_event_listener.cc",
                    "core/v8/js_event_listener.h",
                    "core/v8/local_window_proxy.cc",
                    "core/v8/local_window_proxy.h",
                    "core/v8/maplike.h",
                    "core/v8/module_record.cc",
                    "core/v8/module_record.h",
                    "core/v8/module_request.cc",
                    "core/v8/module_request.h",
                    "core/v8/native_value_traits.h",
                    "core/v8/native_value_traits_buffer_sources.cc",
                    "core/v8/native_value_traits_impl.cc",
                    "core/v8/native_value_traits_impl.h",
                    "core/v8/observable_array_exotic_object_handler.h",
                    "core/v8/pass_as_span.h",
                    "core/v8/profiler_trace_builder.cc",
                    "core/v8/profiler_trace_builder.h",
                    "core/v8/referrer_script_info.cc",
                    "core/v8/referrer_script_info.h",
                    "core/v8/rejected_promises.cc",
                    "core/v8/rejected_promises.h",
                    "core/v8/remote_window_proxy.cc",
                    "core/v8/remote_window_proxy.h",
                    "core/v8/retained_object_info.h",
                    "core/v8/sanitize_script_errors.h",
                    "core/v8/script_cache_consumer.cc",
                    "core/v8/script_cache_consumer.h",
                    "core/v8/script_cache_consumer_client.h",
                    "core/v8/script_controller.cc",
                    "core/v8/script_controller.h",
                    "core/v8/script_custom_element_definition.cc",
                    "core/v8/script_custom_element_definition.h",
                    "core/v8/script_custom_element_definition_builder.cc",
                    "core/v8/script_custom_element_definition_builder.h",
                    "core/v8/script_custom_element_definition_data.h",
                    "core/v8/script_decoder.cc",
                    "core/v8/script_decoder.h",
                    "core/v8/script_evaluation_result.cc",
                    "core/v8/script_evaluation_result.h",
                    "core/v8/script_function.cc",
                    "core/v8/script_function.h",
                    "core/v8/script_iterator.cc",
                    "core/v8/script_iterator.h",
                    "core/v8/script_promise.cc",
                    "core/v8/script_promise.h",
                    "core/v8/script_promise_property.h",
                    "core/v8/script_promise_resolver.cc",
                    "core/v8/script_promise_resolver.h",
                    "core/v8/script_promise_resolver_with_tracker.h",
                    "core/v8/script_source_location_type.h",
                    "core/v8/script_state_impl.cc",
                    "core/v8/script_state_impl.h",
                    "core/v8/script_streamer.cc",
                    "core/v8/script_streamer.h",
                    "core/v8/script_value.cc",
                    "core/v8/script_value.h",
                    "core/v8/serialization/post_message_helper.cc",
                    "core/v8/serialization/post_message_helper.h",
                    "core/v8/serialization/serialization_tag.h",
                    "core/v8/serialization/serialized_color_params.cc",
                    "core/v8/serialization/serialized_color_params.h",
                    "core/v8/serialization/serialized_script_value.cc",
                    "core/v8/serialization/serialized_script_value.h",
                    "core/v8/serialization/serialized_script_value_factory.cc",
                    "core/v8/serialization/serialized_script_value_factory.h",
                    "core/v8/serialization/trailer_reader.cc",
                    "core/v8/serialization/trailer_reader.h",
                    "core/v8/serialization/trailer_writer.cc",
                    "core/v8/serialization/trailer_writer.h",
                    "core/v8/serialization/transferables.cc",
                    "core/v8/serialization/transferables.h",
                    "core/v8/serialization/unpacked_serialized_script_value.cc",
                    "core/v8/serialization/unpacked_serialized_script_value.h",
                    "core/v8/serialization/v8_external_memory_accounter.h",
                    "core/v8/serialization/v8_script_value_deserializer.cc",
                    "core/v8/serialization/v8_script_value_deserializer.h",
                    "core/v8/serialization/v8_script_value_serializer.cc",
                    "core/v8/serialization/v8_script_value_serializer.h",
                    "core/v8/shadow_realm_context.cc",
                    "core/v8/shadow_realm_context.h",
                    "core/v8/to_v8_traits.h",
                    "core/v8/use_counter_callback.cc",
                    "core/v8/use_counter_callback.h",
                    "core/v8/v8_binding_for_core.cc",
                    "core/v8/v8_binding_for_core.h",
                    "core/v8/v8_code_cache.cc",
                    "core/v8/v8_code_cache.h",
                    "core/v8/v8_compile_hints_common.cc",
                    "core/v8/v8_compile_hints_common.h",
                    "core/v8/v8_compile_hints_consumer.cc",
                    "core/v8/v8_compile_hints_consumer.h",
                    "core/v8/v8_compile_hints_producer.cc",
                    "core/v8/v8_compile_hints_producer.h",
                    "core/v8/v8_compile_hints_for_streaming.cc",
                    "core/v8/v8_compile_hints_for_streaming.h",
                    "core/v8/v8_context_snapshot.cc",
                    "core/v8/v8_context_snapshot.h",
                    "core/v8/v8_ctype_traits.h",
                    "core/v8/v8_custom_element_constructor_hash.h",
                    "core/v8/v8_embedder_graph_builder.cc",
                    "core/v8/v8_embedder_graph_builder.h",
                    "core/v8/v8_event_listener_info.h",
                    "core/v8/v8_gc_controller.cc",
                    "core/v8/v8_gc_controller.h",
                    "core/v8/v8_gc_for_context_dispose.cc",
                    "core/v8/v8_gc_for_context_dispose.h",
                    "core/v8/v8_html_constructor.cc",
                    "core/v8/v8_html_constructor.h",
                    "core/v8/v8_idle_task_runner.h",
                    "core/v8/v8_initializer.cc",
                    "core/v8/v8_initializer.h",
                    "core/v8/v8_intersection_observer_delegate.cc",
                    "core/v8/v8_intersection_observer_delegate.h",
                    "core/v8/v8_local_compile_hints_consumer.cc",
                    "core/v8/v8_local_compile_hints_consumer.h",
                    "core/v8/v8_local_compile_hints_producer.cc",
                    "core/v8/v8_local_compile_hints_producer.h",
                    "core/v8/v8_metrics.cc",
                    "core/v8/v8_metrics.h",
                    "core/v8/v8_object_builder.cc",
                    "core/v8/v8_object_builder.h",
                    "core/v8/v8_object_parser.cc",
                    "core/v8/v8_object_parser.h",
                    "core/v8/v8_page_popup_controller_binding.cc",
                    "core/v8/v8_page_popup_controller_binding.h",
                    "core/v8/v8_script_runner.cc",
                    "core/v8/v8_script_runner.h",
                    "core/v8/v8_set_return_value_for_core.h",
                    "core/v8/v8_string_resource.h",
                    "core/v8/v8_throw_dom_exception.cc",
                    "core/v8/v8_throw_dom_exception.h",
                    "core/v8/v8_wasm_response_extensions.cc",
                    "core/v8/v8_wasm_response_extensions.h",
                    "core/v8/window_proxy.cc",
                    "core/v8/window_proxy.h",
                    "core/v8/window_proxy_manager.cc",
                    "core/v8/window_proxy_manager.h",
                    "core/v8/worker_or_worklet_script_controller.cc",
                    "core/v8/worker_or_worklet_script_controller.h",
                    "core/v8/world_safe_v8_reference.cc",
                    "core/v8/world_safe_v8_reference.h",
                  ],
                  "abspath")

if (is_win) {
  blink_core_sources_bindings +=
      get_path_info([ "core/v8/v8_initializer_win.cc" ], "abspath")
}

# Source files to be part of
# "//third_party/blink/renderer/modules:modules".
blink_modules_sources_bindings = get_path_info(
        [
          "modules/v8/module_bindings_initializer.cc",
          "modules/v8/module_bindings_initializer.h",
          "modules/v8/serialization/serialized_script_value_for_modules_factory.cc",
          "modules/v8/serialization/serialized_script_value_for_modules_factory.h",
          "modules/v8/serialization/serialized_track_params.cc",
          "modules/v8/serialization/serialized_track_params.h",
          "modules/v8/serialization/v8_script_value_deserializer_for_modules.cc",
          "modules/v8/serialization/v8_script_value_deserializer_for_modules.h",
          "modules/v8/serialization/v8_script_value_serializer_for_modules.cc",
          "modules/v8/serialization/v8_script_value_serializer_for_modules.h",
          "modules/v8/v8_binding_for_modules.cc",
          "modules/v8/v8_binding_for_modules.h",
          "modules/v8/v8_context_snapshot_impl.cc",
          "modules/v8/v8_context_snapshot_impl.h",
          "modules/v8/webgl_any.cc",
          "modules/v8/webgl_any.h",
        ],
        "abspath")

bindings_unittest_files = get_path_info(
        [
          "core/v8/activity_logger_test.cc",
          "core/v8/binding_security_test.cc",
          "core/v8/boxed_v8_module_test.cc",
          "core/v8/dictionary_test.cc",
          "core/v8/dom_wrapper_world_test.cc",
          "core/v8/idl_types_test.cc",
          "core/v8/module_record_test.cc",
          "core/v8/native_value_traits_impl_test.cc",
          "core/v8/native_value_traits_test.cc",
          "core/v8/profiler_trace_builder_test.cc",
          "core/v8/referrer_script_info_test.cc",
          "core/v8/script_decoder_test.cc",
          "core/v8/script_promise_property_test.cc",
          "core/v8/script_promise_resolver_test.cc",
          "core/v8/script_promise_resolver_with_tracker_test.cc",
          "core/v8/script_promise_test.cc",
          "core/v8/script_promise_tester.cc",
          "core/v8/script_promise_tester.h",
          "core/v8/script_streamer_test.cc",
          "core/v8/script_wrappable_v8_gc_integration_test.cc",
          "core/v8/serialization/serialized_script_value_test.cc",
          "core/v8/serialization/serialized_script_value_threaded_test.cc",
          "core/v8/serialization/trailer_reader_test.cc",
          "core/v8/serialization/trailer_writer_test.cc",
          "core/v8/serialization/v8_script_value_serializer_test.cc",
          "core/v8/to_v8_traits_test.cc",
          "core/v8/trace_wrapper_v8_reference_test.cc",
          "core/v8/v8_binding_for_testing.cc",
          "core/v8/v8_binding_for_testing.h",
          "core/v8/v8_compile_hints_for_streaming_test.cc",
          "core/v8/v8_object_builder_test.cc",
          "core/v8/v8_script_runner_test.cc",
          "core/v8/window_proxy_test.cc",
          "core/v8/world_safe_v8_reference_test.cc",
          "modules/v8/serialization/v8_script_value_serializer_for_modules_test.cc",
          "modules/v8/v8_binding_for_modules_test.cc",
          "modules/v8/v8_element_test.cc",
        ],
        "abspath")