# 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/buildflag_header.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//third_party/blink/public/public_features.gni")
import("//third_party/blink/renderer/config.gni")
import("//third_party/blink/renderer/core/core.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")

if (is_android) {
  import("//build/config/android/rules.gni")
}

group("blink") {
  public_deps = [
    ":blink_headers",
  ]
  deps = [
    "//third_party/blink/renderer/controller",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/modules",
    "//third_party/blink/renderer/platform",
  ]
}

group("test_support") {
  testonly = true
  public_deps = [
    ":test_headers",
    "//third_party/blink/renderer/modules/exported:test_support",
    "//third_party/blink/renderer/platform:test_support",
  ]
}

group("all_blink") {
  # This includes some test targets. Don't link into production!
  testonly = true

  public_deps = [
    "//third_party/blink/common",
    "//third_party/blink/common:blink_common_unittests",
    "//third_party/blink/renderer/controller",
    "//third_party/blink/renderer/controller:webkit_unit_tests",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/modules",
    "//third_party/blink/renderer/platform:blink_platform_unittests",
    "//third_party/blink/renderer/platform/heap:blink_heap_unittests",
    "//third_party/blink/renderer/platform/wtf:wtf_unittests",
  ]
}

config("blink_headers_config") {
  # Allow :blink_headers to include v8.h without linking to it.
  configs = [ "//v8:external_config" ]
}

# Public feature flags used outside of Blink.
buildflag_header("buildflags") {
  header = "public_buildflags.h"
  flags = [
    "DEBUG_DEVTOOLS=$debug_devtools",
    "USE_DEFAULT_RENDER_THEME=$use_default_render_theme",
    "USE_MINIKIN_HYPHENATION=$use_minikin_hyphenation",
    "ENABLE_UNHANDLED_TAP=$enable_unhandled_tap",
  ]
}

if (is_android) {
  java_cpp_enum("blink_headers_java_enums_srcjar") {
    sources = [
      "./common/manifest/web_display_mode.h",
      "./platform/modules/remoteplayback/web_remote_playback_availability.h",
      "./platform/web_focus_type.h",
      "./platform/web_input_event.h",
      "./platform/web_text_input_mode.h",
      "./platform/web_text_input_type.h",
      "./web/web_context_menu_data.h",
    ]
  }

  java_cpp_enum("blink_cursor_type_java_enums_srcjar") {
    sources = [
      "./platform/web_cursor_info.h",
    ]
  }

  android_library("blink_headers_java") {
    deps = [
      "//services/network/public/mojom:mojom_java",
      "//third_party/android_deps:android_support_annotations_java",
    ]
    srcjar_deps = [ ":blink_headers_java_enums_srcjar" ]
  }
}

source_set("test_headers") {
  testonly = true
  sources = [
    "platform/scheduler/test/fake_renderer_scheduler.h",
    "platform/scheduler/test/mock_renderer_scheduler.h",
    "platform/scheduler/test/renderer_scheduler_test_support.h",
  ]
  deps = [
    ":blink_headers",
    "//base:base",
    "//cc:cc",
    "//testing/gmock:gmock",
  ]
}

