# 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_referrer_policy.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 = [
      "//third_party/android_tools: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 = [
    "//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/cors_status.h",
    "platform/file_path_conversion.h",
    "platform/interface_provider.h",
    "platform/interface_registry.h",
    "platform/linux/web_fallback_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_settled_fetch.h",
    "platform/modules/device_orientation/web_device_motion_listener.h",
    "platform/modules/device_orientation/web_device_orientation_listener.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_observation.h",
    "platform/modules/indexeddb/web_idb_types.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/notifications/web_notification_resources.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/screen_orientation/web_screen_orientation_enum_traits.h",
    "platform/modules/serviceworker/web_navigation_preload_state.h",
    "platform/modules/serviceworker/web_service_worker.h",
    "platform/modules/serviceworker/web_service_worker_client_query_options.h",
    "platform/modules/serviceworker/web_service_worker_clients_claim_callbacks.h",
    "platform/modules/serviceworker/web_service_worker_clients_info.h",
    "platform/modules/serviceworker/web_service_worker_error.h",
    "platform/modules/serviceworker/web_service_worker_installed_scripts_manager.h",
    "platform/modules/serviceworker/web_service_worker_network_provider.h",
    "platform/modules/serviceworker/web_service_worker_provider.h",
    "platform/modules/serviceworker/web_service_worker_provider_client.h",
    "platform/modules/serviceworker/web_service_worker_proxy.h",
    "platform/modules/serviceworker/web_service_worker_registration.h",
    "platform/modules/serviceworker/web_service_worker_registration_proxy.h",
    "platform/modules/serviceworker/web_service_worker_request.h",
    "platform/modules/serviceworker/web_service_worker_response.h",
    "platform/modules/serviceworker/web_service_worker_skip_waiting_callbacks.h",
    "platform/modules/serviceworker/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/child/webthread_base.h",
    "platform/scheduler/renderer_process_type.h",
    "platform/scheduler/single_thread_idle_task_runner.h",
    "platform/scheduler/web_main_thread_scheduler.h",
    "platform/scheduler/web_render_widget_scheduling_state.h",
    "platform/scheduler/web_thread_scheduler.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_browser_controls_state.h",
    "platform/web_cache.h",
    "platform/web_callbacks.h",
    "platform/web_canonical_cookie.h",
    "platform/web_canvas.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_event_listener_properties.h",
    "platform/web_file_error.h",
    "platform/web_file_info.h",
    "platform/web_file_system.h",
    "platform/web_file_system_callbacks.h",
    "platform/web_file_system_entry.h",
    "platform/web_file_system_type.h",
    "platform/web_file_utilities.h",
    "platform/web_file_writer.h",
    "platform/web_file_writer_client.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_curve_target.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_scroll_client.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_center_client.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_platform_event_type.h",
    "platform/web_plugin_list_builder.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_public_suffix_list.h",
    "platform/web_rect.h",
    "platform/web_referrer_policy.h",
    "platform/web_resource_timing_info.h",
    "platform/web_rtc_answer_options.h",
    "platform/web_rtc_api_name.h",
    "platform/web_rtc_certificate.h",
    "platform/web_rtc_certificate_generator.h",
    "platform/web_rtc_configuration.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_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_scrollbar_behavior.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_selection_bound.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.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/password_manager/web_form_element_observer.h",
    "web/modules/password_manager/web_form_element_observer_callback.h",
    "web/modules/serviceworker/web_service_worker_context_client.h",
    "web/modules/serviceworker/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_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_find_options.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_media_stream_registry.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_popup_type.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_selection.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_speech_grammar.h",
    "web/web_speech_recognition_handle.h",
    "web/web_speech_recognition_params.h",
    "web/web_speech_recognition_result.h",
    "web/web_speech_recognizer.h",
    "web/web_speech_recognizer_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",
  ]

  if (is_android) {
    # Android uses some Linux sources, put those back.
    set_sources_assignment_filter([])
    sources += [
      "platform/linux/web_font_render_style.h",
      "web/linux/web_font_rendering.h",
    ]
    set_sources_assignment_filter(sources_assignment_filter)
  }

  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/ui/public/interfaces/ime",
    "//skia",
    "//third_party/blink/public/common",
    "//third_party/webrtc/api:libjingle_peerconnection_api",
    "//third_party/webrtc/api:optional",
    "//third_party/webrtc/rtc_base:rtc_base",
    "//url",
  ]

  deps = [
    ":generate_mojo_bindings",
    "//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, "."),
  ]
  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",
    ":media_controls_resources_header",
    "//third_party/blink/renderer/modules/media_controls:media_controls_resources",
  ]
}

copy("media_controls_resources_header") {
  sources = [
    "$root_gen_dir/third_party/blink/renderer/modules/media_controls/resources/grit/media_controls_resources.h",
  ]
  outputs = [
    "$resources_out_dir/grit/media_controls_resources.h",
  ]
  deps = [
    "//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 WebKit/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/bluetooth/web_bluetooth.mojom",
    "platform/modules/budget_service/budget_service.mojom",
    "platform/modules/cache_storage/cache_storage.mojom",
    "platform/modules/credentialmanager/credential_manager.mojom",
    "platform/modules/fetch/fetch_api_request.mojom",
    "platform/modules/fetch/fetch_api_response.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.mojom",
    "platform/modules/notifications/notification_service.mojom",
    "platform/modules/payments/payment_app.mojom",
    "platform/modules/permissions/permission.mojom",
    "platform/modules/permissions/permission_status.mojom",
    "platform/modules/presentation/presentation.mojom",
    "platform/modules/webauth/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/payments/mojom",
    "//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/installation/installation.mojom",
    "platform/modules/installedapp/installed_app_provider.mojom",
    "platform/modules/installedapp/related_application.mojom",
    "platform/modules/mediasession/media_session.mojom",
    "platform/modules/payments/payment_request.mojom",
    "platform/modules/webauth/authenticator.mojom",
    "platform/modules/webshare/webshare.mojom",
    "web/remote_objects.mojom",
  ]
  public_deps = [
    "//components/payments/mojom",
    "//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__generator",
    ":core_mojo_bindings_blink__generator",
    ":embedded_frame_sink_mojo_bindings_blink__generator",
    ":media_devices_mojo_bindings__generator",
    ":media_devices_mojo_bindings_blink__generator",
    ":mojo_bindings__generator",
    ":mojo_bindings_blink__generator",
  ]
}

# 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_shared__generator",
    "//mojo/public/cpp/bindings:struct_traits",
  ]
}
