| # 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 |
| # renderer/platform. In particular these mojom interfaces can't use types that |
| # are typemapped to a type in renderer/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", |
| "cache_storage/cache_storage.mojom", |
| "choosers/file_chooser.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_request.mojom", |
| "fetch/fetch_api_response.mojom", |
| "file/file_utilities.mojom", |
| "filesystem/file_system.mojom", |
| "filesystem/file_writer.mojom", |
| "frame/find_in_page.mojom", |
| "frame/navigation_initiator.mojom", |
| "leak_detector/leak_detector.mojom", |
| "loader/code_cache.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", |
| "notifications/notification.mojom", |
| "page/display_cutout.mojom", |
| "payments/payment_app.mojom", |
| "plugins/plugin_registry.mojom", |
| "presentation/presentation.mojom", |
| "quota/quota_dispatcher_host.mojom", |
| "quota/quota_types.mojom", |
| "referrer.mojom", |
| "script/script_type.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", |
| "shared_worker/worker_main_script_load_params.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", |
| "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", |
| "//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/public/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/public/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 renderer/core. This also means these interfaces are |
| # not available from renderer/platform. |
| # Note that service_worker_object.mojom and service_worker.mojom depend |
| # on transferable_message.mojom, and controller_service_worker.mojom and |
| # service_worker_registration.mojom depend on service_worker_object.mojom, so |
| # we put these 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 = [ |
| "messaging/cloneable_message.mojom", |
| "messaging/transferable_message.mojom", |
| "messaging/user_activation_snapshot.mojom", |
| "portal/portal.mojom", |
| "service_worker/controller_service_worker.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/public/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" |
| } |
| |
| # This target can include mojom interfaces which use types that are typemapped |
| # to a type in renderer/modules. This also means these interfaces are not |
| # available from renderer/platform or renderer/core. |
| mojom("mojom_modules") { |
| sources = [ |
| "indexeddb/indexeddb.mojom", |
| ] |
| |
| public_deps = [ |
| ":mojom_core", |
| |
| # TODO(https://crbug.com/822804): Remove when mojom bindings deps checks |
| # get fixed. |
| ":mojom_platform", |
| "//mojo/public/mojom/base", |
| "//skia/public/interfaces", |
| "//url/mojom:url_mojom_gurl", |
| "//url/mojom:url_mojom_origin", |
| ] |
| |
| overridden_deps_blink = [ |
| ":mojom_core", |
| ":mojom_platform", |
| ] |
| component_deps_blink = [ "//third_party/blink/renderer/core" ] |
| |
| export_class_attribute = "BLINK_COMMON_EXPORT" |
| export_define = "BLINK_COMMON_IMPLEMENTATION=1" |
| export_header = "third_party/blink/public/common/common_export.h" |
| |
| export_class_attribute_blink = "MODULES_EXPORT" |
| export_define_blink = "BLINK_MODULES_IMPLEMENTATION=1" |
| export_header_blink = "third_party/blink/renderer/modules/modules_export.h" |
| } |