# Depend on this target to use public blink API headers for things like enums
# and public structures without actually linking against any Blink libraries.
#
# See public/common/BUILD.gn for the headers that can be referenced both from
# the browser- and renderer-side components.
source_set("blink_headers") {
  sources = [
    "platform/blame_context.h",
    "platform/code_cache_loader.h",
    "platform/file_path_conversion.h",
    "platform/interface_provider.h",
    "platform/interface_registry.h",
    "platform/linux/out_of_process_font.h",
    "platform/linux/web_sandbox_support.h",
    "platform/mac/web_sandbox_support.h",
    "platform/mac/web_scrollbar_theme.h",
    "platform/modules/background_fetch/web_background_fetch_registration.h",
    "platform/modules/indexeddb/web_idb_callbacks.h",
    "platform/modules/indexeddb/web_idb_cursor.h",
    "platform/modules/indexeddb/web_idb_database.h",
    "platform/modules/indexeddb/web_idb_database_callbacks.h",
    "platform/modules/indexeddb/web_idb_database_error.h",
    "platform/modules/indexeddb/web_idb_database_exception.h",
    "platform/modules/indexeddb/web_idb_factory.h",
    "platform/modules/indexeddb/web_idb_key.h",
    "platform/modules/indexeddb/web_idb_key_path.h",
    "platform/modules/indexeddb/web_idb_key_range.h",
    "platform/modules/indexeddb/web_idb_metadata.h",
    "platform/modules/indexeddb/web_idb_name_and_version.h",
    "platform/modules/indexeddb/web_idb_observation.h",
    "platform/modules/indexeddb/web_idb_value.h",
    "platform/modules/installedapp/web_related_application.h",
    "platform/modules/installedapp/web_related_apps_fetcher.h",
    "platform/modules/media_capabilities/web_audio_configuration.h",
    "platform/modules/media_capabilities/web_media_capabilities_client.h",
    "platform/modules/media_capabilities/web_media_configuration.h",
    "platform/modules/media_capabilities/web_video_configuration.h",
    "platform/modules/notifications/web_notification_action.h",
    "platform/modules/notifications/web_notification_constants.h",
    "platform/modules/notifications/web_notification_data.h",
    "platform/modules/payments/web_payment_currency_amount.h",
    "platform/modules/payments/web_payment_details_modifier.h",
    "platform/modules/payments/web_payment_handler_response.h",
    "platform/modules/payments/web_payment_item.h",
    "platform/modules/payments/web_payment_method_data.h",
    "platform/modules/payments/web_payment_request_event_data.h",
    "platform/modules/push_messaging/web_push_client.h",
    "platform/modules/push_messaging/web_push_error.h",
    "platform/modules/push_messaging/web_push_provider.h",
    "platform/modules/push_messaging/web_push_subscription.h",
    "platform/modules/push_messaging/web_push_subscription_options.h",
    "platform/modules/remoteplayback/web_remote_playback_availability.h",
    "platform/modules/remoteplayback/web_remote_playback_client.h",
    "platform/modules/remoteplayback/web_remote_playback_state.h",
    "platform/modules/service_worker/web_service_worker_clients_info.h",
    "platform/modules/service_worker/web_service_worker_error.h",
    "platform/modules/service_worker/web_service_worker_network_provider.h",
    "platform/modules/service_worker/web_service_worker_object_info.h",
    "platform/modules/service_worker/web_service_worker_provider.h",
    "platform/modules/service_worker/web_service_worker_provider_client.h",
    "platform/modules/service_worker/web_service_worker_registration_object_info.h",
    "platform/modules/service_worker/web_service_worker_request.h",
    "platform/modules/service_worker/web_service_worker_response.h",
    "platform/modules/service_worker/web_service_worker_stream_handle.h",
    "platform/modules/webmidi/web_midi_accessor.h",
    "platform/modules/webmidi/web_midi_accessor_client.h",
    "platform/platform.h",
    "platform/pointer_properties.h",
    "platform/scheduler/renderer_process_type.h",
    "platform/scheduler/single_thread_idle_task_runner.h",
    "platform/scheduler/web_rail_mode_observer.h",
    "platform/scheduler/web_render_widget_scheduling_state.h",
    "platform/scheduler/web_resource_loading_task_runner_handle.h",
    "platform/scheduler/web_thread_scheduler.h",
    "platform/scoped_web_callbacks.h",
    "platform/shape_properties.h",
    "platform/task_type.h",
    "platform/url_conversion.h",
    "platform/user_metrics_action.h",
    "platform/web_application_cache_host.h",
    "platform/web_application_cache_host_client.h",
    "platform/web_audio_bus.h",
    "platform/web_audio_destination_consumer.h",
    "platform/web_audio_device.h",
    "platform/web_audio_latency_hint.h",
    "platform/web_audio_source_provider.h",
    "platform/web_audio_source_provider_client.h",
    "platform/web_blob_info.h",
    "platform/web_blob_registry.h",
    "platform/web_cache.h",
    "platform/web_callbacks.h",
    "platform/web_canonical_cookie.h",
    "platform/web_canvas_capture_handler.h",
    "platform/web_client_hints_type.h",
    "platform/web_coalesced_input_event.h",
    "platform/web_common.h",
    "platform/web_computed_ax_tree.h",
    "platform/web_connection_type.h",
    "platform/web_content_decryption_module.h",
    "platform/web_content_decryption_module_access.h",
    "platform/web_content_decryption_module_exception.h",
    "platform/web_content_decryption_module_result.h",
    "platform/web_content_decryption_module_session.h",
    "platform/web_content_security_policy.h",
    "platform/web_content_security_policy_struct.h",
    "platform/web_content_setting_callbacks.h",
    "platform/web_content_settings_client.h",
    "platform/web_cookie_jar.h",
    "platform/web_crypto.h",
    "platform/web_crypto_algorithm.h",
    "platform/web_crypto_algorithm_params.h",
    "platform/web_crypto_key.h",
    "platform/web_crypto_key_algorithm.h",
    "platform/web_crypto_key_algorithm_params.h",
    "platform/web_cursor_info.h",
    "platform/web_data.h",
    "platform/web_data_consumer_handle.h",
    "platform/web_database_observer.h",
    "platform/web_distillability.h",
    "platform/web_document_subresource_filter.h",
    "platform/web_double_point.h",
    "platform/web_double_size.h",
    "platform/web_drag_data.h",
    "platform/web_drag_operation.h",
    "platform/web_editing_command_type.h",
    "platform/web_effective_connection_type.h",
    "platform/web_encrypted_media_client.h",
    "platform/web_encrypted_media_key_information.h",
    "platform/web_encrypted_media_request.h",
    "platform/web_encrypted_media_types.h",
    "platform/web_file_system_type.h",
    "platform/web_float_point.h",
    "platform/web_float_point_3d.h",
    "platform/web_float_rect.h",
    "platform/web_float_size.h",
    "platform/web_focus_type.h",
    "platform/web_font.h",
    "platform/web_font_description.h",
    "platform/web_font_render_style.h",
    "platform/web_gamepad_listener.h",
    "platform/web_gesture_curve.h",
    "platform/web_gesture_device.h",
    "platform/web_gesture_event.h",
    "platform/web_graphics_context_3d_provider.h",
    "platform/web_history_scroll_restoration_type.h",
    "platform/web_http_body.h",
    "platform/web_http_header_visitor.h",
    "platform/web_http_load_info.h",
    "platform/web_icon_sizes_parser.h",
    "platform/web_image.h",
    "platform/web_image_capture_frame_grabber.h",
    "platform/web_image_generator.h",
    "platform/web_inband_text_track.h",
    "platform/web_inband_text_track_client.h",
    "platform/web_input_event.h",
    "platform/web_input_event_result.h",
    "platform/web_insecure_request_policy.h",
    "platform/web_intrinsic_sizing_info.h",
    "platform/web_isolated_world_ids.h",
    "platform/web_keyboard_event.h",
    "platform/web_layer_tree_view.h",
    "platform/web_loading_behavior_flag.h",
    "platform/web_localized_string.h",
    "platform/web_media_constraints.h",
    "platform/web_media_key_system_configuration.h",
    "platform/web_media_key_system_media_capability.h",
    "platform/web_media_player.h",
    "platform/web_media_player_client.h",
    "platform/web_media_player_encrypted_media_client.h",
    "platform/web_media_player_source.h",
    "platform/web_media_recorder_handler.h",
    "platform/web_media_recorder_handler_client.h",
    "platform/web_media_source.h",
    "platform/web_media_stream.h",
    "platform/web_media_stream_center.h",
    "platform/web_media_stream_source.h",
    "platform/web_media_stream_track.h",
    "platform/web_memory_coordinator.h",
    "platform/web_memory_pressure_level.h",
    "platform/web_memory_state.h",
    "platform/web_menu_source_type.h",
    "platform/web_mixed_content.h",
    "platform/web_mixed_content_context_type.h",
    "platform/web_mouse_event.h",
    "platform/web_mouse_wheel_event.h",
    "platform/web_native_scroll_behavior.h",
    "platform/web_network_state_notifier.h",
    "platform/web_platform_event_listener.h",
    "platform/web_point.h",
    "platform/web_pointer_event.h",
    "platform/web_pointer_properties.h",
    "platform/web_prerender.h",
    "platform/web_prerendering_support.h",
    "platform/web_prescient_networking.h",
    "platform/web_private_ptr.h",
    "platform/web_rect.h",
    "platform/web_resource_timing_info.h",
    "platform/web_rtc_answer_options.h",
    "platform/web_rtc_api_name.h",
    "platform/web_rtc_certificate_generator.h",
    "platform/web_rtc_data_channel_handler.h",
    "platform/web_rtc_data_channel_handler_client.h",
    "platform/web_rtc_data_channel_init.h",
    "platform/web_rtc_dtmf_sender_handler.h",
    "platform/web_rtc_dtmf_sender_handler_client.h",
    "platform/web_rtc_ice_candidate.h",
    "platform/web_rtc_key_params.h",
    "platform/web_rtc_legacy_stats.h",
    "platform/web_rtc_offer_options.h",
    "platform/web_rtc_peer_connection_handler.h",
    "platform/web_rtc_peer_connection_handler_client.h",
    "platform/web_rtc_rtp_contributing_source.h",
    "platform/web_rtc_rtp_receiver.h",
    "platform/web_rtc_rtp_sender.h",
    "platform/web_rtc_rtp_transceiver.h",
    "platform/web_rtc_session_description.h",
    "platform/web_rtc_session_description_request.h",
    "platform/web_rtc_stats.h",
    "platform/web_rtc_stats_request.h",
    "platform/web_rtc_stats_response.h",
    "platform/web_rtc_void_request.h",
    "platform/web_runtime_features.h",
    "platform/web_scoped_virtual_time_pauser.h",
    "platform/web_screen_info.h",
    "platform/web_scroll_anchor_data.h",
    "platform/web_scroll_into_view_params.h",
    "platform/web_scroll_types.h",
    "platform/web_scrollbar_buttons_placement.h",
    "platform/web_scrollbar_overlay_color_theme.h",
    "platform/web_security_origin.h",
    "platform/web_security_style.h",
    "platform/web_set_sink_id_callbacks.h",
    "platform/web_size.h",
    "platform/web_source_buffer.h",
    "platform/web_source_buffer_client.h",
    "platform/web_speech_synthesis_utterance.h",
    "platform/web_speech_synthesis_voice.h",
    "platform/web_speech_synthesizer.h",
    "platform/web_speech_synthesizer_client.h",
    "platform/web_spell_check_panel_host_client.h",
    "platform/web_storage_area.h",
    "platform/web_storage_namespace.h",
    "platform/web_string.h",
    "platform/web_surface_layer_bridge.h",
    "platform/web_text_input_info.h",
    "platform/web_text_input_mode.h",
    "platform/web_text_input_type.h",
    "platform/web_text_run.h",
    "platform/web_theme_engine.h",
    "platform/web_thread_safe_data.h",
    "platform/web_time_range.h",
    "platform/web_touch_action.h",
    "platform/web_touch_event.h",
    "platform/web_touch_point.h",
    "platform/web_url.h",
    "platform/web_url_error.h",
    "platform/web_url_load_timing.h",
    "platform/web_url_loader.h",
    "platform/web_url_loader_client.h",
    "platform/web_url_loader_factory.h",
    "platform/web_url_loader_mock_factory.h",
    "platform/web_url_loader_test_delegate.h",
    "platform/web_url_request.h",
    "platform/web_url_response.h",
    "platform/web_vector.h",
    "platform/web_video_frame_submitter.h",
    "platform/web_viewport_style.h",
    "platform/web_worker_fetch_context.h",
    "platform/websocket_handshake_throttle.h",
    "web/blink.h",
    "web/mac/web_substring_util.h",
    "web/mac/web_substring_util.h",
    "web/modules/autofill/web_form_element_observer.h",
    "web/modules/autofill/web_form_element_observer_callback.h",
    "web/modules/service_worker/web_service_worker_context_client.h",
    "web/modules/service_worker/web_service_worker_context_proxy.h",
    "web/web_active_fling_parameters.h",
    "web/web_apply_constraints_request.h",
    "web/web_array_buffer.h",
    "web/web_array_buffer_converter.h",
    "web/web_associated_url_loader.h",
    "web/web_associated_url_loader_client.h",
    "web/web_associated_url_loader_options.h",
    "web/web_autofill_client.h",
    "web/web_autofill_state.h",
    "web/web_ax_context.h",
    "web/web_ax_enums.h",
    "web/web_ax_object.h",
    "web/web_blob.h",
    "web/web_console_message.h",
    "web/web_context_features.h",
    "web/web_context_menu_data.h",
    "web/web_crypto_normalize.h",
    "web/web_css_parser.h",
    "web/web_custom_element.h",
    "web/web_date_time_chooser_completion.h",
    "web/web_date_time_chooser_params.h",
    "web/web_date_time_input_type.h",
    "web/web_date_time_suggestion.h",
    "web/web_device_emulation_params.h",
    "web/web_document.h",
    "web/web_document_loader.h",
    "web/web_dom_activity_logger.h",
    "web/web_dom_event.h",
    "web/web_dom_file_system.h",
    "web/web_dom_media_stream_track.h",
    "web/web_dom_message_event.h",
    "web/web_drag_status.h",
    "web/web_draggable_region.h",
    "web/web_element.h",
    "web/web_element_collection.h",
    "web/web_embedded_worker.h",
    "web/web_embedded_worker_start_data.h",
    "web/web_external_popup_menu.h",
    "web/web_external_popup_menu_client.h",
    "web/web_file_chooser_completion.h",
    "web/web_file_chooser_params.h",
    "web/web_form_control_element.h",
    "web/web_form_element.h",
    "web/web_frame.h",
    "web/web_frame_content_dumper.h",
    "web/web_frame_load_type.h",
    "web/web_frame_owner_properties.h",
    "web/web_frame_serializer.h",
    "web/web_frame_serializer_cache_control_policy.h",
    "web/web_frame_serializer_client.h",
    "web/web_frame_widget.h",
    "web/web_global_object_reuse_policy.h",
    "web/web_heap.h",
    "web/web_history_commit_type.h",
    "web/web_history_item.h",
    "web/web_hit_test_result.h",
    "web/web_icon_url.h",
    "web/web_image_cache.h",
    "web/web_image_decoder.h",
    "web/web_ime_text_span.h",
    "web/web_input_element.h",
    "web/web_input_method_controller.h",
    "web/web_label_element.h",
    "web/web_language_detection_details.h",
    "web/web_local_frame.h",
    "web/web_local_frame_client.h",
    "web/web_meaningful_layout.h",
    "web/web_media_player_action.h",
    "web/web_memory_statistics.h",
    "web/web_menu_item_info.h",
    "web/web_meta_element.h",
    "web/web_navigation_policy.h",
    "web/web_navigation_type.h",
    "web/web_node.h",
    "web/web_option_element.h",
    "web/web_page_importance_signals.h",
    "web/web_page_popup.h",
    "web/web_pepper_socket.h",
    "web/web_pepper_socket_client.h",
    "web/web_performance.h",
    "web/web_plugin.h",
    "web/web_plugin_action.h",
    "web/web_plugin_container.h",
    "web/web_plugin_document.h",
    "web/web_plugin_params.h",
    "web/web_plugin_script_forbidden_scope.h",
    "web/web_popup_menu_info.h",
    "web/web_prerenderer_client.h",
    "web/web_presentation_receiver_flags.h",
    "web/web_print_params.h",
    "web/web_print_preset_options.h",
    "web/web_print_scaling_option.h",
    "web/web_range.h",
    "web/web_remote_frame.h",
    "web/web_remote_frame_client.h",
    "web/web_render_theme.h",
    "web/web_scoped_user_gesture.h",
    "web/web_scoped_window_focus_allowed_indicator.h",
    "web/web_script_controller.h",
    "web/web_script_execution_callback.h",
    "web/web_script_source.h",
    "web/web_searchable_form_data.h",
    "web/web_security_policy.h",
    "web/web_select_element.h",
    "web/web_selector.h",
    "web/web_serialized_script_value.h",
    "web/web_serialized_script_value_version.h",
    "web/web_settings.h",
    "web/web_shared_worker.h",
    "web/web_shared_worker_client.h",
    "web/web_shared_worker_connect_listener.h",
    "web/web_shared_worker_repository_client.h",
    "web/web_storage_event_dispatcher.h",
    "web/web_surrounding_text.h",
    "web/web_testing_support.h",
    "web/web_text_check_client.h",
    "web/web_text_checking_completion.h",
    "web/web_text_checking_result.h",
    "web/web_text_decoration_type.h",
    "web/web_text_direction.h",
    "web/web_tree_scope_type.h",
    "web/web_triggering_event_info.h",
    "web/web_user_gesture_indicator.h",
    "web/web_user_gesture_token.h",
    "web/web_user_media_client.h",
    "web/web_user_media_request.h",
    "web/web_v8_context_snapshot.h",
    "web/web_view.h",
    "web/web_view_client.h",
    "web/web_widget.h",
    "web/web_widget_client.h",
    "web/web_window_features.h",
    "web/win/web_font_rendering.h",
  ]

  public_configs = [
    ":blink_headers_config",

    # Blink exposes icu headers in the public API.
    "//third_party/icu:icu_config",
  ]

  public_deps = [
    "//net",
    "//services/service_manager/public/cpp",
    "//services/ws/public/mojom/ime",
    "//skia",
    "//third_party/blink/public/common",
    "//third_party/webrtc/api:libjingle_peerconnection_api",
    "//third_party/webrtc/rtc_base:rtc_base",
    "//ui/accessibility:ax_enums_mojo",
    "//url",
  ]

  deps = [
    ":generate_mojo_bindings",
    ":mojo_bindings_blink_headers",
    "//base:base",
    "//cc:cc",
    "//cc/paint:paint",
    "//components/viz/common",
    "//media/midi:mojo_shared_cpp_sources",
    "//mojo/public/cpp/bindings:bindings",
    "//mojo/public/cpp/system:system",
    "//services/device/public/mojom:mojom_shared_cpp_sources",
    "//services/network/public/cpp:cpp",
    "//services/network/public/mojom",
    "//v8:v8_headers",
  ]
}

