blob: ebb56c7f5a4e1affad72966468d9a2b79858bd9d [file] [log] [blame]
Kinuko Yasudafa0f2512018-03-01 07:13:011# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//mojo/public/tools/bindings/mojom.gni")
6
7# This target includes all mojom interfaces which can be used from
8# Source/platform. In particular these mojom interfaces can't use types that
9# are typemapped to a type in Source/core.
10mojom("mojom_platform") {
11 sources = [
12 "array_buffer/array_buffer_contents.mojom",
Ken Rockot26e4e802018-07-31 15:03:3313 "associated_interfaces/associated_interfaces.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0114 "blob/blob.mojom",
15 "blob/blob_registry.mojom",
16 "blob/blob_url_store.mojom",
17 "blob/data_element.mojom",
18 "blob/serialized_blob.mojom",
Kent Tamurac260c9a2018-09-14 09:10:5619 "choosers/file_chooser.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0120 "clipboard/clipboard.mojom",
21 "color_chooser/color_chooser.mojom",
Victor Costan7184272a2018-05-15 13:17:4322 "cookie_store/cookie_store.mojom",
Yuzu Saijo2d12ef92018-08-21 04:52:0723 "crash/crash_memory_metrics_reporter.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5924 "dom_storage/session_storage_namespace.mojom",
Marijn Kruisselbrinkf9a9e762018-06-07 18:57:1225 "dom_storage/storage_area.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5926 "dom_storage/storage_partition_service.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0127 "feature_policy/feature_policy.mojom",
Han Leon6bbe7912018-07-31 01:13:4628 "fetch/fetch_api_response.mojom",
Jeremy Roman89a4d0d2018-04-26 19:05:2829 "file/file_utilities.mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2930 "filesystem/file_system.mojom",
Marijn Kruisselbrink16af1982018-08-15 21:22:3531 "filesystem/file_writer.mojom",
Rakina Zata Amniacf40492018-05-08 22:59:3332 "frame/find_in_page.mojom",
Chase Phillips68ecf5512018-08-16 01:59:1333 "indexeddb/indexeddb.mojom",
Dmitry Gozmand016d882018-04-20 01:55:2434 "leak_detector/leak_detector.mojom",
Bill Budge24c1dc1a2018-09-25 18:51:3235 "loader/code_cache.mojom",
Lu Chen5bec7a302018-06-26 18:52:3236 "loader/navigation_predictor.mojom",
Ryan Sturmc65dbe42018-05-31 20:37:0437 "loader/pause_subresource_loading_handle.mojom",
Tarun Bansaldc970292018-07-12 00:02:5838 "loader/previews_resource_loading_hints.mojom",
Dmitry Gozman88ca5a992018-05-18 00:13:3339 "manifest/display_mode.mojom",
40 "manifest/manifest.mojom",
41 "manifest/manifest_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0142 "net/ip_address_space.mojom",
Han Leon96d6b6e8c22018-09-06 06:21:0643 "notifications/notification.mojom",
Becca Hughes6fe54e432018-06-09 04:18:5644 "page/display_cutout.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0145 "page/page_visibility_state.mojom",
Han Leonabbe7c902018-08-30 02:08:1046 "payments/payment_app.mojom",
Jeremy Romanb7024742018-06-18 22:00:2247 "plugins/plugin_registry.mojom",
mark a. foltz6bbe59f2018-07-24 20:06:2448 "presentation/presentation.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0149 "quota/quota_dispatcher_host.mojom",
50 "quota/quota_types.mojom",
Han Leon122d28182018-06-26 07:56:5551 "service_worker/dispatch_fetch_event_params.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0152 "service_worker/navigation_preload_state.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0153 "service_worker/service_worker_client.mojom",
54 "service_worker/service_worker_error_type.mojom",
55 "service_worker/service_worker_event_status.mojom",
Han Leon9a3a2fb2018-08-07 02:56:0156 "service_worker/service_worker_fetch_response_callback.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0157 "service_worker/service_worker_installed_scripts_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0158 "service_worker/service_worker_provider_type.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0159 "service_worker/service_worker_state.mojom",
60 "service_worker/service_worker_stream_handle.mojom",
Darin Fisher0f17e062018-03-05 17:53:0861 "shared_worker/shared_worker_creation_context_type.mojom",
Hiroki Nakagawaa29d9032018-09-04 12:44:5362 "shared_worker/shared_worker_main_script_load_params.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:1463 "speech/speech_recognition_error.mojom",
64 "speech/speech_recognition_grammar.mojom",
65 "speech/speech_recognition_result.mojom",
66 "speech/speech_recognizer.mojom",
Luna Lu29d922d2018-03-27 18:06:5167 "use_counter/css_property_id.mojom",
Tsuyoshi Horo8a81ad12018-04-07 06:35:2968 "web_package/web_package_internals.mojom",
Raymond Toye413650c2018-08-31 00:12:4769 "webaudio/audio_context_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0170 ]
71
72 public_deps = [
Han Leonabbe7c902018-08-30 02:08:1073 ":android_mojo_bindings",
Adithya Srinivasanc35bf3962018-06-12 14:28:1474 ":speech_recognition_error_code",
Han Leonabbe7c902018-08-30 02:08:1075 "//components/payments/mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2976 "//components/services/filesystem/public/interfaces",
Oksana Zhuravlova015487b32018-03-09 06:58:2277 "//mojo/public/mojom/base",
Dmitry Gozman88ca5a992018-05-18 00:13:3378 "//services/device/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0179 "//services/network/public/mojom",
Marijn Kruisselbrinkd3e3a382018-03-16 20:28:3680
81 # TODO(https://crbug.com/822804): Remove when mojom bindings deps checks
82 # get fixed.
83 "//services/network/public/mojom:data_pipe_interfaces",
Mike Wasserman384f907d2018-06-01 01:50:5684 "//skia/public/interfaces",
Donna Wu838ac362018-08-10 10:36:3385 "//third_party/blink/public/mojom/usb",
Kinuko Yasudafa0f2512018-03-01 07:13:0186 "//ui/gfx/geometry/mojo",
87 "//url/mojom:url_mojom_gurl",
88 "//url/mojom:url_mojom_origin",
89 ]
90
91 export_class_attribute = "BLINK_COMMON_EXPORT"
92 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:0693 export_header = "third_party/blink/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:0194
95 export_class_attribute_blink = "PLATFORM_EXPORT"
96 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:0697 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:0198}
99
Han Leonabbe7c902018-08-30 02:08:10100# Kept separate from "mojom_platform" because the Java bindings are specifically
101# needed by Android's implementation of payments
102# (in components/payments/content/android and chrome/android/).
103mojom("android_mojo_bindings") {
104 sources = [
105 "payments/payment_request.mojom",
106 ]
107 public_deps = [
108 "//components/payments/mojom",
109 ]
110
111 export_class_attribute = "BLINK_COMMON_EXPORT"
112 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
113 export_header = "third_party/blink/common/common_export.h"
114
115 export_class_attribute_blink = "PLATFORM_EXPORT"
116 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
117 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
118}
119
Adithya Srinivasanc35bf3962018-06-12 14:28:14120# Kept separate from "mojom_platform" because the Java bindings are needed by
121# Android's implementation of speech recognition.
122mojom("speech_recognition_error_code") {
123 sources = [
124 "speech/speech_recognition_error_code.mojom",
125 ]
126}
127
Kinuko Yasudafa0f2512018-03-01 07:13:01128# This target can include mojom interfaces which do use types that are
129# typemapped to a type in Source/core. This also means these interfaces are not
130# available from Source/platform.
Han Leon94335e42018-03-15 08:44:18131# Note that service_worker_object.mojom and service_worker.mojom depend
Zhuoyu Qianb647e772018-09-19 04:04:47132# on transferable_message.mojom, and service_worker_registration.mojom depends
Han Leon94335e42018-03-15 08:44:18133# on service_worker_object.mojom, so we put these three service worker
134# mojom files here rather than mojom_platform target.
Han Leonb2f46cd2018-03-09 01:59:16135# In future we may have a separate mojom target for the things that may have
136# modules dependencies if it looks necessary, at that time we can put all of
137# those high-level service worker mojom files there.
Han Leon19420c72018-03-08 01:59:55138mojom("mojom_core") {
Kinuko Yasudafa0f2512018-03-01 07:13:01139 sources = [
Zhuoyu Qianb647e772018-09-19 04:04:47140 "messaging/cloneable_message.mojom",
141 "messaging/transferable_message.mojom",
Zhuoyu Qian47ed0fc52018-09-06 02:13:40142 "messaging/user_activation_snapshot.mojom",
Lucas Furukawa Gadani72655072018-07-26 22:34:33143 "portal/portal.mojom",
Han Leon94335e42018-03-15 08:44:18144 "service_worker/service_worker.mojom",
Han Leonb2f46cd2018-03-09 01:59:16145 "service_worker/service_worker_object.mojom",
146 "service_worker/service_worker_registration.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01147 ]
148
149 public_deps = [
150 ":mojom_platform",
Ken Rockot1ca39312018-04-12 05:32:55151 "//mojo/public/mojom/base",
Kinuko Yasudafa0f2512018-03-01 07:13:01152 "//skia/public/interfaces",
Han Leonb2f46cd2018-03-09 01:59:16153 "//url/mojom:url_mojom_gurl",
Kinuko Yasudafa0f2512018-03-01 07:13:01154 ]
155
156 overridden_deps_blink = [ ":mojom_platform" ]
Blink Reformata30d4232018-04-07 15:31:06157 component_deps_blink = [ "//third_party/blink/renderer/platform" ]
Kinuko Yasudafa0f2512018-03-01 07:13:01158
159 export_class_attribute = "BLINK_COMMON_EXPORT"
160 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06161 export_header = "third_party/blink/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01162
163 export_class_attribute_blink = "CORE_EXPORT"
164 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06165 export_header_blink = "third_party/blink/renderer/core/core_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01166}