blob: cb8bbbbd4faf736a1091a06422ba82632695c332 [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")
Julie Jeongeun Kim9912f2e2019-03-01 03:30:186import("//third_party/blink/public/public_features.gni")
Kinuko Yasudafa0f2512018-03-01 07:13:017
Michael Thiessen909ba032019-03-26 23:47:438if (is_android) {
9 import("//build/config/android/config.gni")
10}
11
Kinuko Yasudafa0f2512018-03-01 07:13:0112# This target includes all mojom interfaces which can be used from
Chase Phillips4f62c052018-11-06 01:43:5113# renderer/platform. In particular these mojom interfaces can't use types that
14# are typemapped to a type in renderer/core.
Kinuko Yasudafa0f2512018-03-01 07:13:0115mojom("mojom_platform") {
16 sources = [
John Delaney74efc1d2018-12-20 18:29:1817 "ad_tagging/ad_frame.mojom",
Julie Jeongeun Kim0abed30c2019-03-04 12:18:2018 "app_banner/app_banner.mojom",
Staphany Park5e0954882019-01-14 20:18:2819 "appcache/appcache.mojom",
20 "appcache/appcache_info.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0121 "array_buffer/array_buffer_contents.mojom",
Ken Rockot26e4e802018-07-31 15:03:3322 "associated_interfaces/associated_interfaces.mojom",
Julie Jeongeun Kimdaa631e2019-02-21 14:17:2523 "autoplay/autoplay.mojom",
Richard Li912523f02018-12-13 08:10:4024 "background_fetch/background_fetch.mojom",
Julie Jeongeun Kim781703f2019-03-09 02:49:1025 "background_sync/background_sync.mojom",
Julie Jeongeun Kim78e772b2019-03-08 23:21:5926 "badging/badging.mojom",
Richard Libcc09eb2018-11-30 15:00:3527 "cache_storage/cache_storage.mojom",
Abhijeet Kandalkar849ceff2019-02-28 17:37:2928 "choosers/color_chooser.mojom",
Gyuyoung Kim5f3da842019-06-19 08:07:5729 "choosers/date_time_chooser.mojom",
Kent Tamurac260c9a2018-09-14 09:10:5630 "choosers/file_chooser.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0131 "clipboard/clipboard.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:1032 "commit_result/commit_result.mojom",
Finnur Thorarinsson522d3782018-12-05 02:17:4333 "contacts/contacts_manager.mojom",
Rayan Kansoe78e94a2019-06-20 13:29:0834 "content_index/content_index.mojom",
Victor Costan7184272a2018-05-15 13:17:4335 "cookie_store/cookie_store.mojom",
Yuzu Saijo2d12ef92018-08-21 04:52:0736 "crash/crash_memory_metrics_reporter.mojom",
Findite6ed5abb2019-07-03 20:33:5937 "credentialmanager/credential_manager.mojom",
Hiroki Nakagawa792fcc32018-12-06 06:50:5738 "csp/content_security_policy.mojom",
Leon Han797b2132019-01-20 12:43:1839 "devtools/console_message.mojom",
Hiroki Nakagawa7c0a7e72018-12-10 04:31:2940 "devtools/devtools_agent.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:1041 "devtools/devtools_frontend.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5942 "dom_storage/session_storage_namespace.mojom",
Marijn Kruisselbrinkf9a9e762018-06-07 18:57:1243 "dom_storage/storage_area.mojom",
Marijn Kruisselbrink4712c332018-06-13 19:06:5944 "dom_storage/storage_partition_service.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0145 "feature_policy/feature_policy.mojom",
Richard Lie6899952018-11-30 08:42:0046 "fetch/fetch_api_request.mojom",
Han Leon6bbe7912018-07-31 01:13:4647 "fetch/fetch_api_response.mojom",
Jeremy Roman89a4d0d2018-04-26 19:05:2848 "file/file_utilities.mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2949 "filesystem/file_system.mojom",
Findite6ed5abb2019-07-03 20:33:5950 "frame/document_interface_broker.mojom",
Rakina Zata Amniacf40492018-05-08 22:59:3351 "frame/find_in_page.mojom",
Findite6ed5abb2019-07-03 20:33:5952 "frame/frame_host_test_interface.mojom",
Dave Tapuskad6703f912019-01-31 23:13:1153 "frame/lifecycle.mojom",
Andy Paicuc93d30862018-10-10 15:33:4554 "frame/navigation_initiator.mojom",
Julie Jeongeun Kim162c2d282019-03-13 07:23:5255 "geolocation/geolocation_service.mojom",
Matt Reynolds3ece5aa42019-06-10 22:14:3456 "hid/hid.mojom",
Julie Jeongeun Kimea2e19a2019-03-13 09:59:4957 "hyphenation/hyphenation.mojom",
Julie Jeongeun Kim9f06c5a2019-03-21 07:27:3158 "idle/idle_manager.mojom",
Gyuyoung Kime370bdb2019-06-28 00:31:5259 "image_downloader/image_downloader.mojom",
Julie Jeongeun Kim0cecf4b2019-03-13 11:52:3560 "insecure_input/insecure_input_service.mojom",
Julie Jeongeun Kim41401192019-03-11 13:02:3261 "keyboard_lock/keyboard_lock.mojom",
Dmitry Gozmand016d882018-04-20 01:55:2462 "leak_detector/leak_detector.mojom",
Bill Budge24c1dc1a2018-09-25 18:51:3263 "loader/code_cache.mojom",
Hiroki Nakagawa686d5f52019-06-27 05:12:4364 "loader/fetch_client_settings_object.mojom",
Lu Chen5bec7a302018-06-26 18:52:3265 "loader/navigation_predictor.mojom",
Ryan Sturmc65dbe42018-05-31 20:37:0466 "loader/pause_subresource_loading_handle.mojom",
Tarun Bansaldc970292018-07-12 00:02:5867 "loader/previews_resource_loading_hints.mojom",
Kinuko Yasuda4be168c2019-05-16 05:14:3368 "loader/request_context_frame_type.mojom",
Hiroki Nakagawa753758342018-12-27 04:13:4969 "loader/url_loader_factory_bundle.mojom",
Julie Jeongeun Kim4a064a92019-03-13 10:17:4570 "locks/lock_manager.mojom",
Dmitry Gozman88ca5a992018-05-18 00:13:3371 "manifest/display_mode.mojom",
72 "manifest/manifest.mojom",
73 "manifest/manifest_manager.mojom",
Miyoung Shin0de5d9b2019-05-06 05:42:3474 "manifest/manifest_observer.mojom",
Antonio Gomesafe481a2019-07-18 01:32:5275 "mediastream/aec_dump.mojom",
Guido Urdanetad45f3ed62019-01-16 13:48:1876 "mediastream/media_devices.mojom",
Guido Urdaneta73fa6632019-01-14 18:46:2677 "mediastream/media_stream.mojom",
Julie Jeongeun Kim97410ad2019-02-27 08:04:5178 "mime/mime_registry.mojom",
Marijn Kruisselbrink2d848032019-05-07 19:38:3879 "native_file_system/native_file_system_directory_handle.mojom",
80 "native_file_system/native_file_system_error.mojom",
81 "native_file_system/native_file_system_file_handle.mojom",
Olivier Yiptong74cf65e42019-06-22 13:51:4182 "native_file_system/native_file_system_file_writer.mojom",
Marijn Kruisselbrink2d848032019-05-07 19:38:3883 "native_file_system/native_file_system_manager.mojom",
84 "native_file_system/native_file_system_transfer_token.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0185 "net/ip_address_space.mojom",
Han Leon96d6b6e8c22018-09-06 06:21:0686 "notifications/notification.mojom",
Julie Jeongeun Kim54134502019-03-22 10:40:1387 "notifications/notification_service.mojom",
Julie Jeongeun Kim08999f292019-02-27 23:30:4188 "oom_intervention/oom_intervention.mojom",
Becca Hughes6fe54e432018-06-09 04:18:5689 "page/display_cutout.mojom",
Michael Thiessen07c444c2019-04-26 03:53:1190 "page/spatial_navigation.mojom",
Han Leonabbe7c902018-08-30 02:08:1091 "payments/payment_app.mojom",
Julie Jeongeun Kim162c2d282019-03-13 07:23:5292 "permissions/permission.mojom",
93 "permissions/permission_status.mojom",
Mounir Lamouri99ba5a62019-02-12 01:27:4794 "picture_in_picture/picture_in_picture.mojom",
Jeremy Romanb7024742018-06-18 22:00:2295 "plugins/plugin_registry.mojom",
mark a. foltz6bbe59f2018-07-24 20:06:2496 "presentation/presentation.mojom",
Mario Sanchez Prada683f2f4a2019-05-07 12:41:4697 "push_messaging/push_messaging.mojom",
Mario Sanchez Pradad2990112019-05-07 08:13:4998 "push_messaging/push_messaging_status.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0199 "quota/quota_dispatcher_host.mojom",
100 "quota/quota_types.mojom",
Leon Han075e0b32018-11-06 07:59:44101 "referrer.mojom",
Leon Hanf4003a162019-01-28 05:31:58102 "renderer_preference_watcher.mojom",
Leon Hanc819dc62019-01-28 04:30:19103 "renderer_preferences.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18104 "reporting/reporting.mojom",
Hiroki Nakagawa4b072c62018-11-07 03:57:25105 "script/script_type.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10106 "selection_menu/selection_menu_behavior.mojom",
Leon Han74d7ed32019-04-02 11:29:14107 "service_worker/controller_service_worker_mode.mojom",
Han Leon122d28182018-06-26 07:56:55108 "service_worker/dispatch_fetch_event_params.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01109 "service_worker/navigation_preload_state.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01110 "service_worker/service_worker_client.mojom",
111 "service_worker/service_worker_error_type.mojom",
112 "service_worker/service_worker_event_status.mojom",
Han Leon9a3a2fb2018-08-07 02:56:01113 "service_worker/service_worker_fetch_response_callback.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01114 "service_worker/service_worker_installed_scripts_manager.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01115 "service_worker/service_worker_provider_type.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01116 "service_worker/service_worker_state.mojom",
117 "service_worker/service_worker_stream_handle.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18118 "site_engagement/site_engagement.mojom",
Jun Caic5030f572019-06-19 22:47:44119 "sms/sms_receiver.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:14120 "speech/speech_recognition_error.mojom",
Adithya Srinivasan80383372019-04-17 21:29:24121 "speech/speech_recognition_error_code.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:14122 "speech/speech_recognition_grammar.mojom",
123 "speech/speech_recognition_result.mojom",
124 "speech/speech_recognizer.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18125 "ukm/ukm.mojom",
Luna Lu29d922d2018-03-27 18:06:51126 "use_counter/css_property_id.mojom",
Mike West6e4cbb32019-02-13 09:40:17127 "user_agent/user_agent_metadata.mojom",
Leon Hancaae6db2019-02-03 03:37:54128 "v8_cache_options.mojom",
Mounir Lamouri54c31f52018-12-09 02:52:54129 "wake_lock/wake_lock.mojom",
Findite6ed5abb2019-07-03 20:33:59130 "webaudio/audio_context_manager.mojom",
Julie Jeongeun Kim4fee1cd82019-03-20 07:34:03131 "webdatabase/web_database.mojom",
Yutaka Hirano8e0b4d432019-07-04 07:12:38132 "websockets/websocket_connector.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10133 "window_features/window_features.mojom",
Hiroki Nakagawa2da3b582018-12-10 06:44:52134 "worker/shared_worker.mojom",
Hiroki Nakagawad0dee832018-12-04 11:19:10135 "worker/shared_worker_client.mojom",
Hiroki Nakagawa0e677762018-12-06 14:55:38136 "worker/shared_worker_connector.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:23137 "worker/shared_worker_creation_context_type.mojom",
Hiroki Nakagawa86d9e0e2018-12-06 10:55:00138 "worker/shared_worker_host.mojom",
Hiroki Nakagawa1f236df2018-12-06 06:55:27139 "worker/shared_worker_info.mojom",
Leon Han6ac123d2019-01-17 07:52:25140 "worker/worker_content_settings_proxy.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:23141 "worker/worker_main_script_load_params.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01142 ]
143
Reilly Grant2814fb72019-03-19 17:04:46144 if (!is_android) {
145 sources += [ "serial/serial.mojom" ]
146 }
147
Dominik Röttsches24f9d162019-01-04 10:43:56148 if (is_win) {
149 sources += [ "dwrite_font_proxy/dwrite_font_proxy.mojom" ]
150 }
151
Kinuko Yasudafa0f2512018-03-01 07:13:01152 public_deps = [
Findite6ed5abb2019-07-03 20:33:59153 ":android_mojo_bindings",
154 ":authenticator_test_mojo_bindings",
Ian Wellscbc4e6f2019-02-07 22:07:57155 ":mojom_mhtml_load_result",
Julie Jeongeun Kim573ba3d2019-03-01 11:35:22156 ":web_client_hints_types_mojo_bindings",
Julie Jeongeun Kim184d78a62019-03-01 02:10:15157 ":web_feature_mojo_bindings",
Han Leonabbe7c902018-08-30 02:08:10158 "//components/payments/mojom",
Miyoung Shina26226512019-07-17 09:44:38159 "//components/services/filesystem/public/mojom",
Oksana Zhuravlova015487b32018-03-09 06:58:22160 "//mojo/public/mojom/base",
Dmitry Gozman88ca5a992018-05-18 00:13:33161 "//services/device/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01162 "//services/network/public/mojom",
Minggang Wang1449cc52019-07-04 08:52:24163 "//services/network/public/mojom:data_pipe_interfaces",
Yutaka Hirano8e0b4d432019-07-04 07:12:38164 "//services/network/public/mojom:websocket_mojom",
Hiroki Nakagawac30b9f02018-12-03 11:26:01165 "//services/service_manager/public/mojom",
Mounir Lamouri99ba5a62019-02-12 01:27:47166 "//services/viz/public/interfaces",
Mike Wasserman384f907d2018-06-01 01:50:56167 "//skia/public/interfaces",
Donna Wu838ac362018-08-10 10:36:33168 "//third_party/blink/public/mojom/usb",
Gyuyoung Kim5f3da842019-06-19 08:07:57169 "//ui/base/ime/mojo",
Kinuko Yasudafa0f2512018-03-01 07:13:01170 "//ui/gfx/geometry/mojo",
Leon Hanc819dc62019-01-28 04:30:19171 "//ui/gfx/mojo",
Kinuko Yasudafa0f2512018-03-01 07:13:01172 "//url/mojom:url_mojom_gurl",
173 "//url/mojom:url_mojom_origin",
174 ]
175
Giovanni Ortuño Urquidi301f05c2019-07-15 07:01:06176 # TODO(https://crbug.com/968369): Change to use new names.
177 use_old_js_lite_bindings_names = true
178
Guido Urdaneta73fa6632019-01-14 18:46:26179 # iOS doesn't use and must not depend on //media
180 if (!is_ios) {
181 public_deps += [
182 "//media/capture/mojom:video_capture",
183 "//media/mojo/interfaces",
184 ]
185 }
186
Leon Hanc819dc62019-01-28 04:30:19187 if (is_linux || is_chromeos) {
188 enabled_features = [ "renderer_pref_system_font_family_name" ]
189 }
190
Kinuko Yasudafa0f2512018-03-01 07:13:01191 export_class_attribute = "BLINK_COMMON_EXPORT"
192 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43193 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01194
195 export_class_attribute_blink = "PLATFORM_EXPORT"
196 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06197 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Suzy Li5ec40b12019-07-12 20:25:58198
199 # Don't scramble message IDs so they are redistributable to external tests.
200 scramble_message_ids = false
Kinuko Yasudafa0f2512018-03-01 07:13:01201}
202
Julie Jeongeun Kim17abfc72019-03-26 22:49:18203# Kept separate from "mojom_platform" because the Java bindings are
204# needed by Android's implementation (in chrome/android or in android_webview)
205# for following mojom files.
Han Leonabbe7c902018-08-30 02:08:10206mojom("android_mojo_bindings") {
207 sources = [
Eric Willigerse99debf52019-04-05 01:32:05208 "blob/blob.mojom",
209 "blob/blob_registry.mojom",
210 "blob/blob_url_store.mojom",
211 "blob/data_element.mojom",
212 "blob/serialized_blob.mojom",
Julie Jeongeun Kim17abfc72019-03-26 22:49:18213 "document_metadata/copyless_paste.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25214 "font_unique_name_lookup/font_unique_name_lookup.mojom",
Julie Jeongeun Kim7de77e92019-02-27 00:14:15215 "input/input_host.mojom",
216 "input/input_messages.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25217 "installation/installation.mojom",
Julie Jeongeun Kimd3d00a12019-03-25 01:46:25218 "installedapp/installed_app_provider.mojom",
219 "installedapp/related_application.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25220 "mediasession/media_session.mojom",
Rouslan Solomakhina480efa2019-05-06 15:37:22221 "payments/payment_handler_host.mojom",
Han Leonabbe7c902018-08-30 02:08:10222 "payments/payment_request.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10223 "remote_objects/remote_objects.mojom",
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26224 "webauthn/authenticator.mojom",
Manas Verma77aeb1782019-05-13 20:40:52225 "webauthn/internal_authenticator.mojom",
Eric Willigers3eeae17c2019-03-13 17:32:10226 "webshare/webshare.mojom",
Han Leonabbe7c902018-08-30 02:08:10227 ]
Michael Thiessen909ba032019-03-26 23:47:43228 if (is_android && notouch_build) {
229 sources += [ "media_controls/touchless/media_controls.mojom" ]
230 }
Han Leonabbe7c902018-08-30 02:08:10231 public_deps = [
232 "//components/payments/mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10233 "//mojo/public/mojom/base",
Julie Jeongeun Kime6178522019-03-31 06:02:25234 "//services/media_session/public/mojom",
Eric Willigerse99debf52019-04-05 01:32:05235 "//services/network/public/mojom",
Eric Willigers3eeae17c2019-03-13 17:32:10236 "//url/mojom:url_mojom_gurl",
237 "//url/mojom:url_mojom_origin",
Han Leonabbe7c902018-08-30 02:08:10238 ]
239
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18240 # This Android unhandled-tap feature uses another mojo source, add it in.
241 if (enable_unhandled_tap) {
242 sources += [ "unhandled_tap_notifier/unhandled_tap_notifier.mojom" ]
243 public_deps += [ "//ui/gfx/geometry/mojo" ]
244 }
245
Giovanni Ortuño Urquidi301f05c2019-07-15 07:01:06246 # TODO(https://crbug.com/968369): Change to use new names.
247 use_old_js_lite_bindings_names = true
248
Han Leonabbe7c902018-08-30 02:08:10249 export_class_attribute = "BLINK_COMMON_EXPORT"
250 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43251 export_header = "third_party/blink/public/common/common_export.h"
Han Leonabbe7c902018-08-30 02:08:10252
253 export_class_attribute_blink = "PLATFORM_EXPORT"
254 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
255 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26256
257 # Don't scramble message IDs so they are redistributable to external tests.
258 scramble_message_ids = false
Han Leonabbe7c902018-08-30 02:08:10259}
260
Kinuko Yasudafa0f2512018-03-01 07:13:01261# This target can include mojom interfaces which do use types that are
Chase Phillips4f62c052018-11-06 01:43:51262# typemapped to a type in renderer/core. This also means these interfaces are
263# not available from renderer/platform.
Hiroki Nakagawa9144ec862019-01-28 10:12:44264#
Han Leonb2f46cd2018-03-09 01:59:16265# In future we may have a separate mojom target for the things that may have
266# modules dependencies if it looks necessary, at that time we can put all of
267# those high-level service worker mojom files there.
Han Leon19420c72018-03-08 01:59:55268mojom("mojom_core") {
Kinuko Yasudafa0f2512018-03-01 07:13:01269 sources = [
Zhuoyu Qianb647e772018-09-19 04:04:47270 "messaging/cloneable_message.mojom",
271 "messaging/transferable_message.mojom",
Zhuoyu Qian47ed0fc52018-09-06 02:13:40272 "messaging/user_activation_snapshot.mojom",
Lucas Furukawa Gadani72655072018-07-26 22:34:33273 "portal/portal.mojom",
Hiroki Nakagawa9144ec862019-01-28 10:12:44274
275 # Note that service_worker_object.mojom and service_worker.mojom depend on
276 # transferable_message.mojom, and controller_service_worker.mojom and
277 # service_worker_registration.mojom depend on service_worker_object.mojom,
278 # so we put these service worker mojom files here rather than mojom_platform
279 # target.
Hiroki Nakagawacdbc7912018-11-30 11:30:05280 "service_worker/controller_service_worker.mojom",
Leon Han6e7c6e2f2019-02-03 07:26:56281 "service_worker/embedded_worker.mojom",
Han Leon94335e42018-03-15 08:44:18282 "service_worker/service_worker.mojom",
Richard Li743a69f2018-12-21 06:44:56283 "service_worker/service_worker_container.mojom",
Han Leonb2f46cd2018-03-09 01:59:16284 "service_worker/service_worker_object.mojom",
Richard Li32fb39202018-12-21 06:49:41285 "service_worker/service_worker_provider.mojom",
Han Leonb2f46cd2018-03-09 01:59:16286 "service_worker/service_worker_registration.mojom",
Hiroki Nakagawa9144ec862019-01-28 10:12:44287
288 # Depends on controller_service_worker.mojom.
Hiroki Nakagawa3d14c4f2019-02-09 01:27:30289 "worker/dedicated_worker_host_factory.mojom",
Hiroki Nakagawa9144ec862019-01-28 10:12:44290 "worker/shared_worker_factory.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01291 ]
292
293 public_deps = [
Eric Willigerse99debf52019-04-05 01:32:05294 ":android_mojo_bindings",
Kinuko Yasudafa0f2512018-03-01 07:13:01295 ":mojom_platform",
Julie Jeongeun Kim184d78a62019-03-01 02:10:15296 ":web_feature_mojo_bindings",
Richard Li99e67742018-12-20 05:28:13297 "//components/payments/mojom",
Ken Rockot1ca39312018-04-12 05:32:55298 "//mojo/public/mojom/base",
Richard Li99e67742018-12-20 05:28:13299 "//services/network/public/mojom",
Richard Li32fb39202018-12-21 06:49:41300 "//services/service_manager/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01301 "//skia/public/interfaces",
Han Leonb2f46cd2018-03-09 01:59:16302 "//url/mojom:url_mojom_gurl",
Richard Li99e67742018-12-20 05:28:13303 "//url/mojom:url_mojom_origin",
Kinuko Yasudafa0f2512018-03-01 07:13:01304 ]
305
Richard Li99e67742018-12-20 05:28:13306 overridden_deps_blink = [
Eric Willigerse99debf52019-04-05 01:32:05307 ":android_mojo_bindings",
Richard Li99e67742018-12-20 05:28:13308 ":mojom_platform",
309 "//services/network/public/mojom",
310 ]
Blink Reformata30d4232018-04-07 15:31:06311 component_deps_blink = [ "//third_party/blink/renderer/platform" ]
Kinuko Yasudafa0f2512018-03-01 07:13:01312
313 export_class_attribute = "BLINK_COMMON_EXPORT"
314 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43315 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01316
317 export_class_attribute_blink = "CORE_EXPORT"
318 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06319 export_header_blink = "third_party/blink/renderer/core/core_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01320}
Chase Phillips4f62c052018-11-06 01:43:51321
322# This target can include mojom interfaces which use types that are typemapped
323# to a type in renderer/modules. This also means these interfaces are not
324# available from renderer/platform or renderer/core.
325mojom("mojom_modules") {
326 sources = [
327 "indexeddb/indexeddb.mojom",
328 ]
329
330 public_deps = [
Eric Willigerse99debf52019-04-05 01:32:05331 ":android_mojo_bindings",
Chase Phillips4f62c052018-11-06 01:43:51332 ":mojom_core",
Chase Phillips4f62c052018-11-06 01:43:51333 "//mojo/public/mojom/base",
Chase Phillips4f62c052018-11-06 01:43:51334 ]
335
336 overridden_deps_blink = [
Eric Willigerse99debf52019-04-05 01:32:05337 ":android_mojo_bindings",
Chase Phillips4f62c052018-11-06 01:43:51338 ":mojom_core",
Chase Phillips4f62c052018-11-06 01:43:51339 ]
Daniel Bratella8e802a2019-04-03 13:27:18340 component_deps_blink = [ "//third_party/blink/renderer/core" ]
Chase Phillips4f62c052018-11-06 01:43:51341
342 export_class_attribute = "BLINK_COMMON_EXPORT"
343 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
344 export_header = "third_party/blink/public/common/common_export.h"
345
346 export_class_attribute_blink = "MODULES_EXPORT"
347 export_define_blink = "BLINK_MODULES_IMPLEMENTATION=1"
348 export_header_blink = "third_party/blink/renderer/modules/modules_export.h"
349}
Ian Wellscbc4e6f2019-02-07 22:07:57350
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09351mojom("web_bluetooth_mojo_bindings") {
352 visibility = [
Ovidio Henriquez0e8ab7072019-05-31 21:38:07353 "//third_party/blink/common",
354 "//third_party/blink/public/common:common",
355 "//third_party/blink/public/common:headers",
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09356 ]
357
Ovidio Henriquez0e8ab7072019-05-31 21:38:07358 visibility_blink = [
359 "//third_party/blink/common",
360 "//third_party/blink/public/common:common",
361 "//third_party/blink/public/common:headers",
362 "//third_party/blink/renderer/platform:blink_platform_public_deps",
363 ]
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09364
365 sources = [
366 "bluetooth/web_bluetooth.mojom",
367 ]
368
369 public_deps = [
370 "//device/bluetooth/public/mojom",
371 ]
372
373 # The chromium variant must be linked with content and use the same export
374 # settings in component build because of the WebBluetoothDeviceId typemap
375 # inside content.
Ovidio Henriquez0e8ab7072019-05-31 21:38:07376 export_class_attribute = "BLINK_COMMON_EXPORT"
377 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
378 export_header = "third_party/blink/public/common/common_export.h"
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09379
380 # Similarly, the blink variant must be linked with the platform component
381 # since it uses types from it in its typemaps.
382 export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
383 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
384 export_header_blink = "third_party/blink/public/platform/web_common.h"
385}
386
Julie Jeongeun Kim6d9562f2019-03-27 09:17:43387# The mojom_broadcastchannel_bindings is separated from the rest of mojom files
388# to allow blink/renderer/core to depend on this.
389mojom("mojom_broadcastchannel_bindings") {
390 visibility = [ "//content/*" ]
391 visibility_blink = [ "//third_party/blink/renderer/core/*" ]
392 sources = [
393 "broadcastchannel/broadcast_channel.mojom",
394 ]
395 public_deps = [
396 ":mojom_core",
397 "//url/mojom:url_mojom_origin",
398 ]
399
400 overridden_deps = [ ":mojom_core" ]
401 component_deps = [ "//third_party/blink/public/common" ]
402
403 component_output_prefix = "blink_mojom_broadcastchannel_bindings"
404
405 # See comment above.
406 export_class_attribute = "CONTENT_EXPORT"
407 export_define = "CONTENT_IMPLEMENTATION=1"
408 export_header = "content/common/content_export.h"
409
410 # Similarly, the blink variant must be linked with the core component
411 # since it uses types from it in its typemaps.
412 export_class_attribute_blink = "CORE_EXPORT"
413 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
414 export_header_blink = "third_party/blink/renderer/core/core_export.h"
415}
416
Ian Wellscbc4e6f2019-02-07 22:07:57417mojom("mojom_mhtml_load_result") {
418 sources = [
419 "loader/mhtml_load_result.mojom",
420 ]
421
422 export_class_attribute = "BLINK_COMMON_EXPORT"
423 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
424 export_header = "third_party/blink/public/common/common_export.h"
425}
Julie Jeongeun Kim184d78a62019-03-01 02:10:15426
427# The web_feature_mojo_bindings is separated from the rest of the mojom files
428# because the chromium typemap for blink mojo_bindings has private content
429# dependencies.
430mojom_component("web_feature_mojo_bindings") {
431 sources = [
432 "web_feature/web_feature.mojom",
433 ]
434
435 macro_prefix = "WEB_FEATURE_MOJO_BINDINGS_MOJOM"
436 output_prefix = "web_feature_mojo_bindings_mojom"
437}
Julie Jeongeun Kim573ba3d2019-03-01 11:35:22438
439# The web_client_hints_types_mojo_bindings is separated from the rest of the
440# mojom files because the chromium typemap for blink mojo_bindings has private
441# content dependencies.
442mojom("web_client_hints_types_mojo_bindings") {
443 sources = [
444 "web_client_hints/web_client_hints_types.mojom",
445 ]
446}
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26447
Julie Jeongeun Kim8b3d55242019-03-27 00:05:56448# The embedded_frame_sink_mojo_bindings is separated from the rest of mojom
449# files because its deps contain too many files in Chromium that would pollute
450# the include paths in generated mojom-blink files for other services.
451mojom("embedded_frame_sink_mojo_bindings") {
452 visibility = [ "//content/*" ]
453 visibility_blink = [ "//third_party/blink/renderer/platform" ]
454 sources = [
455 "frame_sinks/embedded_frame_sink.mojom",
456 ]
457 deps = [
458 "//services/viz/public/interfaces",
459 ]
460
461 component_output_prefix = "blink_embedded_frame_sink_mojo_bindings"
462
463 # The chromium variant must be linked with content and use the same export
464 # settings in component build.
465 export_class_attribute = "CONTENT_EXPORT"
466 export_define = "CONTENT_IMPLEMENTATION=1"
467 export_header = "content/common/content_export.h"
468 export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
469 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
470 export_header_blink = "third_party/blink/public/platform/web_common.h"
471}
472
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26473# This is a separate target because it needs unscrambled message IDs.
474mojom("authenticator_test_mojo_bindings") {
475 sources = [
476 "webauthn/virtual_authenticator.mojom",
477 ]
478
479 public_deps = [
480 ":android_mojo_bindings",
481 "//url/mojom:url_mojom_gurl",
482 ]
483
484 export_class_attribute = "BLINK_COMMON_EXPORT"
485 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
486 export_header = "third_party/blink/public/common/common_export.h"
487
488 export_class_attribute_blink = "PLATFORM_EXPORT"
489 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
490 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
491
492 # Don't scramble message IDs so they are redistributable to external tests.
493 scramble_message_ids = false
Giovanni Ortuño Urquidi301f05c2019-07-15 07:01:06494
495 # TODO(https://crbug.com/968369): Change to use new names.
496 use_old_js_lite_bindings_names = true
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26497}