group("blink_devtools_frontend_resources") {
  public_deps = [
    "//third_party/blink/renderer/devtools:devtools_frontend_resources",
  ]
}

group("blink_devtools_frontend_resources_files") {
  data_deps = [
    "//third_party/blink/renderer/devtools:devtools_all_files",
  ]
}

group("blink_generate_devtools_grd") {
  public_deps = [
    "//third_party/blink/renderer/devtools:generate_devtools_grd",
  ]
}

resources_out_dir = "$root_gen_dir/third_party/blink/public/resources"

grit("resources") {
  output_dir = resources_out_dir
  source = "blink_resources.grd"
  outputs = [
    "grit/blink_resources.h",
    "blink_resources.pak",
  ]
  html_min_css = "$blink_core_output_dir/html.css"
  grit_flags = [
    "-E",
    "html_min_css=" + rebase_path(html_min_css, root_build_dir),
  ]
  deps = [
    "//third_party/blink/renderer/core:make_minimized_css",
  ]
}

grit("image_resources") {
  output_dir = "$root_gen_dir/third_party/blink/public/resources"
  source = "blink_image_resources.grd"
  outputs = [
    "grit/blink_image_resources.h",
    "blink_image_resources_100_percent.pak",
    "blink_image_resources_200_percent.pak",
  ]
}

