# Copyright 2018 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("//mojo/public/tools/bindings/mojom.gni") # This target includes all mojom interfaces which can be used from # Source/platform. In particular these mojom interfaces can't use types that # are typemapped to a type in Source/core. mojom("mojom_platform") { sources = [ "array_buffer/array_buffer_contents.mojom", "associated_interfaces/associated_interfaces.mojom", "blob/blob.mojom", "blob/blob_registry.mojom", "blob/blob_url_store.mojom", "blob/data_element.mojom", "blob/serialized_blob.mojom", "clipboard/clipboard.mojom", "color_chooser/color_chooser.mojom", "cookie_store/cookie_store.mojom", "crash/crash_memory_metrics_reporter.mojom", "dom_storage/session_storage_namespace.mojom", "dom_storage/storage_area.mojom", "dom_storage/storage_partition_service.mojom", "feature_policy/feature_policy.mojom", "fetch/fetch_api_response.mojom", "file/file_utilities.mojom", "filesystem/file_system.mojom", "filesystem/file_writer.mojom", "frame/find_in_page.mojom", "indexeddb/indexeddb.mojom", "leak_detector/leak_detector.mojom", "loader/navigation_predictor.mojom", "loader/pause_subresource_loading_handle.mojom", "loader/previews_resource_loading_hints.mojom", "manifest/display_mode.mojom", "manifest/manifest.mojom", "manifest/manifest_manager.mojom", "net/ip_address_space.mojom", "page/display_cutout.mojom", "page/page_visibility_state.mojom", "payments/payment_app.mojom", "plugins/plugin_registry.mojom", "presentation/presentation.mojom", "quota/quota_dispatcher_host.mojom", "quota/quota_types.mojom", "service_worker/dispatch_fetch_event_params.mojom", "service_worker/navigation_preload_state.mojom", "service_worker/service_worker_client.mojom", "service_worker/service_worker_error_type.mojom", "service_worker/service_worker_event_status.mojom", "service_worker/service_worker_fetch_response_callback.mojom", "service_worker/service_worker_installed_scripts_manager.mojom", "service_worker/service_worker_provider_type.mojom", "service_worker/service_worker_state.mojom", "service_worker/service_worker_stream_handle.mojom", "shared_worker/shared_worker_creation_context_type.mojom", "speech/speech_recognition_error.mojom", "speech/speech_recognition_grammar.mojom", "speech/speech_recognition_result.mojom", "speech/speech_recognizer.mojom", "use_counter/css_property_id.mojom", "web_package/web_package_internals.mojom", "webaudio/audio_context_manager.mojom", ] public_deps = [ ":android_mojo_bindings", ":speech_recognition_error_code", "//components/payments/mojom", "//components/services/filesystem/public/interfaces", "//mojo/public/mojom/base", "//services/device/public/mojom", "//services/network/public/mojom", # TODO(https://crbug.com/822804): Remove when mojom bindings deps checks # get fixed. "//services/network/public/mojom:data_pipe_interfaces", "//skia/public/interfaces", "//third_party/blink/public/mojom/usb", "//ui/gfx/geometry/mojo", "//url/mojom:url_mojom_gurl", "//url/mojom:url_mojom_origin", ] export_class_attribute = "BLINK_COMMON_EXPORT" export_define = "BLINK_COMMON_IMPLEMENTATION=1" export_header = "third_party/blink/common/common_export.h" export_class_attribute_blink = "PLATFORM_EXPORT" export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/renderer/platform/platform_export.h" } # Kept separate from "mojom_platform" because the Java bindings are specifically # needed by Android's implementation of payments # (in components/payments/content/android and chrome/android/). mojom("android_mojo_bindings") { sources = [ "payments/payment_request.mojom", ] public_deps = [ "//components/payments/mojom", ] export_class_attribute = "BLINK_COMMON_EXPORT" export_define = "BLINK_COMMON_IMPLEMENTATION=1" export_header = "third_party/blink/common/common_export.h" export_class_attribute_blink = "PLATFORM_EXPORT" export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/renderer/platform/platform_export.h" } # Kept separate from "mojom_platform" because the Java bindings are needed by # Android's implementation of speech recognition. mojom("speech_recognition_error_code") { sources = [ "speech/speech_recognition_error_code.mojom", ] } # This target can include mojom interfaces which do use types that are # typemapped to a type in Source/core. This also means these interfaces are not # available from Source/platform. # Note that service_worker_object.mojom and service_worker.mojom depend # on message_port.mojom, and service_worker_registration.mojom depends # on service_worker_object.mojom, so we put these three service worker # mojom files here rather than mojom_platform target. # In future we may have a separate mojom target for the things that may have # modules dependencies if it looks necessary, at that time we can put all of # those high-level service worker mojom files there. mojom("mojom_core") { sources = [ "message_port/message_port.mojom", "message_port/user_activation_snapshot.mojom", "portal/portal.mojom", "service_worker/service_worker.mojom", "service_worker/service_worker_object.mojom", "service_worker/service_worker_registration.mojom", ] public_deps = [ ":mojom_platform", "//mojo/public/mojom/base", "//skia/public/interfaces", "//url/mojom:url_mojom_gurl", ] overridden_deps_blink = [ ":mojom_platform" ] component_deps_blink = [ "//third_party/blink/renderer/platform" ] export_class_attribute = "BLINK_COMMON_EXPORT" export_define = "BLINK_COMMON_IMPLEMENTATION=1" export_header = "third_party/blink/common/common_export.h" export_class_attribute_blink = "CORE_EXPORT" export_define_blink = "BLINK_CORE_IMPLEMENTATION=1" export_header_blink = "third_party/blink/renderer/core/core_export.h" }