Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 1 | # 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 | |
| 5 | import("//mojo/public/tools/bindings/mojom.gni") |
| 6 | |
| 7 | # This target includes all mojom interfaces which can be used from |
Chase Phillips | 4f62c05 | 2018-11-06 01:43:51 | [diff] [blame] | 8 | # renderer/platform. In particular these mojom interfaces can't use types that |
| 9 | # are typemapped to a type in renderer/core. |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 10 | mojom("mojom_platform") { |
| 11 | sources = [ |
John Delaney | 74efc1d | 2018-12-20 18:29:18 | [diff] [blame^] | 12 | "ad_tagging/ad_frame.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 13 | "array_buffer/array_buffer_contents.mojom", |
Ken Rockot | 26e4e80 | 2018-07-31 15:03:33 | [diff] [blame] | 14 | "associated_interfaces/associated_interfaces.mojom", |
Richard Li | 912523f0 | 2018-12-13 08:10:40 | [diff] [blame] | 15 | "background_fetch/background_fetch.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 16 | "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 Li | bcc09eb | 2018-11-30 15:00:35 | [diff] [blame] | 21 | "cache_storage/cache_storage.mojom", |
Kent Tamura | c260c9a | 2018-09-14 09:10:56 | [diff] [blame] | 22 | "choosers/file_chooser.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 23 | "clipboard/clipboard.mojom", |
| 24 | "color_chooser/color_chooser.mojom", |
Finnur Thorarinsson | 522d378 | 2018-12-05 02:17:43 | [diff] [blame] | 25 | "contacts/contacts_manager.mojom", |
Victor Costan | 7184272a | 2018-05-15 13:17:43 | [diff] [blame] | 26 | "cookie_store/cookie_store.mojom", |
Yuzu Saijo | 2d12ef9 | 2018-08-21 04:52:07 | [diff] [blame] | 27 | "crash/crash_memory_metrics_reporter.mojom", |
Hiroki Nakagawa | 792fcc3 | 2018-12-06 06:50:57 | [diff] [blame] | 28 | "csp/content_security_policy.mojom", |
Hiroki Nakagawa | 7c0a7e7 | 2018-12-10 04:31:29 | [diff] [blame] | 29 | "devtools/devtools_agent.mojom", |
Marijn Kruisselbrink | 4712c33 | 2018-06-13 19:06:59 | [diff] [blame] | 30 | "dom_storage/session_storage_namespace.mojom", |
Marijn Kruisselbrink | f9a9e76 | 2018-06-07 18:57:12 | [diff] [blame] | 31 | "dom_storage/storage_area.mojom", |
Marijn Kruisselbrink | 4712c33 | 2018-06-13 19:06:59 | [diff] [blame] | 32 | "dom_storage/storage_partition_service.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 33 | "feature_policy/feature_policy.mojom", |
Richard Li | e689995 | 2018-11-30 08:42:00 | [diff] [blame] | 34 | "fetch/fetch_api_request.mojom", |
Han Leon | 6bbe791 | 2018-07-31 01:13:46 | [diff] [blame] | 35 | "fetch/fetch_api_response.mojom", |
Jeremy Roman | 89a4d0d | 2018-04-26 19:05:28 | [diff] [blame] | 36 | "file/file_utilities.mojom", |
Adithya Srinivasan | 0c72ff0 | 2018-08-13 19:47:29 | [diff] [blame] | 37 | "filesystem/file_system.mojom", |
Marijn Kruisselbrink | 16af198 | 2018-08-15 21:22:35 | [diff] [blame] | 38 | "filesystem/file_writer.mojom", |
Rakina Zata Amni | acf4049 | 2018-05-08 22:59:33 | [diff] [blame] | 39 | "frame/find_in_page.mojom", |
Andy Paicu | c93d3086 | 2018-10-10 15:33:45 | [diff] [blame] | 40 | "frame/navigation_initiator.mojom", |
Dmitry Gozman | d016d88 | 2018-04-20 01:55:24 | [diff] [blame] | 41 | "leak_detector/leak_detector.mojom", |
Bill Budge | 24c1dc1a | 2018-09-25 18:51:32 | [diff] [blame] | 42 | "loader/code_cache.mojom", |
Lu Chen | 5bec7a30 | 2018-06-26 18:52:32 | [diff] [blame] | 43 | "loader/navigation_predictor.mojom", |
Ryan Sturm | c65dbe4 | 2018-05-31 20:37:04 | [diff] [blame] | 44 | "loader/pause_subresource_loading_handle.mojom", |
Tarun Bansal | dc97029 | 2018-07-12 00:02:58 | [diff] [blame] | 45 | "loader/previews_resource_loading_hints.mojom", |
Dmitry Gozman | 88ca5a99 | 2018-05-18 00:13:33 | [diff] [blame] | 46 | "manifest/display_mode.mojom", |
| 47 | "manifest/manifest.mojom", |
| 48 | "manifest/manifest_manager.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 49 | "net/ip_address_space.mojom", |
Han Leon | 96d6b6e8c2 | 2018-09-06 06:21:06 | [diff] [blame] | 50 | "notifications/notification.mojom", |
Becca Hughes | 6fe54e43 | 2018-06-09 04:18:56 | [diff] [blame] | 51 | "page/display_cutout.mojom", |
Han Leon | abbe7c90 | 2018-08-30 02:08:10 | [diff] [blame] | 52 | "payments/payment_app.mojom", |
Jeremy Roman | b702474 | 2018-06-18 22:00:22 | [diff] [blame] | 53 | "plugins/plugin_registry.mojom", |
mark a. foltz | 6bbe59f | 2018-07-24 20:06:24 | [diff] [blame] | 54 | "presentation/presentation.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 55 | "quota/quota_dispatcher_host.mojom", |
| 56 | "quota/quota_types.mojom", |
Leon Han | 075e0b3 | 2018-11-06 07:59:44 | [diff] [blame] | 57 | "referrer.mojom", |
Hiroki Nakagawa | 4b072c6 | 2018-11-07 03:57:25 | [diff] [blame] | 58 | "script/script_type.mojom", |
Han Leon | 122d2818 | 2018-06-26 07:56:55 | [diff] [blame] | 59 | "service_worker/dispatch_fetch_event_params.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 60 | "service_worker/navigation_preload_state.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 61 | "service_worker/service_worker_client.mojom", |
| 62 | "service_worker/service_worker_error_type.mojom", |
| 63 | "service_worker/service_worker_event_status.mojom", |
Han Leon | 9a3a2fb | 2018-08-07 02:56:01 | [diff] [blame] | 64 | "service_worker/service_worker_fetch_response_callback.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 65 | "service_worker/service_worker_installed_scripts_manager.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 66 | "service_worker/service_worker_provider_type.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 67 | "service_worker/service_worker_state.mojom", |
| 68 | "service_worker/service_worker_stream_handle.mojom", |
Adithya Srinivasan | c35bf396 | 2018-06-12 14:28:14 | [diff] [blame] | 69 | "speech/speech_recognition_error.mojom", |
| 70 | "speech/speech_recognition_grammar.mojom", |
| 71 | "speech/speech_recognition_result.mojom", |
| 72 | "speech/speech_recognizer.mojom", |
Luna Lu | 29d922d | 2018-03-27 18:06:51 | [diff] [blame] | 73 | "use_counter/css_property_id.mojom", |
Mounir Lamouri | 54c31f5 | 2018-12-09 02:52:54 | [diff] [blame] | 74 | "wake_lock/wake_lock.mojom", |
Raymond Toy | e413650c | 2018-08-31 00:12:47 | [diff] [blame] | 75 | "webaudio/audio_context_manager.mojom", |
Hiroki Nakagawa | c30b9f0 | 2018-12-03 11:26:01 | [diff] [blame] | 76 | "worker/dedicated_worker_factory.mojom", |
Hiroki Nakagawa | 2da3b58 | 2018-12-10 06:44:52 | [diff] [blame] | 77 | "worker/shared_worker.mojom", |
Hiroki Nakagawa | d0dee83 | 2018-12-04 11:19:10 | [diff] [blame] | 78 | "worker/shared_worker_client.mojom", |
Hiroki Nakagawa | 0e67776 | 2018-12-06 14:55:38 | [diff] [blame] | 79 | "worker/shared_worker_connector.mojom", |
Hiroki Nakagawa | 32376a5 | 2018-12-03 10:49:23 | [diff] [blame] | 80 | "worker/shared_worker_creation_context_type.mojom", |
Hiroki Nakagawa | 86d9e0e | 2018-12-06 10:55:00 | [diff] [blame] | 81 | "worker/shared_worker_host.mojom", |
Hiroki Nakagawa | 1f236df | 2018-12-06 06:55:27 | [diff] [blame] | 82 | "worker/shared_worker_info.mojom", |
Hiroki Nakagawa | 32376a5 | 2018-12-03 10:49:23 | [diff] [blame] | 83 | "worker/worker_main_script_load_params.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 84 | ] |
| 85 | |
| 86 | public_deps = [ |
Han Leon | abbe7c90 | 2018-08-30 02:08:10 | [diff] [blame] | 87 | ":android_mojo_bindings", |
Adithya Srinivasan | c35bf396 | 2018-06-12 14:28:14 | [diff] [blame] | 88 | ":speech_recognition_error_code", |
Han Leon | abbe7c90 | 2018-08-30 02:08:10 | [diff] [blame] | 89 | "//components/payments/mojom", |
Adithya Srinivasan | 0c72ff0 | 2018-08-13 19:47:29 | [diff] [blame] | 90 | "//components/services/filesystem/public/interfaces", |
Oksana Zhuravlova | 015487b3 | 2018-03-09 06:58:22 | [diff] [blame] | 91 | "//mojo/public/mojom/base", |
Dmitry Gozman | 88ca5a99 | 2018-05-18 00:13:33 | [diff] [blame] | 92 | "//services/device/public/mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 93 | "//services/network/public/mojom", |
Hiroki Nakagawa | c30b9f0 | 2018-12-03 11:26:01 | [diff] [blame] | 94 | "//services/service_manager/public/mojom", |
Mike Wasserman | 384f907d | 2018-06-01 01:50:56 | [diff] [blame] | 95 | "//skia/public/interfaces", |
Hiroki Nakagawa | d0dee83 | 2018-12-04 11:19:10 | [diff] [blame] | 96 | "//third_party/blink/public:web_feature_mojo_bindings", |
Donna Wu | 838ac36 | 2018-08-10 10:36:33 | [diff] [blame] | 97 | "//third_party/blink/public/mojom/usb", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 98 | "//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 Bratell | 5444910 | 2018-10-29 22:21:43 | [diff] [blame] | 105 | export_header = "third_party/blink/public/common/common_export.h" |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 106 | |
| 107 | export_class_attribute_blink = "PLATFORM_EXPORT" |
| 108 | export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" |
Blink Reformat | a30d423 | 2018-04-07 15:31:06 | [diff] [blame] | 109 | export_header_blink = "third_party/blink/renderer/platform/platform_export.h" |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 110 | } |
| 111 | |
Han Leon | abbe7c90 | 2018-08-30 02:08:10 | [diff] [blame] | 112 | # 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/). |
| 115 | mojom("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 Bratell | 5444910 | 2018-10-29 22:21:43 | [diff] [blame] | 125 | export_header = "third_party/blink/public/common/common_export.h" |
Han Leon | abbe7c90 | 2018-08-30 02:08:10 | [diff] [blame] | 126 | |
| 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 Srinivasan | c35bf396 | 2018-06-12 14:28:14 | [diff] [blame] | 132 | # Kept separate from "mojom_platform" because the Java bindings are needed by |
| 133 | # Android's implementation of speech recognition. |
| 134 | mojom("speech_recognition_error_code") { |
| 135 | sources = [ |
| 136 | "speech/speech_recognition_error_code.mojom", |
| 137 | ] |
| 138 | } |
| 139 | |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 140 | # This target can include mojom interfaces which do use types that are |
Chase Phillips | 4f62c05 | 2018-11-06 01:43:51 | [diff] [blame] | 141 | # typemapped to a type in renderer/core. This also means these interfaces are |
| 142 | # not available from renderer/platform. |
Han Leon | 94335e4 | 2018-03-15 08:44:18 | [diff] [blame] | 143 | # Note that service_worker_object.mojom and service_worker.mojom depend |
Hiroki Nakagawa | cdbc791 | 2018-11-30 11:30:05 | [diff] [blame] | 144 | # 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 Leon | b2f46cd | 2018-03-09 01:59:16 | [diff] [blame] | 148 | # 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 Leon | 19420c7 | 2018-03-08 01:59:55 | [diff] [blame] | 151 | mojom("mojom_core") { |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 152 | sources = [ |
Zhuoyu Qian | b647e77 | 2018-09-19 04:04:47 | [diff] [blame] | 153 | "messaging/cloneable_message.mojom", |
| 154 | "messaging/transferable_message.mojom", |
Zhuoyu Qian | 47ed0fc5 | 2018-09-06 02:13:40 | [diff] [blame] | 155 | "messaging/user_activation_snapshot.mojom", |
Lucas Furukawa Gadani | 7265507 | 2018-07-26 22:34:33 | [diff] [blame] | 156 | "portal/portal.mojom", |
Hiroki Nakagawa | cdbc791 | 2018-11-30 11:30:05 | [diff] [blame] | 157 | "service_worker/controller_service_worker.mojom", |
Han Leon | 94335e4 | 2018-03-15 08:44:18 | [diff] [blame] | 158 | "service_worker/service_worker.mojom", |
Han Leon | b2f46cd | 2018-03-09 01:59:16 | [diff] [blame] | 159 | "service_worker/service_worker_object.mojom", |
| 160 | "service_worker/service_worker_registration.mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 161 | ] |
| 162 | |
| 163 | public_deps = [ |
| 164 | ":mojom_platform", |
Richard Li | 99e6774 | 2018-12-20 05:28:13 | [diff] [blame] | 165 | "//components/payments/mojom", |
Ken Rockot | 1ca3931 | 2018-04-12 05:32:55 | [diff] [blame] | 166 | "//mojo/public/mojom/base", |
Richard Li | 99e6774 | 2018-12-20 05:28:13 | [diff] [blame] | 167 | "//services/network/public/mojom", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 168 | "//skia/public/interfaces", |
Han Leon | b2f46cd | 2018-03-09 01:59:16 | [diff] [blame] | 169 | "//url/mojom:url_mojom_gurl", |
Richard Li | 99e6774 | 2018-12-20 05:28:13 | [diff] [blame] | 170 | "//url/mojom:url_mojom_origin", |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 171 | ] |
| 172 | |
Richard Li | 99e6774 | 2018-12-20 05:28:13 | [diff] [blame] | 173 | overridden_deps_blink = [ |
| 174 | ":mojom_platform", |
| 175 | "//services/network/public/mojom", |
| 176 | ] |
Blink Reformat | a30d423 | 2018-04-07 15:31:06 | [diff] [blame] | 177 | component_deps_blink = [ "//third_party/blink/renderer/platform" ] |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 178 | |
| 179 | export_class_attribute = "BLINK_COMMON_EXPORT" |
| 180 | export_define = "BLINK_COMMON_IMPLEMENTATION=1" |
Daniel Bratell | 5444910 | 2018-10-29 22:21:43 | [diff] [blame] | 181 | export_header = "third_party/blink/public/common/common_export.h" |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 182 | |
| 183 | export_class_attribute_blink = "CORE_EXPORT" |
| 184 | export_define_blink = "BLINK_CORE_IMPLEMENTATION=1" |
Blink Reformat | a30d423 | 2018-04-07 15:31:06 | [diff] [blame] | 185 | export_header_blink = "third_party/blink/renderer/core/core_export.h" |
Kinuko Yasuda | fa0f251 | 2018-03-01 07:13:01 | [diff] [blame] | 186 | } |
Chase Phillips | 4f62c05 | 2018-11-06 01:43:51 | [diff] [blame] | 187 | |
| 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. |
| 191 | mojom("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 | } |