group("scaled_resources") {
  public_deps = [
    ":image_resources",
    "//third_party/blink/renderer/modules/media_controls:media_controls_resources",
  ]
}

repack("scaled_resources_100_percent") {
  output = "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak"
  sources = [
    "$root_gen_dir/third_party/blink/public/resources/blink_image_resources_100_percent.pak",
    "$root_gen_dir/third_party/blink/renderer/modules/media_controls/resources/media_controls_resources_100_percent.pak",
  ]
  deps = [
    ":scaled_resources",
  ]
}

repack("scaled_resources_200_percent") {
  output = "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_200_percent.pak"
  sources = [
    "$root_gen_dir/third_party/blink/public/resources/blink_image_resources_200_percent.pak",
    "$root_gen_dir/third_party/blink/renderer/modules/media_controls/resources/media_controls_resources_200_percent.pak",
  ]
  deps = [
    ":scaled_resources",
  ]
}

# TODO: Move these into blink/public/mojom.
mojom("mojo_bindings") {
  visibility = [
    "//content/*",
    "//chrome/common:mojo_bindings",
  ]
  visibility_blink =
      [ "//third_party/blink/renderer/platform:blink_platform_public_deps" ]
  sources = [
    "platform/autoplay.mojom",
    "platform/content_security_policy.mojom",
    "platform/dedicated_worker_factory.mojom",
    "platform/media_download_in_product_help.mojom",
    "platform/mime_registry.mojom",
    "platform/modules/app_banner/app_banner.mojom",
    "platform/modules/background_fetch/background_fetch.mojom",
    "platform/modules/background_sync/background_sync.mojom",
    "platform/modules/badging/badging.mojom",
    "platform/modules/bluetooth/web_bluetooth.mojom",
    "platform/modules/cache_storage/cache_storage.mojom",
    "platform/modules/credentialmanager/credential_manager.mojom",
    "platform/modules/fetch/fetch_api_request.mojom",
    "platform/modules/geolocation/geolocation_service.mojom",
    "platform/modules/hyphenation/hyphenation.mojom",
    "platform/modules/insecure_input/insecure_input_service.mojom",
    "platform/modules/keyboard_lock/keyboard_lock.mojom",
    "platform/modules/locks/lock_manager.mojom",
    "platform/modules/notifications/notification_service.mojom",
    "platform/modules/permissions/permission.mojom",
    "platform/modules/permissions/permission_status.mojom",
    "platform/modules/webauthn/virtual_authenticator.mojom",
    "platform/modules/webdatabase/web_database.mojom",
    "platform/oom_intervention.mojom",
    "platform/referrer.mojom",
    "platform/reporting.mojom",
    "platform/site_engagement.mojom",
    "platform/ukm.mojom",
    "web/commit_result.mojom",
    "web/console_message.mojom",
    "web/devtools_agent.mojom",
    "web/devtools_frontend.mojom",
    "web/selection_menu_behavior.mojom",
    "web/window_features.mojom",
    "web/worker_content_settings_proxy.mojom",
  ]
  public_deps = [
    ":android_mojo_bindings",
    ":web_client_hints_types_mojo_bindings",
    ":web_feature_mojo_bindings",
    "//components/services/font/public/interfaces",
    "//device/bluetooth/public/mojom",
    "//mojo/public/mojom/base",
    "//services/device/public/mojom",
    "//services/network/public/mojom",
    "//services/service_manager/public/mojom",
    "//skia/public/interfaces",
    "//third_party/blink/public/mojom:mojom_platform",
    "//ui/gfx/geometry/mojo",
    "//url/mojom:url_mojom_gurl",
    "//url/mojom:url_mojom_origin",
  ]

  overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ]
  component_deps = [ "//third_party/blink/public/common" ]

  component_output_prefix = "blink_mojo_bindings"

  # The chromium variant must be linked with content and use the same export
  # settings in component build because of the WebBluetoothDeviceId typemap
  # inside content.
  export_class_attribute = "CONTENT_EXPORT"
  export_define = "CONTENT_IMPLEMENTATION=1"
  export_header = "content/common/content_export.h"

  # Similarly, the blink variant must be linked with the platform component
  # since it uses types from it in its typemaps.
  export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
  export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/public/platform/web_common.h"
}

