blob: efc254b62d2a9fd68e4e20446a50d2483e0f77a9 [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
Chase Phillips4f62c052018-11-06 01:43:518# renderer/platform. In particular these mojom interfaces can't use types that
9# are typemapped to a type in renderer/core.
Kinuko Yasudafa0f2512018-03-01 07:13:0110mojom("mojom_platform") {
11 sources = [
John Delaney74efc1d2018-12-20 18:29:1812 "ad_tagging/ad_frame.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0113 "array_buffer/array_buffer_contents.mojom",
Ken Rockot26e4e802018-07-31 15:03:3314 "associated_interfaces/associated_interfaces.mojom",
Richard Li912523f02018-12-13 08:10:4015 "background_fetch/background_fetch.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0116 "blob/blob.mojom",
17 "blob/blob_registry.mojom",
18 "blob/blob_url_store.mojom",
19 "blob/data_element.mojom",
20 "blob/serialized_blob.mojom",
Richard Libcc09eb2018-11-30 15:00:3521 "cache_storage/cache_storage.mojom",
Kent Tamurac260c9a2018-09-14 09:10:5622 "choosers/file_chooser.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0123 "clipboard/clipboard.mojom",
24 "color_chooser/color_chooser.mojom",
Finnur Thorarinsson522d3782018-12-05 02:17:4325 "contacts/contacts_manager.mojom",
Victor Costan7184272a2018-05-15 13:17:4326 "cookie_store/cookie_store.mojom",
Yuzu Saijo2d12ef92018-08-21 04:52:0727 "crash/crash_memory_metrics_reporter.mojom",
Hiroki Nakagawa792fcc32018-12-06 06:50:5728 "csp/content_security_policy.mojom",
Hiroki Nakagawa7c0a7e72018-12-10 04:31:2929 "devtools/devtools_agent.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5930 "dom_storage/session_storage_namespace.mojom",
Marijn Kruisselbrinkf9a9e762018-06-07 18:57:1231 "dom_storage/storage_area.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5932 "dom_storage/storage_partition_service.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0133 "feature_policy/feature_policy.mojom",
Richard Lie6899952018-11-30 08:42:0034 "fetch/fetch_api_request.mojom",
Han Leon6bbe7912018-07-31 01:13:4635 "fetch/fetch_api_response.mojom",
Jeremy Roman89a4d0d2018-04-26 19:05:2836 "file/file_utilities.mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2937 "filesystem/file_system.mojom",
Marijn Kruisselbrink16af1982018-08-15 21:22:3538 "filesystem/file_writer.mojom",
Rakina Zata Amniacf40492018-05-08 22:59:3339 "frame/find_in_page.mojom",
Andy Paicuc93d30862018-10-10 15:33:4540 "frame/navigation_initiator.mojom",
Dmitry Gozmand016d882018-04-20 01:55:2441 "leak_detector/leak_detector.mojom",
Bill Budge24c1dc1a2018-09-25 18:51:3242 "loader/code_cache.mojom",
Lu Chen5bec7a302018-06-26 18:52:3243 "loader/navigation_predictor.mojom",
Ryan Sturmc65dbe42018-05-31 20:37:0444 "loader/pause_subresource_loading_handle.mojom",
Tarun Bansaldc970292018-07-12 00:02:5845 "loader/previews_resource_loading_hints.mojom",
Dmitry Gozman88ca5a992018-05-18 00:13:3346 "manifest/display_mode.mojom",
47 "manifest/manifest.mojom",
48 "manifest/manifest_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0149 "net/ip_address_space.mojom",
Han Leon96d6b6e8c22018-09-06 06:21:0650 "notifications/notification.mojom",
Becca Hughes6fe54e432018-06-09 04:18:5651 "page/display_cutout.mojom",
Han Leonabbe7c902018-08-30 02:08:1052 "payments/payment_app.mojom",
Jeremy Romanb7024742018-06-18 22:00:2253 "plugins/plugin_registry.mojom",
mark a. foltz6bbe59f2018-07-24 20:06:2454 "presentation/presentation.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0155 "quota/quota_dispatcher_host.mojom",
56 "quota/quota_types.mojom",
Leon Han075e0b32018-11-06 07:59:4457 "referrer.mojom",
Hiroki Nakagawa4b072c62018-11-07 03:57:2558 "script/script_type.mojom",
Han Leon122d28182018-06-26 07:56:5559 "service_worker/dispatch_fetch_event_params.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0160 "service_worker/navigation_preload_state.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0161 "service_worker/service_worker_client.mojom",
62 "service_worker/service_worker_error_type.mojom",
63 "service_worker/service_worker_event_status.mojom",
Han Leon9a3a2fb2018-08-07 02:56:0164 "service_worker/service_worker_fetch_response_callback.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0165 "service_worker/service_worker_installed_scripts_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0166 "service_worker/service_worker_provider_type.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0167 "service_worker/service_worker_state.mojom",
68 "service_worker/service_worker_stream_handle.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:1469 "speech/speech_recognition_error.mojom",
70 "speech/speech_recognition_grammar.mojom",
71 "speech/speech_recognition_result.mojom",
72 "speech/speech_recognizer.mojom",
Luna Lu29d922d2018-03-27 18:06:5173 "use_counter/css_property_id.mojom",
Mounir Lamouri54c31f52018-12-09 02:52:5474 "wake_lock/wake_lock.mojom",
Raymond Toye413650c2018-08-31 00:12:4775 "webaudio/audio_context_manager.mojom",
Hiroki Nakagawac30b9f02018-12-03 11:26:0176 "worker/dedicated_worker_factory.mojom",
Hiroki Nakagawa2da3b582018-12-10 06:44:5277 "worker/shared_worker.mojom",
Hiroki Nakagawad0dee832018-12-04 11:19:1078 "worker/shared_worker_client.mojom",
Hiroki Nakagawa0e677762018-12-06 14:55:3879 "worker/shared_worker_connector.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:2380 "worker/shared_worker_creation_context_type.mojom",
Hiroki Nakagawa86d9e0e2018-12-06 10:55:0081 "worker/shared_worker_host.mojom",
Hiroki Nakagawa1f236df2018-12-06 06:55:2782 "worker/shared_worker_info.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:2383 "worker/worker_main_script_load_params.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0184 ]
85
86 public_deps = [
Han Leonabbe7c902018-08-30 02:08:1087 ":android_mojo_bindings",
Adithya Srinivasanc35bf3962018-06-12 14:28:1488 ":speech_recognition_error_code",
Han Leonabbe7c902018-08-30 02:08:1089 "//components/payments/mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2990 "//components/services/filesystem/public/interfaces",
Oksana Zhuravlova015487b32018-03-09 06:58:2291 "//mojo/public/mojom/base",
Dmitry Gozman88ca5a992018-05-18 00:13:3392 "//services/device/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0193 "//services/network/public/mojom",
Hiroki Nakagawac30b9f02018-12-03 11:26:0194 "//services/service_manager/public/mojom",
Mike Wasserman384f907d2018-06-01 01:50:5695 "//skia/public/interfaces",
Hiroki Nakagawad0dee832018-12-04 11:19:1096 "//third_party/blink/public:web_feature_mojo_bindings",
Donna Wu838ac362018-08-10 10:36:3397 "//third_party/blink/public/mojom/usb",
Kinuko Yasudafa0f2512018-03-01 07:13:0198 "//ui/gfx/geometry/mojo",
99 "//url/mojom:url_mojom_gurl",
100 "//url/mojom:url_mojom_origin",
101 ]
102
103 export_class_attribute = "BLINK_COMMON_EXPORT"
104 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43105 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01106
107 export_class_attribute_blink = "PLATFORM_EXPORT"
108 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06109 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01110}
111
Han Leonabbe7c902018-08-30 02:08:10112# Kept separate from "mojom_platform" because the Java bindings are specifically
113# needed by Android's implementation of payments
114# (in components/payments/content/android and chrome/android/).
115mojom("android_mojo_bindings") {
116 sources = [
117 "payments/payment_request.mojom",
118 ]
119 public_deps = [
120 "//components/payments/mojom",
121 ]
122
123 export_class_attribute = "BLINK_COMMON_EXPORT"
124 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43125 export_header = "third_party/blink/public/common/common_export.h"
Han Leonabbe7c902018-08-30 02:08:10126
127 export_class_attribute_blink = "PLATFORM_EXPORT"
128 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
129 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
130}
131
Adithya Srinivasanc35bf3962018-06-12 14:28:14132# Kept separate from "mojom_platform" because the Java bindings are needed by
133# Android's implementation of speech recognition.
134mojom("speech_recognition_error_code") {
135 sources = [
136 "speech/speech_recognition_error_code.mojom",
137 ]
138}
139
Kinuko Yasudafa0f2512018-03-01 07:13:01140# This target can include mojom interfaces which do use types that are
Chase Phillips4f62c052018-11-06 01:43:51141# typemapped to a type in renderer/core. This also means these interfaces are
142# not available from renderer/platform.
Han Leon94335e42018-03-15 08:44:18143# Note that service_worker_object.mojom and service_worker.mojom depend
Hiroki Nakagawacdbc7912018-11-30 11:30:05144# on transferable_message.mojom, and controller_service_worker.mojom and
145# service_worker_registration.mojom depend on service_worker_object.mojom, so
146# we put these service worker mojom files here rather than mojom_platform
147# target.
Han Leonb2f46cd2018-03-09 01:59:16148# In future we may have a separate mojom target for the things that may have
149# modules dependencies if it looks necessary, at that time we can put all of
150# those high-level service worker mojom files there.
Han Leon19420c72018-03-08 01:59:55151mojom("mojom_core") {
Kinuko Yasudafa0f2512018-03-01 07:13:01152 sources = [
Zhuoyu Qianb647e772018-09-19 04:04:47153 "messaging/cloneable_message.mojom",
154 "messaging/transferable_message.mojom",
Zhuoyu Qian47ed0fc52018-09-06 02:13:40155 "messaging/user_activation_snapshot.mojom",
Lucas Furukawa Gadani72655072018-07-26 22:34:33156 "portal/portal.mojom",
Hiroki Nakagawacdbc7912018-11-30 11:30:05157 "service_worker/controller_service_worker.mojom",
Han Leon94335e42018-03-15 08:44:18158 "service_worker/service_worker.mojom",
Han Leonb2f46cd2018-03-09 01:59:16159 "service_worker/service_worker_object.mojom",
160 "service_worker/service_worker_registration.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01161 ]
162
163 public_deps = [
164 ":mojom_platform",
Richard Li99e67742018-12-20 05:28:13165 "//components/payments/mojom",
Ken Rockot1ca39312018-04-12 05:32:55166 "//mojo/public/mojom/base",
Richard Li99e67742018-12-20 05:28:13167 "//services/network/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01168 "//skia/public/interfaces",
Han Leonb2f46cd2018-03-09 01:59:16169 "//url/mojom:url_mojom_gurl",
Richard Li99e67742018-12-20 05:28:13170 "//url/mojom:url_mojom_origin",
Kinuko Yasudafa0f2512018-03-01 07:13:01171 ]
172
Richard Li99e67742018-12-20 05:28:13173 overridden_deps_blink = [
174 ":mojom_platform",
175 "//services/network/public/mojom",
176 ]
Blink Reformata30d4232018-04-07 15:31:06177 component_deps_blink = [ "//third_party/blink/renderer/platform" ]
Kinuko Yasudafa0f2512018-03-01 07:13:01178
179 export_class_attribute = "BLINK_COMMON_EXPORT"
180 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43181 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01182
183 export_class_attribute_blink = "CORE_EXPORT"
184 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06185 export_header_blink = "third_party/blink/renderer/core/core_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01186}
Chase Phillips4f62c052018-11-06 01:43:51187
188# This target can include mojom interfaces which use types that are typemapped
189# to a type in renderer/modules. This also means these interfaces are not
190# available from renderer/platform or renderer/core.
191mojom("mojom_modules") {
192 sources = [
193 "indexeddb/indexeddb.mojom",
194 ]
195
196 public_deps = [
197 ":mojom_core",
198
199 # TODO(https://crbug.com/822804): Remove when mojom bindings deps checks
200 # get fixed.
201 ":mojom_platform",
202 "//mojo/public/mojom/base",
203 "//skia/public/interfaces",
204 "//url/mojom:url_mojom_gurl",
205 "//url/mojom:url_mojom_origin",
206 ]
207
208 overridden_deps_blink = [
209 ":mojom_core",
210 ":mojom_platform",
211 ]
212 component_deps_blink = [ "//third_party/blink/renderer/core" ]
213
214 export_class_attribute = "BLINK_COMMON_EXPORT"
215 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
216 export_header = "third_party/blink/public/common/common_export.h"
217
218 export_class_attribute_blink = "MODULES_EXPORT"
219 export_define_blink = "BLINK_MODULES_IMPLEMENTATION=1"
220 export_header_blink = "third_party/blink/renderer/modules/modules_export.h"
221}