blob: 49946d8ac920facefd63112614d62aca20eb4ff4 [file] [log] [blame]
# 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("//build/config/chromecast_build.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/modules/v8/generated.gni")
import("//third_party/blink/renderer/bindings/modules/v8/v8.gni")
import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/modules/modules.gni")
import("//third_party/blink/renderer/modules/modules_idl_files.gni")
import("//third_party/webrtc/webrtc.gni")
if (is_android) {
import("//build/config/android/rules.gni")
}
visibility = [ "//third_party/blink/renderer/*" ]
config("modules_implementation") {
defines = [ "BLINK_MODULES_IMPLEMENTATION=1" ]
}
make_names("indexed_db_names") {
in_files = [ "indexeddb/indexed_db_names.json5" ]
output_dir = blink_modules_output_dir
deps = [] # Don't use default deps (otherwise it will be circular).
}
make_names("media_capabilities_names") {
in_files = [ "media_capabilities/media_capabilities_names.json5" ]
output_dir = blink_modules_output_dir
deps = [] # Don't use default deps (otherwise it will be circular).
}
component("modules") {
output_name = "blink_modules"
visibility = [] # Allow re-assignment of list.
visibility = [ "//third_party/blink/*" ]
sources = [
"event_modules.h",
"event_modules_factory.h",
"event_target_modules.h",
"modules_export.h",
"modules_initializer.cc",
"modules_initializer.h",
]
# Compile sources generated by make_names script.
sources += get_target_outputs(":indexed_db_names")
sources += get_target_outputs(":media_capabilities_names")
sources += bindings_modules_v8_files
if (!use_blink_v8_binding_new_idl_interface) {
sources += rebase_path(
[ bindings_generated_v8_context_snapshot_external_references_file ],
".",
"//")
}
configs += [
":modules_implementation",
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:non_test_config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer/core:blink_core_pch",
"//tools/v8_context_snapshot:use_v8_context_snapshot",
]
sub_modules = [
"//third_party/blink/renderer/bindings/modules/v8",
"//third_party/blink/renderer/modules/accessibility",
"//third_party/blink/renderer/modules/ad_auction",
"//third_party/blink/renderer/modules/animationworklet",
"//third_party/blink/renderer/modules/app_banner",
"//third_party/blink/renderer/modules/audio_output_devices",
"//third_party/blink/renderer/modules/background_fetch",
"//third_party/blink/renderer/modules/background_sync",
"//third_party/blink/renderer/modules/badging",
"//third_party/blink/renderer/modules/managed_device",
"//third_party/blink/renderer/modules/battery",
"//third_party/blink/renderer/modules/beacon",
"//third_party/blink/renderer/modules/bluetooth",
"//third_party/blink/renderer/modules/broadcastchannel",
"//third_party/blink/renderer/modules/buckets",
"//third_party/blink/renderer/modules/breakout_box",
"//third_party/blink/renderer/modules/cache_storage",
"//third_party/blink/renderer/modules/canvas",
"//third_party/blink/renderer/modules/clipboard",
"//third_party/blink/renderer/modules/compute_pressure",
"//third_party/blink/renderer/modules/contacts_picker",
"//third_party/blink/renderer/modules/content_index",
"//third_party/blink/renderer/modules/cookie_store",
"//third_party/blink/renderer/modules/credentialmanager",
"//third_party/blink/renderer/modules/crypto",
"//third_party/blink/renderer/modules/csspaint",
"//third_party/blink/renderer/modules/compression",
"//third_party/blink/renderer/modules/delegated_ink",
"//third_party/blink/renderer/modules/device_orientation",
"//third_party/blink/renderer/modules/device_posture",
"//third_party/blink/renderer/modules/document_metadata",
"//third_party/blink/renderer/modules/donottrack",
"//third_party/blink/renderer/modules/encoding",
"//third_party/blink/renderer/modules/encryptedmedia",
"//third_party/blink/renderer/modules/eventsource",
"//third_party/blink/renderer/modules/exported",
"//third_party/blink/renderer/modules/eyedropper",
"//third_party/blink/renderer/modules/filesystem",
"//third_party/blink/renderer/modules/file_system_access",
"//third_party/blink/renderer/modules/font_access",
"//third_party/blink/renderer/modules/gamepad",
"//third_party/blink/renderer/modules/geolocation",
"//third_party/blink/renderer/modules/handwriting",
"//third_party/blink/renderer/modules/hid",
"//third_party/blink/renderer/modules/idle",
"//third_party/blink/renderer/modules/imagecapture",
"//third_party/blink/renderer/modules/image_downloader",
"//third_party/blink/renderer/modules/indexeddb",
"//third_party/blink/renderer/modules/installation",
"//third_party/blink/renderer/modules/installedapp",
"//third_party/blink/renderer/modules/keyboard",
"//third_party/blink/renderer/modules/launch",
"//third_party/blink/renderer/modules/locks",
"//third_party/blink/renderer/modules/lock_screen",
"//third_party/blink/renderer/modules/manifest",
"//third_party/blink/renderer/modules/media_capabilities",
"//third_party/blink/renderer/modules/media_controls",
"//third_party/blink/renderer/modules/mediacapturefromelement",
"//third_party/blink/renderer/modules/mediarecorder",
"//third_party/blink/renderer/modules/mediasession",
"//third_party/blink/renderer/modules/mediasource",
"//third_party/blink/renderer/modules/mediastream",
"//third_party/blink/renderer/modules/media",
"//third_party/blink/renderer/modules/modalclosewatcher",
"//third_party/blink/renderer/modules/native_io",
"//third_party/blink/renderer/modules/navigatorcontentutils",
"//third_party/blink/renderer/modules/netinfo",
"//third_party/blink/renderer/modules/nfc",
"//third_party/blink/renderer/modules/notifications",
"//third_party/blink/renderer/modules/payments",
"//third_party/blink/renderer/modules/payments/goods",
"//third_party/blink/renderer/modules/peerconnection",
"//third_party/blink/renderer/modules/permissions",
"//third_party/blink/renderer/modules/picture_in_picture",
"//third_party/blink/renderer/modules/plugins",
"//third_party/blink/renderer/modules/presentation",
"//third_party/blink/renderer/modules/push_messaging",
"//third_party/blink/renderer/modules/quota",
"//third_party/blink/renderer/modules/remoteplayback",
"//third_party/blink/renderer/modules/sanitizer_api",
"//third_party/blink/renderer/modules/scheduler",
"//third_party/blink/renderer/modules/screen_enumeration",
"//third_party/blink/renderer/modules/screen_orientation",
"//third_party/blink/renderer/modules/sensor",
"//third_party/blink/renderer/modules/service_worker",
"//third_party/blink/renderer/modules/shapedetection",
"//third_party/blink/renderer/modules/speech",
"//third_party/blink/renderer/modules/srcobject",
"//third_party/blink/renderer/modules/storage",
"//third_party/blink/renderer/modules/url_pattern",
"//third_party/blink/renderer/modules/vibration",
"//third_party/blink/renderer/modules/video_rvfc",
"//third_party/blink/renderer/modules/virtualkeyboard",
"//third_party/blink/renderer/modules/wake_lock",
"//third_party/blink/renderer/modules/webaudio",
"//third_party/blink/renderer/modules/webcodecs",
"//third_party/blink/renderer/modules/webdatabase",
"//third_party/blink/renderer/modules/webgl",
"//third_party/blink/renderer/modules/webgpu",
"//third_party/blink/renderer/modules/webid",
"//third_party/blink/renderer/modules/webmidi",
"//third_party/blink/renderer/modules/webrtc",
"//third_party/blink/renderer/modules/webshare",
"//third_party/blink/renderer/modules/websockets",
"//third_party/blink/renderer/modules/webtransport",
"//third_party/blink/renderer/modules/webusb",
"//third_party/blink/renderer/modules/worklet",
"//third_party/blink/renderer/modules/xr",
]
if (is_android) {
sub_modules += [ "//third_party/blink/renderer/modules/remote_objects" ]
} else {
sub_modules += [
"//third_party/blink/renderer/modules/direct_sockets",
"//third_party/blink/renderer/modules/serial",
]
}
deps = [
":indexed_db_names",
":make_modules_generated",
":media_capabilities_names",
"//jingle:webrtc_glue",
"//net:net",
"//third_party/blink/renderer/bindings/modules:generated",
"//third_party/blink/renderer/bindings/modules/v8:bindings_modules_impl",
"//third_party/blink/renderer/bindings/modules/v8:bindings_modules_origin_trial_features",
"//third_party/blink/renderer/bindings/modules/v8:generated",
"//third_party/blink/renderer/core",
"//third_party/icu",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
]
public_deps = sub_modules
allow_circular_includes_from = sub_modules
if (is_win) {
cflags =
[ "/wd4334" ] # Result of 32-bit shift implicitly converted to 64 bits.
}
configs -= [ "//build/config/compiler:default_symbols" ]
configs += blink_symbols_config
}
source_set("modules_testing") {
testonly = true
sources = [
"accessibility/testing/internals_accessibility.cc",
"accessibility/testing/internals_accessibility.h",
"canvas/canvas2d/testing/internals_canvas_rendering_context_2d.cc",
"canvas/canvas2d/testing/internals_canvas_rendering_context_2d.h",
"mediastream/testing/internals_media_stream.cc",
"mediastream/testing/internals_media_stream.h",
"netinfo/testing/internals_net_info.cc",
"netinfo/testing/internals_net_info.h",
"peerconnection/adapters/test/mock_ice_transport_adapter.h",
"peerconnection/adapters/test/mock_ice_transport_adapter_cross_thread_factory.h",
"peerconnection/testing/fake_resource_listener.cc",
"peerconnection/testing/fake_resource_listener.h",
"peerconnection/testing/internals_rtc_certificate.cc",
"peerconnection/testing/internals_rtc_certificate.h",
"peerconnection/testing/internals_rtc_peer_connection.cc",
"peerconnection/testing/internals_rtc_peer_connection.h",
"peerconnection/testing/mock_peer_connection_interface.h",
"peerconnection/testing/mock_rtp_receiver.h",
"peerconnection/testing/mock_rtp_sender.h",
"peerconnection/testing/mock_transformable_video_frame.h",
"permissions/testing/internals_permission.cc",
"permissions/testing/internals_permission.h",
"service_worker/testing/internals_service_worker.cc",
"service_worker/testing/internals_service_worker.h",
"speech/testing/internals_speech_synthesis.cc",
"speech/testing/internals_speech_synthesis.h",
"speech/testing/mojom_speech_synthesis_mock.cc",
"speech/testing/mojom_speech_synthesis_mock.h",
"vibration/testing/internals_vibration.cc",
"vibration/testing/internals_vibration.h",
"webaudio/testing/internals_web_audio.cc",
"webaudio/testing/internals_web_audio.h",
]
configs += [
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer/core:blink_core_pch",
]
public_deps = [
"//mojo/public/cpp/bindings",
"//testing/gmock:gmock",
]
deps = [
"//third_party/blink/renderer/bindings/modules/v8:testing",
"//third_party/blink/renderer/core",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules",
]
}
group("make_modules_generated") {
public_deps = [
":indexed_db_names",
":media_capabilities_names",
"//third_party/blink/renderer/bindings/modules:bindings_modules_generated",
"//third_party/blink/renderer/bindings/modules/v8:generated",
"//third_party/blink/renderer/core:core_event_interfaces",
"//third_party/blink/renderer/modules/mediarecorder:buildflags",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"accessibility/accessibility_object_model_test.cc",
"accessibility/ax_inline_text_box_test.cc",
"accessibility/ax_layout_object_test.cc",
"accessibility/ax_node_object_test.cc",
"accessibility/ax_object_cache_test.cc",
"accessibility/ax_object_test.cc",
"accessibility/ax_position_test.cc",
"accessibility/ax_range_test.cc",
"accessibility/ax_selection_test.cc",
"accessibility/testing/accessibility_selection_test.cc",
"accessibility/testing/accessibility_selection_test.h",
"accessibility/testing/accessibility_test.cc",
"accessibility/testing/accessibility_test.h",
"animationworklet/animation_worklet_global_scope_test.cc",
"animationworklet/animation_worklet_proxy_client_test.cc",
"animationworklet/worklet_animation_test.cc",
"background_fetch/background_fetch_icon_loader_test.cc",
"background_fetch/background_fetch_manager_test.cc",
"cache_storage/cache_test.cc",
"canvas/canvas2d/canvas_rendering_context_2d_api_test.cc",
"canvas/canvas2d/canvas_rendering_context_2d_test.cc",
"canvas/htmlcanvas/html_canvas_element_module_test.cc",
"canvas/offscreencanvas/offscreen_canvas_rendering_api_ukm_metrics_test.cc",
"canvas/offscreencanvas/offscreen_canvas_test.cc",
"content_index/content_description_type_converter_test.cc",
"credentialmanager/credentials_container_test.cc",
"credentialmanager/password_credential_test.cc",
"csspaint/background_color_paint_worklet_test.cc",
"csspaint/document_paint_definition_test.cc",
"csspaint/paint_rendering_context_2d_test.cc",
"csspaint/paint_worklet_global_scope_test.cc",
"csspaint/paint_worklet_proxy_client_test.cc",
"csspaint/paint_worklet_test.cc",
"delegated_ink/delegated_ink_trail_presenter_unittest.cc",
"device_orientation/device_motion_event_pump_unittest.cc",
"device_orientation/device_orientation_event_pump_unittest.cc",
"document_metadata/document_metadata_extractor_test.cc",
"eventsource/event_source_parser_test.cc",
"filesystem/dom_file_system_base_test.cc",
"filesystem/file_writer_test.cc",
"handwriting/handwriting_type_converters_unittest.cc",
"installedapp/installed_app_controller_test.cc",
"manifest/image_resource_type_converters_test.cc",
"manifest/manifest_manager_unittest.cc",
"manifest/manifest_parser_unittest.cc",
"media/audio/audio_renderer_mixer_manager_test.cc",
"media/audio/audio_renderer_sink_cache_test.cc",
"media/audio/mojo_audio_input_ipc_test.cc",
"media/audio/mojo_audio_output_ipc_test.cc",
"media/audio/web_audio_output_ipc_factory_test.cc",
"media/webmediaplayer_util_unittest.cc",
"media_capabilities/media_capabilities_test.cc",
"media_controls/elements/media_control_animated_arrow_container_element_test.cc",
"media_controls/elements/media_control_display_cutout_fullscreen_button_element_test.cc",
"media_controls/elements/media_control_input_element_test.cc",
"media_controls/elements/media_control_loading_panel_element_test.cc",
"media_controls/elements/media_control_panel_element_test.cc",
"media_controls/elements/media_control_scrubbing_message_element_test.cc",
"media_controls/elements/media_control_timeline_element_test.cc",
"media_controls/elements/media_control_toggle_closed_captions_button_element_test.cc",
"media_controls/media_controls_display_cutout_delegate_test.cc",
"media_controls/media_controls_impl_test.cc",
"media_controls/media_controls_orientation_lock_delegate_test.cc",
"media_controls/media_controls_rotate_to_fullscreen_delegate_test.cc",
"mediacapturefromelement/canvas_capture_handler_unittest.cc",
"mediacapturefromelement/html_audio_element_capturer_source_unittest.cc",
"mediacapturefromelement/html_video_element_capturer_source_unittest.cc",
"mediarecorder/audio_track_recorder_unittest.cc",
"mediarecorder/fake_encoded_video_frame.h",
"mediarecorder/media_recorder_handler_unittest.cc",
"mediarecorder/media_recorder_unittest.cc",
"mediarecorder/track_recorder_unittest.cc",
"mediarecorder/video_track_recorder_unittest.cc",
"mediasession/media_session_test.cc",
"mediastream/low_latency_video_renderer_algorithm_unittest.cc",
"mediastream/media_constraints_test.cc",
"mediastream/media_devices_test.cc",
"mediastream/media_stream_audio_processor_test.cc",
"mediastream/media_stream_constraints_util_audio_test.cc",
"mediastream/media_stream_constraints_util_sets_test.cc",
"mediastream/media_stream_constraints_util_test.cc",
"mediastream/media_stream_constraints_util_video_content_test.cc",
"mediastream/media_stream_constraints_util_video_device_test.cc",
"mediastream/media_stream_device_observer_test.cc",
"mediastream/media_stream_track_test.cc",
"mediastream/media_stream_video_capturer_source_test.cc",
"mediastream/media_stream_video_renderer_sink_test.cc",
"mediastream/media_stream_video_source_test.cc",
"mediastream/media_stream_video_track_test.cc",
"mediastream/mock_mojo_media_stream_dispatcher_host.cc",
"mediastream/mock_mojo_media_stream_dispatcher_host.h",
"mediastream/processed_local_audio_source_test.cc",
"mediastream/user_media_client_test.cc",
"mediastream/video_track_adapter_unittest.cc",
"mediastream/webaudio_media_stream_audio_sink_test.cc",
"mediastream/webmediaplayer_ms_test.cc",
"nfc/nfc_proxy_test.cc",
"notifications/notification_data_test.cc",
"notifications/notification_resources_loader_test.cc",
"payments/abort_test.cc",
"payments/can_make_payment_test.cc",
"payments/complete_test.cc",
"payments/goods/digital_goods_type_converters_unittest.cc",
"payments/merchant_validation_event_test.cc",
"payments/on_payment_response_test.cc",
"payments/payment_address_test.cc",
"payments/payment_event_data_conversion_test.cc",
"payments/payment_request_details_test.cc",
"payments/payment_request_for_invalid_origin_or_ssl_test.cc",
"payments/payment_request_optional_total_test.cc",
"payments/payment_request_test.cc",
"payments/payment_request_update_event_test.cc",
"payments/payment_response_test.cc",
"payments/payment_test_helper.cc",
"payments/payment_test_helper.h",
"payments/payments_validators_test.cc",
"peerconnection/byte_buffer_queue_test.cc",
"peerconnection/call_setup_state_tracker_unittest.cc",
"peerconnection/media_stream_remote_video_source_test.cc",
"peerconnection/media_stream_track_metrics_test.cc",
"peerconnection/media_stream_video_webrtc_sink_test.cc",
"peerconnection/peer_connection_dependency_factory_test.cc",
"peerconnection/peer_connection_tracker_test.cc",
"peerconnection/rtc_data_channel_test.cc",
"peerconnection/rtc_encoded_audio_underlying_sink_test.cc",
"peerconnection/rtc_encoded_audio_underlying_source_test.cc",
"peerconnection/rtc_encoded_video_underlying_sink_test.cc",
"peerconnection/rtc_encoded_video_underlying_source_test.cc",
"peerconnection/rtc_ice_transport_test.cc",
"peerconnection/rtc_ice_transport_test.h",
"peerconnection/rtc_peer_connection_handler_test.cc",
"peerconnection/rtc_peer_connection_test.cc",
"peerconnection/rtc_rtp_receiver_impl_test.cc",
"peerconnection/rtc_rtp_sender_impl_test.cc",
"peerconnection/rtc_rtp_transceiver_impl_test.cc",
"peerconnection/rtc_sctp_transport_test.cc",
"peerconnection/thermal_resource_test.cc",
"peerconnection/thermal_uma_listener_test.cc",
"peerconnection/transceiver_state_surfacer_test.cc",
"peerconnection/webrtc_audio_renderer_test.cc",
"peerconnection/webrtc_media_stream_track_adapter_map_test.cc",
"peerconnection/webrtc_media_stream_track_adapter_test.cc",
"peerconnection/webrtc_set_description_observer_test.cc",
"picture_in_picture/picture_in_picture_controller_test.cc",
"presentation/mock_presentation_service.h",
"presentation/presentation_availability_state_test.cc",
"presentation/presentation_availability_test.cc",
"presentation/presentation_connection_callbacks_test.cc",
"presentation/presentation_receiver_test.cc",
"presentation/presentation_request_test.cc",
"push_messaging/push_manager_test.cc",
"push_messaging/push_message_data_test.cc",
"push_messaging/push_subscription_test.cc",
"remoteplayback/remote_playback_test.cc",
"screen_orientation/screen_orientation_controller_test.cc",
"sensor/ambient_light_sensor_test.cc",
"sensor/sensor_test_utils.cc",
"sensor/sensor_test_utils.h",
"service_worker/service_worker_container_test.cc",
"service_worker/service_worker_event_queue_test.cc",
"service_worker/service_worker_installed_scripts_manager_test.cc",
"service_worker/thread_safe_script_container_test.cc",
"service_worker/web_embedded_worker_impl_test.cc",
"video_rvfc/video_frame_callback_requester_impl_test.cc",
"video_rvfc/video_frame_request_callback_collection_test.cc",
"wake_lock/wake_lock_manager_test.cc",
"wake_lock/wake_lock_sentinel_test.cc",
"wake_lock/wake_lock_test.cc",
"wake_lock/wake_lock_test_utils.cc",
"wake_lock/wake_lock_test_utils.h",
"webaudio/audio_basic_processor_handler_test.cc",
"webaudio/audio_context_autoplay_test.cc",
"webaudio/audio_context_test.cc",
"webaudio/audio_node_input_test.cc",
"webaudio/audio_worklet_global_scope_test.cc",
"webaudio/audio_worklet_thread_test.cc",
"webaudio/convolver_node_test.cc",
"webaudio/dynamics_compressor_node_test.cc",
"webaudio/script_processor_node_test.cc",
"webaudio/stereo_panner_node_test.cc",
"webdatabase/quota_tracker_test.cc",
"webshare/navigator_share_test.cc",
"websockets/dom_websocket_test.cc",
"websockets/mock_websocket_channel.cc",
"websockets/mock_websocket_channel.h",
"websockets/websocket_channel_impl_test.cc",
"websockets/websocket_common_test.cc",
"websockets/websocket_message_chunk_accumulator_test.cc",
"websockets/websocket_stream_test.cc",
"worklet/animation_and_paint_worklet_thread_test.cc",
"worklet/worklet_thread_test_common.cc",
"worklet/worklet_thread_test_common.h",
"xr/xr_rigid_transform_test.cc",
"xr/xr_test_utils.cc",
"xr/xr_view_test.cc",
]
if (is_android) {
sources += [ "payments/skip_to_gpay_utils_test.cc" ]
}
if (rtc_use_h264) {
sources += [ "mediarecorder/h264_encoder_unittest.cc" ]
}
configs += [
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer/core:blink_core_pch",
]
deps = [
":modules",
":modules_testing",
"//base",
"//base/test:test_support",
"//build:chromecast_buildflags",
"//components/schema_org/common:mojom_blink",
"//components/ukm:test_support",
"//media:test_support",
"//media/mojo/mojom",
"//media/webrtc:webrtc",
"//mojo/public/cpp/bindings",
"//net:test_support",
"//services/device/public/cpp:test_support",
"//services/metrics/public/cpp:ukm_builders",
"//skia",
"//testing/gmock",
"//testing/gtest",
"//third_party/blink/public:blink_headers",
"//third_party/blink/public:test_headers",
"//third_party/blink/public/strings:strings_grit",
"//third_party/blink/renderer/controller:blink_bindings_test_sources",
"//third_party/blink/renderer/core",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/core:unit_test_support",
"//third_party/blink/renderer/modules/breakout_box:unit_tests",
"//third_party/blink/renderer/modules/file_system_access:unit_tests",
"//third_party/blink/renderer/modules/gamepad:unit_tests",
"//third_party/blink/renderer/modules/hid:unit_tests",
"//third_party/blink/renderer/modules/indexeddb:unit_tests",
"//third_party/blink/renderer/modules/mediarecorder:buildflags",
"//third_party/blink/renderer/modules/mediastream:test_support",
"//third_party/blink/renderer/modules/peerconnection:test_support",
"//third_party/blink/renderer/modules/storage:unit_tests",
"//third_party/blink/renderer/modules/webcodecs:unit_tests",
"//third_party/blink/renderer/modules/webtransport:unit_tests",
"//third_party/blink/renderer/platform",
"//third_party/blink/renderer/platform:test_support",
"//third_party/blink/renderer/platform/wtf",
"//third_party/googletest:gmock",
"//third_party/opus",
"//third_party/webrtc_overrides:webrtc_component",
"//v8",
]
if (!is_android) {
deps += [ "//third_party/blink/renderer/modules/direct_sockets:unit_tests" ]
}
data_deps = [
":accessibility_unittests_data",
":mediastream_unittests_data",
]
}
group("accessibility_unittests_data") {
data = [ "accessibility/testing/data/" ]
}
group("mediastream_unittests_data") {
data = [ "//media/test/data/" ]
}
fuzzer_test("web_app_manifest_fuzzer") {
sources = [ "manifest/manifest_fuzzer.cc" ]
dict = "manifest/manifest_fuzzer.dict"
seed_corpus = "manifest/fuzzer_seed_corpus"
deps = [
":modules",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
]
}
if (use_libfuzzer) {
fuzzer_test("media_capabilities_fuzzer") {
sources = [ "media_capabilities/media_capabilities_fuzzer.cc" ]
seed_corpus = "media_capabilities/fuzzer_seed_corpus"
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/media_capabilities:fuzzer_media_configuration_proto",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
fuzzer_test("webcodecs_video_decoder_fuzzer") {
sources = [
"webcodecs/fuzzer_utils.cc",
"webcodecs/fuzzer_utils.h",
"webcodecs/video_decoder_fuzzer.cc",
]
seed_corpus = "webcodecs/fuzzer_seed_corpus/video_decoder"
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
image_decoder_fuzzer_seed_corpus_dir =
"$target_gen_dir/webcodecs/image_fuzzer_seed_corpus"
action("generate_image_decoder_fuzzer_corpus") {
script = "webcodecs/fuzzer_seed_corpus/generate_image_corpus.py"
sources = [ "webcodecs/image_decoder_base.textproto" ]
data = [ "//third_party/blink/web_tests/images/resources/" ]
deps = [
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/protobuf:py_proto",
]
pyproto_path = "$root_out_dir/pyproto"
args = [ "-i" ]
args += rebase_path(sources, root_build_dir)
args += [
"-o",
"ignored",
"-d",
rebase_path(image_decoder_fuzzer_seed_corpus_dir, root_build_dir),
"-p",
rebase_path(pyproto_path, root_build_dir),
"-p",
rebase_path("$pyproto_path/third_party/blink/renderer/modules/webcodecs/",
root_build_dir),
]
outputs = [ image_decoder_fuzzer_seed_corpus_dir ]
}
fuzzer_test("webcodecs_image_decoder_fuzzer") {
sources = [
"webcodecs/fuzzer_utils.cc",
"webcodecs/fuzzer_utils.h",
"webcodecs/image_decoder_fuzzer.cc",
]
seed_corpus = image_decoder_fuzzer_seed_corpus_dir
seed_corpus_deps = [ ":generate_image_decoder_fuzzer_corpus" ]
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
fuzzer_test("webcodecs_audio_decoder_fuzzer") {
sources = [
"webcodecs/audio_decoder_fuzzer.cc",
"webcodecs/fuzzer_utils.cc",
"webcodecs/fuzzer_utils.h",
]
seed_corpus = "webcodecs/fuzzer_seed_corpus/audio_decoder"
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
fuzzer_test("webcodecs_video_encoder_fuzzer") {
sources = [
"webcodecs/fuzzer_utils.cc",
"webcodecs/fuzzer_utils.h",
"webcodecs/video_encoder_fuzzer.cc",
]
seed_corpus = "webcodecs/fuzzer_seed_corpus/video_encoder"
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
fuzzer_test("webcodecs_audio_encoder_fuzzer") {
sources = [
"webcodecs/audio_encoder_fuzzer.cc",
"webcodecs/fuzzer_utils.cc",
"webcodecs/fuzzer_utils.h",
]
seed_corpus = "webcodecs/fuzzer_seed_corpus/audio_encoder"
deps = [
":modules",
"//third_party/blink/renderer/core:testing",
"//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/libprotobuf-mutator",
"//third_party/protobuf:protobuf_lite",
]
}
}