mojom("android_mojo_bindings") {
  visibility = [ ":mojo_bindings" ]
  visibility_blink = [ ":mojo_bindings_blink" ]
  sources = [
    "platform/input_host.mojom",
    "platform/input_messages.mojom",
    "platform/modules/document_metadata/copyless_paste.mojom",
    "platform/modules/font_unique_name_lookup/font_unique_name_lookup.mojom",
    "platform/modules/installation/installation.mojom",
    "platform/modules/installedapp/installed_app_provider.mojom",
    "platform/modules/installedapp/related_application.mojom",
    "platform/modules/mediasession/media_session.mojom",
    "platform/modules/webauthn/authenticator.mojom",
    "platform/modules/webshare/webshare.mojom",
    "web/remote_objects.mojom",
  ]
  public_deps = [
    "//mojo/public/mojom/base",
    "//ui/gfx/geometry/mojo",
    "//url/mojom:url_mojom_gurl",
  ]

  # This Android unhandled-tap feature uses another mojo source, add it in.
  if (enable_unhandled_tap) {
    sources += [ "platform/unhandled_tap_notifier.mojom" ]
  }

  component_output_prefix = "blink_android_mojo_bindings"

  # See comment above.
  export_class_attribute = "CONTENT_EXPORT"
  export_define = "CONTENT_IMPLEMENTATION=1"
  export_header = "content/common/content_export.h"
  export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
  export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/public/platform/web_common.h"
}

