blob: c6b77bb2c77aefca293631fbf0f0b87eebe2e0f6 [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") {
danakj7c03b6d2019-10-22 20:01:3116 generate_java = true
Kinuko Yasudafa0f2512018-03-01 07:13:0117 sources = [
John Delaney74efc1d2018-12-20 18:29:1818 "ad_tagging/ad_frame.mojom",
David Bokand7c43472019-10-26 04:38:1419 "agents/agent_metrics.mojom",
Julie Jeongeun Kim0abed30c2019-03-04 12:18:2020 "app_banner/app_banner.mojom",
Staphany Park5e0954882019-01-14 20:18:2821 "appcache/appcache.mojom",
22 "appcache/appcache_info.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0123 "array_buffer/array_buffer_contents.mojom",
Ken Rockot26e4e802018-07-31 15:03:3324 "associated_interfaces/associated_interfaces.mojom",
Julie Jeongeun Kimdaa631e2019-02-21 14:17:2525 "autoplay/autoplay.mojom",
Richard Li912523f2018-12-13 08:10:4026 "background_fetch/background_fetch.mojom",
Julie Jeongeun Kim781703f2019-03-09 02:49:1027 "background_sync/background_sync.mojom",
Julie Jeongeun Kim78e772b2019-03-08 23:21:5928 "badging/badging.mojom",
Oksana Zhuravlovafee097c2019-07-26 17:01:3029 "browser_interface_broker.mojom",
Richard Libcc09eb2018-11-30 15:00:3530 "cache_storage/cache_storage.mojom",
Abhijeet Kandalkar849ceff2019-02-28 17:37:2931 "choosers/color_chooser.mojom",
Gyuyoung Kim5f3da842019-06-19 08:07:5732 "choosers/date_time_chooser.mojom",
Kent Tamurac260c9a2018-09-14 09:10:5633 "choosers/file_chooser.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0134 "clipboard/clipboard.mojom",
Darwin Huang1c76cd0f82020-02-13 23:15:0435 "clipboard/raw_clipboard.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:1036 "commit_result/commit_result.mojom",
Finnur Thorarinsson522d3782018-12-05 02:17:4337 "contacts/contacts_manager.mojom",
Rayan Kansoe78e94a2019-06-20 13:29:0838 "content_index/content_index.mojom",
John Delaney732721e92020-02-07 23:11:2739 "conversions/conversions.mojom",
Victor Costan7184272a2018-05-15 13:17:4340 "cookie_store/cookie_store.mojom",
Yuzu Saijo2d12ef92018-08-21 04:52:0741 "crash/crash_memory_metrics_reporter.mojom",
Findite6ed5abb2019-07-03 20:33:5942 "credentialmanager/credential_manager.mojom",
Leon Han797b2132019-01-20 12:43:1843 "devtools/console_message.mojom",
Hiroki Nakagawa7c0a7e72018-12-10 04:31:2944 "devtools/devtools_agent.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:1045 "devtools/devtools_frontend.mojom",
Jan Schefflerf51add182020-02-03 12:36:4946 "devtools/inspector_issue.mojom",
Miyoung Shin2e2ea4a2020-02-13 11:59:3147 "favicon/favicon_url.mojom",
Adrienne Walker80d95f02020-02-07 22:37:0448 "feature_observer/feature_observer.mojom",
Charlie Hu5ecaae02020-02-20 15:12:1849 "feature_policy/document_policy_feature.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:0150 "feature_policy/feature_policy.mojom",
Ian Clelland82c5542c2019-09-06 15:35:4551 "feature_policy/feature_policy_feature.mojom",
52 "feature_policy/policy_value.mojom",
Richard Lie6899952018-11-30 08:42:0053 "fetch/fetch_api_request.mojom",
Han Leon6bbe7912018-07-31 01:13:4654 "fetch/fetch_api_response.mojom",
Jeremy Roman89a4d0d2018-04-26 19:05:2855 "file/file_utilities.mojom",
Adithya Srinivasan0c72ff02018-08-13 19:47:2956 "filesystem/file_system.mojom",
Abhijeet Kandalkarde7348e2020-01-13 06:06:5457 "frame/blocked_navigation_types.mojom",
Mario Sanchez Pradab81acd7c2019-08-13 08:59:3358 "frame/frame.mojom",
Julie Jeongeun Kim70a2e4e2020-02-21 05:09:5459 "frame/frame_owner_properties.mojom",
Charlie Hu0b97fce2019-11-12 14:54:4460 "frame/frame_policy.mojom",
Dave Tapuskaa4189512019-10-15 20:27:3461 "frame/fullscreen.mojom",
Julie Jeongeun Kim54713b662020-01-30 05:48:1262 "frame/intrinsic_sizing_info.mojom",
Dave Tapuskad6703f912019-01-31 23:13:1163 "frame/lifecycle.mojom",
Abhijeet Kandalkarad9e6dfd2020-01-23 18:35:3164 "frame/media_player_action.mojom",
Andy Paicuc93d30862018-10-10 15:33:4565 "frame/navigation_initiator.mojom",
Dave Tapuska97d22ab2019-12-03 17:56:3666 "frame/sudden_termination_disabler_type.mojom",
Antonio Gomes4b2c5132020-01-16 11:49:4867 "frame/user_activation_update_types.mojom",
Julie Jeongeun Kim162c2d282019-03-13 07:23:5268 "geolocation/geolocation_service.mojom",
Matt Reynolds3ece5aa42019-06-10 22:14:3469 "hid/hid.mojom",
Julie Jeongeun Kimea2e19a2019-03-13 09:59:4970 "hyphenation/hyphenation.mojom",
Julie Jeongeun Kim9f06c5a2019-03-21 07:27:3171 "idle/idle_manager.mojom",
Gyuyoung Kime370bdb2019-06-28 00:31:5272 "image_downloader/image_downloader.mojom",
Miyoung Shinff5aff32020-01-25 04:15:2573 "input/focus_type.mojom",
Dave Tapuskac25629b32020-01-03 15:45:4174 "input/scroll_direction.mojom",
Julie Jeongeun Kim0cecf4b2019-03-13 11:52:3575 "insecure_input/insecure_input_service.mojom",
Julie Jeongeun Kim41401192019-03-11 13:02:3276 "keyboard_lock/keyboard_lock.mojom",
Dmitry Gozmand016d882018-04-20 01:55:2477 "leak_detector/leak_detector.mojom",
Bill Budge24c1dc1a2018-09-25 18:51:3278 "loader/code_cache.mojom",
Hiroki Nakagawa686d5f52019-06-27 05:12:4379 "loader/fetch_client_settings_object.mojom",
Lu Chen5bec7a302018-06-26 18:52:3280 "loader/navigation_predictor.mojom",
Ryan Sturmc65dbe42018-05-31 20:37:0481 "loader/pause_subresource_loading_handle.mojom",
Tarun Bansaldc970292018-07-12 00:02:5882 "loader/previews_resource_loading_hints.mojom",
Kinuko Yasuda4be168c2019-05-16 05:14:3383 "loader/request_context_frame_type.mojom",
Minggang Wangee5af392020-02-05 02:55:2884 "loader/resource_load_info.mojom",
Hiroki Nakagawa753758342018-12-27 04:13:4985 "loader/url_loader_factory_bundle.mojom",
Julie Jeongeun Kim4a064a92019-03-13 10:17:4586 "locks/lock_manager.mojom",
Dmitry Gozman88ca5a992018-05-18 00:13:3387 "manifest/display_mode.mojom",
88 "manifest/manifest.mojom",
89 "manifest/manifest_manager.mojom",
Miyoung Shin0de5d9b2019-05-06 05:42:3490 "manifest/manifest_observer.mojom",
Antonio Gomesafe481a2019-07-18 01:32:5291 "mediastream/aec_dump.mojom",
Guido Urdanetad45f3ed62019-01-16 13:48:1892 "mediastream/media_devices.mojom",
Guido Urdaneta73fa6632019-01-14 18:46:2693 "mediastream/media_stream.mojom",
Julie Jeongeun Kim97410ad2019-02-27 08:04:5194 "mime/mime_registry.mojom",
Marijn Kruisselbrink2d848032019-05-07 19:38:3895 "native_file_system/native_file_system_directory_handle.mojom",
96 "native_file_system/native_file_system_error.mojom",
97 "native_file_system/native_file_system_file_handle.mojom",
Olivier Yiptong74cf65e42019-06-22 13:51:4198 "native_file_system/native_file_system_file_writer.mojom",
Marijn Kruisselbrink2d848032019-05-07 19:38:3899 "native_file_system/native_file_system_manager.mojom",
100 "native_file_system/native_file_system_transfer_token.mojom",
Han Leon96d6b6e8c22018-09-06 06:21:06101 "notifications/notification.mojom",
Julie Jeongeun Kim54134502019-03-22 10:40:13102 "notifications/notification_service.mojom",
Julie Jeongeun Kim08999f292019-02-27 23:30:41103 "oom_intervention/oom_intervention.mojom",
Becca Hughes6fe54e432018-06-09 04:18:56104 "page/display_cutout.mojom",
Michael Thiessen07c444c2019-04-26 03:53:11105 "page/spatial_navigation.mojom",
Han Leonabbe7c902018-08-30 02:08:10106 "payments/payment_app.mojom",
Antonio Gomes37d645f92019-10-23 03:50:08107 "peerconnection/peer_connection_tracker.mojom",
Julie Jeongeun Kim162c2d282019-03-13 07:23:52108 "permissions/permission.mojom",
Raphael Kubo da Costa25f8a222020-01-14 16:20:07109 "permissions/permission_automation.mojom",
Julie Jeongeun Kim162c2d282019-03-13 07:23:52110 "permissions/permission_status.mojom",
Mounir Lamouri99ba5a62019-02-12 01:27:47111 "picture_in_picture/picture_in_picture.mojom",
Jeremy Romanb7024742018-06-18 22:00:22112 "plugins/plugin_registry.mojom",
Darin Fisher8a9bb1c2020-02-14 16:18:40113 "prerender/prerender.mojom",
mark a. foltz6bbe59f2018-07-24 20:06:24114 "presentation/presentation.mojom",
Mario Sanchez Prada683f2f4a2019-05-07 12:41:46115 "push_messaging/push_messaging.mojom",
Mario Sanchez Pradad2990112019-05-07 08:13:49116 "push_messaging/push_messaging_status.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01117 "quota/quota_dispatcher_host.mojom",
118 "quota/quota_types.mojom",
Leon Han075e0b32018-11-06 07:59:44119 "referrer.mojom",
Leon Hanf4003a162019-01-28 05:31:58120 "renderer_preference_watcher.mojom",
Leon Hanc819dc62019-01-28 04:30:19121 "renderer_preferences.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18122 "reporting/reporting.mojom",
Staphany Parkafda6dd72019-09-02 08:51:49123 "screen_enumeration/screen_enumeration.mojom",
Hiroki Nakagawa4b072c62018-11-07 03:57:25124 "script/script_type.mojom",
Miyoung Shinbb4493b2020-02-12 09:00:45125 "scroll/scroll_enums.mojom",
Miyoung Shind4b79b02020-01-27 09:34:56126 "scroll/scroll_into_view_params.mojom",
Julie Jeongeun Kimddecc852020-02-10 10:24:53127 "scroll/scrollbar_mode.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10128 "selection_menu/selection_menu_behavior.mojom",
Alexey Baskakov9bafd8c2019-11-19 23:51:37129 "service_worker/controller_service_worker_mode.mojom",
130 "service_worker/dispatch_fetch_event_params.mojom",
131 "service_worker/navigation_preload_state.mojom",
132 "service_worker/service_worker_client.mojom",
Hiroki Nakagawa8739f73a2020-01-21 17:01:14133 "service_worker/service_worker_container_type.mojom",
Kenichi Ishibashi23310a82019-11-21 09:27:29134 "service_worker/service_worker_database.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01135 "service_worker/service_worker_error_type.mojom",
Alexey Baskakov9bafd8c2019-11-19 23:51:37136 "service_worker/service_worker_event_status.mojom",
137 "service_worker/service_worker_fetch_response_callback.mojom",
138 "service_worker/service_worker_installed_scripts_manager.mojom",
Kenichi Ishibashi23310a82019-11-21 09:27:29139 "service_worker/service_worker_registration_options.mojom",
Alexey Baskakov9bafd8c2019-11-19 23:51:37140 "service_worker/service_worker_state.mojom",
141 "service_worker/service_worker_stream_handle.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18142 "site_engagement/site_engagement.mojom",
Jun Caic5030f572019-06-19 22:47:44143 "sms/sms_receiver.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:14144 "speech/speech_recognition_error.mojom",
Adithya Srinivasan80383372019-04-17 21:29:24145 "speech/speech_recognition_error_code.mojom",
Adithya Srinivasanc35bf3962018-06-12 14:28:14146 "speech/speech_recognition_grammar.mojom",
147 "speech/speech_recognition_result.mojom",
148 "speech/speech_recognizer.mojom",
Darin Fishera26aa7e2019-09-02 20:22:59149 "speech/speech_synthesis.mojom",
Yuta Kasaie1f610302019-11-14 03:31:16150 "timing/performance_mark_or_measure.mojom",
Dave Tapuska8cc25392020-01-22 18:36:48151 "timing/resource_timing.mojom",
Yuta Kasaie1f610302019-11-14 03:31:16152 "timing/worker_timing_container.mojom",
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18153 "ukm/ukm.mojom",
Mike West6e4cbb32019-02-13 09:40:17154 "user_agent/user_agent_metadata.mojom",
Leon Hancaae6db2019-02-03 03:37:54155 "v8_cache_options.mojom",
Mounir Lamouri54c31f52018-12-09 02:52:54156 "wake_lock/wake_lock.mojom",
Jay Harrisaf1ca9232020-02-06 22:36:40157 "web_launch/file_handling_expiry.mojom",
Jay Harrisf6a6b9a2019-07-24 01:42:00158 "web_launch/web_launch.mojom",
Findite6ed5abb2019-07-03 20:33:59159 "webaudio/audio_context_manager.mojom",
Julie Jeongeun Kim4fee1cd82019-03-20 07:34:03160 "webdatabase/web_database.mojom",
Yutaka Hirano8e0b4d432019-07-04 07:12:38161 "websockets/websocket_connector.mojom",
Yutaka Hirano492c93d2019-11-05 11:28:03162 "webtransport/quic_transport_connector.mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10163 "window_features/window_features.mojom",
Dave Tapuska5c84c022019-08-22 13:00:08164 "worker/dedicated_worker_host.mojom",
Hiroki Nakagawa2da3b582018-12-10 06:44:52165 "worker/shared_worker.mojom",
Hiroki Nakagawad0dee832018-12-04 11:19:10166 "worker/shared_worker_client.mojom",
Hiroki Nakagawa0e677762018-12-06 14:55:38167 "worker/shared_worker_connector.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:23168 "worker/shared_worker_creation_context_type.mojom",
Hiroki Nakagawa86d9e0e2018-12-06 10:55:00169 "worker/shared_worker_host.mojom",
Hiroki Nakagawa1f236df2018-12-06 06:55:27170 "worker/shared_worker_info.mojom",
Hiroki Nakagawa579d02a2019-09-10 04:13:51171 "worker/subresource_loader_updater.mojom",
Leon Han6ac123d2019-01-17 07:52:25172 "worker/worker_content_settings_proxy.mojom",
Hiroki Nakagawa32376a52018-12-03 10:49:23173 "worker/worker_main_script_load_params.mojom",
Eriko Kurimoto1f69cbbc2020-01-15 08:02:43174 "worker/worker_options.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01175 ]
176
Reilly Grant2814fb72019-03-19 17:04:46177 if (!is_android) {
178 sources += [ "serial/serial.mojom" ]
179 }
180
Dominik Röttsches24f9d162019-01-04 10:43:56181 if (is_win) {
182 sources += [ "dwrite_font_proxy/dwrite_font_proxy.mojom" ]
183 }
184
Kinuko Yasudafa0f2512018-03-01 07:13:01185 public_deps = [
Findite6ed5abb2019-07-03 20:33:59186 ":android_mojo_bindings",
187 ":authenticator_test_mojo_bindings",
Ian Wellscbc4e6f2019-02-07 22:07:57188 ":mojom_mhtml_load_result",
Julie Jeongeun Kim573ba3d2019-03-01 11:35:22189 ":web_client_hints_types_mojo_bindings",
Julie Jeongeun Kim184d78a62019-03-01 02:10:15190 ":web_feature_mojo_bindings",
Dave Tapuska6e9982b2019-10-30 22:18:42191 "//cc/mojom",
Han Leonabbe7c902018-08-30 02:08:10192 "//components/payments/mojom",
Sam Bowen77de8e2e2020-02-18 21:18:41193 "//components/schema_org/common:mojom",
Miyoung Shina26226512019-07-17 09:44:38194 "//components/services/filesystem/public/mojom",
Oksana Zhuravlova015487b32018-03-09 06:58:22195 "//mojo/public/mojom/base",
Dmitry Gozman88ca5a992018-05-18 00:13:33196 "//services/device/public/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01197 "//services/network/public/mojom",
Minggang Wang1449cc52019-07-04 08:52:24198 "//services/network/public/mojom:data_pipe_interfaces",
Minggang Wangee5af392020-02-05 02:55:28199 "//services/network/public/mojom:mojom_ip_address",
Yutaka Hirano8e0b4d432019-07-04 07:12:38200 "//services/network/public/mojom:websocket_mojom",
Hiroki Nakagawac30b9f02018-12-03 11:26:01201 "//services/service_manager/public/mojom",
Miyoung Shin99505dd2019-07-27 12:45:35202 "//services/viz/public/mojom",
Miyoung Shin40adbd62019-07-30 07:33:40203 "//skia/public/mojom",
Ken Rockot5cacb402019-11-18 20:54:05204 "//third_party/blink/public/mojom/dom_storage",
Evan Stade61ccab72020-01-17 20:17:51205 "//third_party/blink/public/mojom/frame",
Donna Wu838ac362018-08-10 10:36:33206 "//third_party/blink/public/mojom/usb",
Miyoung Shinb18c4762019-07-27 08:14:40207 "//ui/base/ime/mojom",
Mike Wasserman988465ae2019-11-06 00:52:13208 "//ui/display/mojom",
Dave Tapuskac25629b32020-01-03 15:45:41209 "//ui/events/mojom",
Miyoung Shin87943f502019-07-26 13:31:58210 "//ui/gfx/geometry/mojom",
Miyoung Shin16bb4c02019-07-30 03:46:14211 "//ui/gfx/mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01212 "//url/mojom:url_mojom_gurl",
213 "//url/mojom:url_mojom_origin",
214 ]
215
Guido Urdaneta73fa6632019-01-14 18:46:26216 # iOS doesn't use and must not depend on //media
217 if (!is_ios) {
218 public_deps += [
219 "//media/capture/mojom:video_capture",
Miyoung Shin25bb8c092019-08-03 00:56:57220 "//media/mojo/mojom",
Guido Urdaneta73fa6632019-01-14 18:46:26221 ]
222 }
223
Leon Hanc819dc62019-01-28 04:30:19224 if (is_linux || is_chromeos) {
225 enabled_features = [ "renderer_pref_system_font_family_name" ]
226 }
227
Kinuko Yasudafa0f2512018-03-01 07:13:01228 export_class_attribute = "BLINK_COMMON_EXPORT"
229 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43230 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01231
232 export_class_attribute_blink = "PLATFORM_EXPORT"
233 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06234 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Suzy Li5ec40b12019-07-12 20:25:58235
236 # Don't scramble message IDs so they are redistributable to external tests.
237 scramble_message_ids = false
Kinuko Yasudafa0f2512018-03-01 07:13:01238}
239
Julie Jeongeun Kim17abfc72019-03-26 22:49:18240# Kept separate from "mojom_platform" because the Java bindings are
241# needed by Android's implementation (in chrome/android or in android_webview)
242# for following mojom files.
Han Leonabbe7c902018-08-30 02:08:10243mojom("android_mojo_bindings") {
danakj7c03b6d2019-10-22 20:01:31244 generate_java = true
Han Leonabbe7c902018-08-30 02:08:10245 sources = [
Eric Willigerse99debf52019-04-05 01:32:05246 "blob/blob.mojom",
247 "blob/blob_registry.mojom",
248 "blob/blob_url_store.mojom",
249 "blob/data_element.mojom",
250 "blob/serialized_blob.mojom",
Sam Bowen98257ea2020-01-29 18:05:32251 "document_metadata/document_metadata.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25252 "font_unique_name_lookup/font_unique_name_lookup.mojom",
Julie Jeongeun Kim7de77e92019-02-27 00:14:15253 "input/input_host.mojom",
254 "input/input_messages.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25255 "installation/installation.mojom",
Julie Jeongeun Kimd3d00a12019-03-25 01:46:25256 "installedapp/installed_app_provider.mojom",
257 "installedapp/related_application.mojom",
Julie Jeongeun Kime6178522019-03-31 06:02:25258 "mediasession/media_session.mojom",
Rouslan Solomakhina480efa2019-05-06 15:37:22259 "payments/payment_handler_host.mojom",
Han Leonabbe7c902018-08-30 02:08:10260 "payments/payment_request.mojom",
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26261 "webauthn/authenticator.mojom",
Manas Verma77aeb1782019-05-13 20:40:52262 "webauthn/internal_authenticator.mojom",
Eric Willigers3eeae17c2019-03-13 17:32:10263 "webshare/webshare.mojom",
Han Leonabbe7c902018-08-30 02:08:10264 ]
Oksana Zhuravlova052f7a52020-01-14 23:15:03265
266 if (is_android) {
267 sources += [ "remote_objects/remote_objects.mojom" ]
268 }
Han Leonabbe7c902018-08-30 02:08:10269 public_deps = [
270 "//components/payments/mojom",
Sam Bowen77de8e2e2020-02-18 21:18:41271 "//components/schema_org/common:mojom",
Julie Jeongeun Kim42a90df2019-03-20 23:13:10272 "//mojo/public/mojom/base",
Julie Jeongeun Kime6178522019-03-31 06:02:25273 "//services/media_session/public/mojom",
Eric Willigerse99debf52019-04-05 01:32:05274 "//services/network/public/mojom",
Eric Willigers3eeae17c2019-03-13 17:32:10275 "//url/mojom:url_mojom_gurl",
276 "//url/mojom:url_mojom_origin",
Han Leonabbe7c902018-08-30 02:08:10277 ]
278
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18279 # This Android unhandled-tap feature uses another mojo source, add it in.
280 if (enable_unhandled_tap) {
281 sources += [ "unhandled_tap_notifier/unhandled_tap_notifier.mojom" ]
Miyoung Shin87943f502019-07-26 13:31:58282 public_deps += [ "//ui/gfx/geometry/mojom" ]
Julie Jeongeun Kim9912f2e2019-03-01 03:30:18283 }
284
Han Leonabbe7c902018-08-30 02:08:10285 export_class_attribute = "BLINK_COMMON_EXPORT"
286 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43287 export_header = "third_party/blink/public/common/common_export.h"
Han Leonabbe7c902018-08-30 02:08:10288
289 export_class_attribute_blink = "PLATFORM_EXPORT"
290 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
291 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26292
293 # Don't scramble message IDs so they are redistributable to external tests.
294 scramble_message_ids = false
Han Leonabbe7c902018-08-30 02:08:10295}
296
Kinuko Yasudafa0f2512018-03-01 07:13:01297# This target can include mojom interfaces which do use types that are
Chase Phillips4f62c052018-11-06 01:43:51298# typemapped to a type in renderer/core. This also means these interfaces are
299# not available from renderer/platform.
Hiroki Nakagawa9144ec862019-01-28 10:12:44300#
Han Leonb2f46cd2018-03-09 01:59:16301# In future we may have a separate mojom target for the things that may have
302# modules dependencies if it looks necessary, at that time we can put all of
303# those high-level service worker mojom files there.
Han Leon19420c72018-03-08 01:59:55304mojom("mojom_core") {
danakj7c03b6d2019-10-22 20:01:31305 generate_java = true
Kinuko Yasudafa0f2512018-03-01 07:13:01306 sources = [
Zhuoyu Qianb647e772018-09-19 04:04:47307 "messaging/cloneable_message.mojom",
Chris Hamiltonb08dc862019-08-07 15:46:04308 "messaging/message_port_descriptor.mojom",
Zhuoyu Qianb647e772018-09-19 04:04:47309 "messaging/transferable_message.mojom",
Zhuoyu Qian47ed0fc52018-09-06 02:13:40310 "messaging/user_activation_snapshot.mojom",
Lucas Furukawa Gadani72655072018-07-26 22:34:33311 "portal/portal.mojom",
Alexey Baskakov9bafd8c2019-11-19 23:51:37312
313 # Note that service_worker_object.mojom and service_worker.mojom depend on
314 # transferable_message.mojom, and controller_service_worker.mojom and
315 # service_worker_registration.mojom depend on service_worker_object.mojom,
316 # so we put these service worker mojom files here rather than mojom_platform
317 # target.
318 "service_worker/controller_service_worker.mojom",
319 "service_worker/embedded_worker.mojom",
320 "service_worker/service_worker.mojom",
321 "service_worker/service_worker_container.mojom",
322 "service_worker/service_worker_object.mojom",
323 "service_worker/service_worker_provider.mojom",
324 "service_worker/service_worker_registration.mojom",
325
326 # Depends on controller_service_worker.mojom.
327 "worker/dedicated_worker_host_factory.mojom",
328 "worker/shared_worker_factory.mojom",
Kinuko Yasudafa0f2512018-03-01 07:13:01329 ]
330
331 public_deps = [
Eric Willigerse99debf52019-04-05 01:32:05332 ":android_mojo_bindings",
Kinuko Yasudafa0f2512018-03-01 07:13:01333 ":mojom_platform",
Alexey Baskakov9bafd8c2019-11-19 23:51:37334 ":web_feature_mojo_bindings",
335 "//components/payments/mojom",
Ken Rockot1ca39312018-04-12 05:32:55336 "//mojo/public/mojom/base",
Alexey Baskakov9bafd8c2019-11-19 23:51:37337 "//services/network/public/mojom",
338 "//services/service_manager/public/mojom",
Miyoung Shin40adbd62019-07-30 07:33:40339 "//skia/public/mojom",
Han Leonb2f46cd2018-03-09 01:59:16340 "//url/mojom:url_mojom_gurl",
Richard Li99e67742018-12-20 05:28:13341 "//url/mojom:url_mojom_origin",
Kinuko Yasudafa0f2512018-03-01 07:13:01342 ]
343
Richard Li99e67742018-12-20 05:28:13344 overridden_deps_blink = [
Eric Willigerse99debf52019-04-05 01:32:05345 ":android_mojo_bindings",
Richard Li99e67742018-12-20 05:28:13346 ":mojom_platform",
Alexey Baskakov9bafd8c2019-11-19 23:51:37347 "//services/network/public/mojom",
Richard Li99e67742018-12-20 05:28:13348 ]
Blink Reformata30d4232018-04-07 15:31:06349 component_deps_blink = [ "//third_party/blink/renderer/platform" ]
Kinuko Yasudafa0f2512018-03-01 07:13:01350
351 export_class_attribute = "BLINK_COMMON_EXPORT"
352 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
Daniel Bratell54449102018-10-29 22:21:43353 export_header = "third_party/blink/public/common/common_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01354
355 export_class_attribute_blink = "CORE_EXPORT"
356 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
Blink Reformata30d4232018-04-07 15:31:06357 export_header_blink = "third_party/blink/renderer/core/core_export.h"
Kinuko Yasudafa0f2512018-03-01 07:13:01358}
Chase Phillips4f62c052018-11-06 01:43:51359
360# This target can include mojom interfaces which use types that are typemapped
361# to a type in renderer/modules. This also means these interfaces are not
362# available from renderer/platform or renderer/core.
363mojom("mojom_modules") {
Nico Weber102095cc2020-01-16 17:43:23364 sources = [ "indexeddb/indexeddb.mojom" ]
Chase Phillips4f62c052018-11-06 01:43:51365
366 public_deps = [
Eric Willigerse99debf52019-04-05 01:32:05367 ":android_mojo_bindings",
Chase Phillips4f62c052018-11-06 01:43:51368 ":mojom_core",
Chase Phillips4f62c052018-11-06 01:43:51369 "//mojo/public/mojom/base",
Chase Phillips4f62c052018-11-06 01:43:51370 ]
371
372 overridden_deps_blink = [
Eric Willigerse99debf52019-04-05 01:32:05373 ":android_mojo_bindings",
Chase Phillips4f62c052018-11-06 01:43:51374 ":mojom_core",
Chase Phillips4f62c052018-11-06 01:43:51375 ]
Daniel Bratella8e802a2019-04-03 13:27:18376 component_deps_blink = [ "//third_party/blink/renderer/core" ]
Chase Phillips4f62c052018-11-06 01:43:51377
378 export_class_attribute = "BLINK_COMMON_EXPORT"
379 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
380 export_header = "third_party/blink/public/common/common_export.h"
381
382 export_class_attribute_blink = "MODULES_EXPORT"
383 export_define_blink = "BLINK_MODULES_IMPLEMENTATION=1"
384 export_header_blink = "third_party/blink/renderer/modules/modules_export.h"
385}
Ian Wellscbc4e6f2019-02-07 22:07:57386
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09387mojom("web_bluetooth_mojo_bindings") {
388 visibility = [
Ovidio Henriquez0e8ab7072019-05-31 21:38:07389 "//third_party/blink/common",
390 "//third_party/blink/public/common:common",
391 "//third_party/blink/public/common:headers",
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09392 ]
393
Ovidio Henriquez0e8ab7072019-05-31 21:38:07394 visibility_blink = [
395 "//third_party/blink/common",
396 "//third_party/blink/public/common:common",
397 "//third_party/blink/public/common:headers",
398 "//third_party/blink/renderer/platform:blink_platform_public_deps",
399 ]
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09400
Nico Weber102095cc2020-01-16 17:43:23401 sources = [ "bluetooth/web_bluetooth.mojom" ]
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09402
Nico Weber102095cc2020-01-16 17:43:23403 public_deps = [ "//device/bluetooth/public/mojom" ]
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09404
405 # The chromium variant must be linked with content and use the same export
406 # settings in component build because of the WebBluetoothDeviceId typemap
407 # inside content.
Ovidio Henriquez0e8ab7072019-05-31 21:38:07408 export_class_attribute = "BLINK_COMMON_EXPORT"
409 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
410 export_header = "third_party/blink/public/common/common_export.h"
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:09411
412 # Similarly, the blink variant must be linked with the platform component
413 # since it uses types from it in its typemaps.
414 export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
415 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
416 export_header_blink = "third_party/blink/public/platform/web_common.h"
417}
418
Julie Jeongeun Kim6d9562f2019-03-27 09:17:43419# The mojom_broadcastchannel_bindings is separated from the rest of mojom files
420# to allow blink/renderer/core to depend on this.
421mojom("mojom_broadcastchannel_bindings") {
422 visibility = [ "//content/*" ]
423 visibility_blink = [ "//third_party/blink/renderer/core/*" ]
Nico Weber102095cc2020-01-16 17:43:23424 sources = [ "broadcastchannel/broadcast_channel.mojom" ]
Julie Jeongeun Kim6d9562f2019-03-27 09:17:43425 public_deps = [
426 ":mojom_core",
427 "//url/mojom:url_mojom_origin",
428 ]
429
430 overridden_deps = [ ":mojom_core" ]
431 component_deps = [ "//third_party/blink/public/common" ]
432
433 component_output_prefix = "blink_mojom_broadcastchannel_bindings"
434
435 # See comment above.
436 export_class_attribute = "CONTENT_EXPORT"
437 export_define = "CONTENT_IMPLEMENTATION=1"
438 export_header = "content/common/content_export.h"
439
440 # Similarly, the blink variant must be linked with the core component
441 # since it uses types from it in its typemaps.
442 export_class_attribute_blink = "CORE_EXPORT"
443 export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
444 export_header_blink = "third_party/blink/renderer/core/core_export.h"
445}
446
Ian Wellscbc4e6f2019-02-07 22:07:57447mojom("mojom_mhtml_load_result") {
danakj7c03b6d2019-10-22 20:01:31448 generate_java = true
Nico Weber102095cc2020-01-16 17:43:23449 sources = [ "loader/mhtml_load_result.mojom" ]
Ian Wellscbc4e6f2019-02-07 22:07:57450
451 export_class_attribute = "BLINK_COMMON_EXPORT"
452 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
453 export_header = "third_party/blink/public/common/common_export.h"
454}
Julie Jeongeun Kim184d78a62019-03-01 02:10:15455
456# The web_feature_mojo_bindings is separated from the rest of the mojom files
457# because the chromium typemap for blink mojo_bindings has private content
458# dependencies.
459mojom_component("web_feature_mojo_bindings") {
danakj7c03b6d2019-10-22 20:01:31460 generate_java = true
Julie Jeongeun Kim184d78a62019-03-01 02:10:15461 sources = [
Majid Valipourb9ee0972019-08-22 15:16:23462 "use_counter/css_property_id.mojom",
Julie Jeongeun Kim184d78a62019-03-01 02:10:15463 "web_feature/web_feature.mojom",
464 ]
465
466 macro_prefix = "WEB_FEATURE_MOJO_BINDINGS_MOJOM"
467 output_prefix = "web_feature_mojo_bindings_mojom"
468}
Julie Jeongeun Kim573ba3d2019-03-01 11:35:22469
470# The web_client_hints_types_mojo_bindings is separated from the rest of the
471# mojom files because the chromium typemap for blink mojo_bindings has private
472# content dependencies.
473mojom("web_client_hints_types_mojo_bindings") {
danakj7c03b6d2019-10-22 20:01:31474 generate_java = true
Nico Weber102095cc2020-01-16 17:43:23475 sources = [ "web_client_hints/web_client_hints_types.mojom" ]
Julie Jeongeun Kim573ba3d2019-03-01 11:35:22476}
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26477
Julie Jeongeun Kim8b3d55242019-03-27 00:05:56478# The embedded_frame_sink_mojo_bindings is separated from the rest of mojom
479# files because its deps contain too many files in Chromium that would pollute
480# the include paths in generated mojom-blink files for other services.
481mojom("embedded_frame_sink_mojo_bindings") {
482 visibility = [ "//content/*" ]
483 visibility_blink = [ "//third_party/blink/renderer/platform" ]
Nico Weber102095cc2020-01-16 17:43:23484 sources = [ "frame_sinks/embedded_frame_sink.mojom" ]
485 deps = [ "//services/viz/public/mojom" ]
Julie Jeongeun Kim8b3d55242019-03-27 00:05:56486
487 component_output_prefix = "blink_embedded_frame_sink_mojo_bindings"
488
489 # The chromium variant must be linked with content and use the same export
490 # settings in component build.
491 export_class_attribute = "CONTENT_EXPORT"
492 export_define = "CONTENT_IMPLEMENTATION=1"
493 export_header = "content/common/content_export.h"
494 export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
495 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
496 export_header_blink = "third_party/blink/public/platform/web_common.h"
497}
498
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26499# This is a separate target because it needs unscrambled message IDs.
500mojom("authenticator_test_mojo_bindings") {
danakj7c03b6d2019-10-22 20:01:31501 generate_java = true
Nico Weber102095cc2020-01-16 17:43:23502 sources = [ "webauthn/virtual_authenticator.mojom" ]
Julie Jeongeun Kimb6a0a1f2019-03-21 05:08:26503
504 public_deps = [
505 ":android_mojo_bindings",
506 "//url/mojom:url_mojom_gurl",
507 ]
508
509 export_class_attribute = "BLINK_COMMON_EXPORT"
510 export_define = "BLINK_COMMON_IMPLEMENTATION=1"
511 export_header = "third_party/blink/public/common/common_export.h"
512
513 export_class_attribute_blink = "PLATFORM_EXPORT"
514 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
515 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
516
517 # Don't scramble message IDs so they are redistributable to external tests.
518 scramble_message_ids = false
519}
Takashi Sakamotoa1554f12020-01-20 05:50:39520
521mojom("memory_usage_monitor_linux_mojo_bindings") {
522 visibility = [
523 "//content/browser:browser",
524 "//third_party/blink/renderer/controller:controller",
525 ]
526 visibility_blink = [ "//third_party/blink/renderer/controller:controller" ]
527
528 sources = [ "memory_usage_monitor_linux.mojom" ]
529
530 public_deps = [ "//mojo/public/mojom/base" ]
531
532 export_class_attribute_blink = "PLATFORM_EXPORT"
533 export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
534 export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
535}