mojom("media_devices_mojo_bindings") {
  sources = [
    "platform/modules/mediastream/media_devices.mojom",
  ]

  public_deps = [
    "//media/capture/mojom:video_capture",
    "//media/mojo/interfaces",
    "//ui/gfx/geometry/mojo",
  ]

  export_class_attribute = "CONTENT_EXPORT"
  export_define = "CONTENT_IMPLEMENTATION=1"
  export_header = "content/common/content_export.h"
}

# The embedded_frame_sink_mojo_bindings is separated from the rest of mojom
# files because its deps contain too many files in Chromium that would pollute
# the include paths in generated mojom-blink files for other services.
mojom("embedded_frame_sink_mojo_bindings") {
  visibility = [ "//content/*" ]
  visibility_blink = [ "//third_party/blink/renderer/platform" ]
  sources = [
    "platform/modules/frame_sinks/embedded_frame_sink.mojom",
  ]
  deps = [
    "//services/viz/public/interfaces",
  ]

  component_output_prefix = "blink_embedded_frame_sink_mojo_bindings"

  # See comment above
  export_class_attribute = "CONTENT_EXPORT"
  export_define = "CONTENT_IMPLEMENTATION=1"
  export_header = "content/common/content_export.h"
  export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
  export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/public/platform/web_common.h"
}

# The core_mojo_bindings is separated from the rest of mojom files to allow its deps
# to depend on types in WebKit/Source/core.
mojom("core_mojo_bindings") {
  visibility = [ "//content/*" ]
  visibility_blink = [ "//third_party/blink/renderer/core/*" ]
  sources = [
    "platform/modules/broadcastchannel/broadcast_channel.mojom",
  ]
  public_deps = [
    "//third_party/blink/public/mojom:mojom_core",
    "//url/mojom:url_mojom_origin",
  ]

  overridden_deps = [ "//third_party/blink/public/mojom:mojom_core" ]
  component_deps = [ "//third_party/blink/public/common" ]

  component_output_prefix = "blink_core_mojo_bindings"

  # See comment above.
  export_class_attribute = "CONTENT_EXPORT"
  export_define = "CONTENT_IMPLEMENTATION=1"
  export_header = "content/common/content_export.h"

  # Similarly, the blink variant must be linked with the core component
  # since it uses types from it in its typemaps.
  export_class_attribute_blink = "CORE_EXPORT"
  export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/renderer/core/core_export.h"
}

# Note that this intentionally depends on the generator target of the mojom
# target instead of the mojom target itself directly. This is to ensure that the
# dependencies are header-only and don't link against any bindings code.
group("generate_mojo_bindings") {
  deps = [
    # It's important to generate both the regular and the Blink variants. The
    # Blink public API exposes a number of Mojo interfaces; omitting it will
    # cause non-deterministic compile failures for code that uses the regular
    # variant of the generated files.
    ":core_mojo_bindings_blink_headers",
    ":core_mojo_bindings_headers",
    ":embedded_frame_sink_mojo_bindings_blink_headers",
    ":media_devices_mojo_bindings_blink_headers",
    ":media_devices_mojo_bindings_headers",
    ":mojo_bindings_blink_headers",
    ":mojo_bindings_headers",
  ]
}

# The web_feature_mojo_bindings is separated from the rest of the mojom files
# because the chromium typemap for blink mojo_bindings has private content
# dependencies.
mojom("web_feature_mojo_bindings") {
  sources = [
    "platform/web_feature.mojom",
  ]
}

# The web_feature_mojo_bindings is separated from the rest of the mojom files
# because the chromium typemap for blink mojo_bindings has private content
# dependencies.
mojom("web_client_hints_types_mojo_bindings") {
  sources = [
    "platform/web_client_hints_types.mojom",
  ]
}

# Some mojom typemaps are shared between Chromium and Blink variants and
# therefore require some shared traits implementation. These definitions are
# relegated to a separate target to avoid duplication between the variants.
source_set("shared_typemap_traits") {
  visibility = [ ":*" ]
  sources = [
    "web/console_message_struct_traits.cc",
    "web/console_message_struct_traits.h",
  ]
  deps = [
    ":blink_headers",
    ":mojo_bindings_headers",
    "//mojo/public/cpp/bindings:struct_traits",
  ]
}
