BUILD.gn 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. # Copyright 2020 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. import("//mojo/public/tools/bindings/mojom.gni")
  5. import("//printing/buildflags/buildflags.gni")
  6. mojom("mojom") {
  7. sources = [
  8. "account_manager.mojom",
  9. "app_service.mojom",
  10. "app_service_types.mojom",
  11. "app_window_tracker.mojom",
  12. "arc.mojom",
  13. "audio_service.mojom",
  14. "authentication.mojom",
  15. "automation.mojom",
  16. "bitmap.mojom",
  17. "browser_app_instance_registry.mojom",
  18. "browser_version.mojom",
  19. "cert_database.mojom",
  20. "cert_provisioning.mojom",
  21. "chrome_app_kiosk_service.mojom",
  22. "clipboard.mojom",
  23. "clipboard_history.mojom",
  24. "content_protection.mojom",
  25. "cros_display_config.mojom",
  26. "crosapi.mojom",
  27. "desk_template.mojom",
  28. "device_attributes.mojom",
  29. "device_oauth2_token_service.mojom",
  30. "device_settings_service.mojom",
  31. "diagnostics_service.mojom",
  32. "digital_goods.mojom",
  33. "dlp.mojom",
  34. "document_scan.mojom",
  35. "download_controller.mojom",
  36. "drive_integration_service.mojom",
  37. "echo_private.mojom",
  38. "emoji_picker.mojom",
  39. "extension_info_private.mojom",
  40. "feedback.mojom",
  41. "field_trial.mojom",
  42. "file_manager.mojom",
  43. "file_system_provider.mojom",
  44. "force_installed_tracker.mojom",
  45. "fullscreen_controller.mojom",
  46. "geolocation.mojom",
  47. "holding_space_service.mojom",
  48. "identity_manager.mojom",
  49. "idle_service.mojom",
  50. "image_writer.mojom",
  51. "in_session_auth.mojom",
  52. "keystore_error.mojom",
  53. "keystore_service.mojom",
  54. "kiosk_session_service.mojom",
  55. "launcher_search.mojom",
  56. "local_printer.mojom",
  57. "login.mojom",
  58. "login_screen_storage.mojom",
  59. "login_state.mojom",
  60. "message_center.mojom",
  61. "metrics_reporting.mojom",
  62. "native_theme.mojom",
  63. "network_change.mojom",
  64. "network_settings_service.mojom",
  65. "networking_attributes.mojom",
  66. "networking_private.mojom",
  67. "notification.mojom",
  68. "nullable_primitives.mojom",
  69. "policy_namespace.mojom",
  70. "policy_service.mojom",
  71. "power.mojom",
  72. "prefs.mojom",
  73. "printing_metrics.mojom",
  74. "probe_service.mojom",
  75. "remoting.mojom",
  76. "resource_manager.mojom",
  77. "screen_manager.mojom",
  78. "select_file.mojom",
  79. "sharesheet.mojom",
  80. "speech_recognition.mojom",
  81. "structured_metrics_service.mojom",
  82. "sync.mojom",
  83. "system_display.mojom",
  84. "task_manager.mojom",
  85. "test_controller.mojom",
  86. "timezone.mojom",
  87. "tts.mojom",
  88. "url_handler.mojom",
  89. "video_capture.mojom",
  90. "virtual_keyboard.mojom",
  91. "volume_manager.mojom",
  92. "vpn_extension_observer.mojom",
  93. "vpn_service.mojom",
  94. "wallpaper.mojom",
  95. "web_app_service.mojom",
  96. "web_app_types.mojom",
  97. "web_page_info.mojom",
  98. ]
  99. disable_variants = true
  100. public_deps = [
  101. "//chromeos/components/remote_apps/mojom",
  102. "//chromeos/components/sensors/mojom",
  103. "//chromeos/services/machine_learning/public/mojom",
  104. "//components/digital_goods/mojom:mojom",
  105. "//components/metrics/structured/mojom",
  106. "//components/services/app_service/public/mojom:mojom",
  107. "//media/capture/mojom:image_capture",
  108. "//media/capture/mojom:video_capture_types",
  109. "//media/mojo/mojom:speech_recognition",
  110. "//mojo/public/mojom/base",
  111. "//printing/backend/mojom",
  112. "//printing/mojom",
  113. "//remoting/host/mojom:mojom",
  114. "//services/device/public/mojom:mojom",
  115. "//services/media_session/public/mojom:mojom",
  116. "//ui/accessibility:ax_enums_mojo",
  117. "//ui/accessibility/mojom",
  118. "//ui/base/mojom",
  119. "//ui/display/mojom:mojom",
  120. "//ui/gfx/geometry/mojom",
  121. "//ui/gfx/image/mojom",
  122. "//ui/gfx/mojom",
  123. "//url/mojom:url_mojom_gurl",
  124. ]
  125. cpp_typemaps = [
  126. {
  127. types = [
  128. {
  129. mojom = "crosapi.mojom.App"
  130. cpp = "::apps::AppPtr"
  131. move_only = true
  132. nullable_is_same_type = true
  133. },
  134. {
  135. mojom = "crosapi.mojom.PolicyDomain"
  136. cpp = "::policy::PolicyDomain"
  137. move_only = true
  138. nullable_is_same_type = true
  139. },
  140. {
  141. mojom = "crosapi.mojom.PolicyNamespace"
  142. cpp = "::policy::PolicyNamespace"
  143. move_only = true
  144. nullable_is_same_type = true
  145. },
  146. {
  147. mojom = "crosapi.mojom.UninstallSource"
  148. cpp = "::apps::UninstallSource"
  149. },
  150. {
  151. mojom = "crosapi.mojom.CapabilityAccess"
  152. cpp = "::apps::mojom::CapabilityAccessPtr"
  153. move_only = true
  154. },
  155. {
  156. mojom = "crosapi.mojom.IconType"
  157. cpp = "::apps::IconType"
  158. },
  159. {
  160. mojom = "crosapi.mojom.IconValue"
  161. cpp = "::apps::IconValuePtr"
  162. move_only = true
  163. },
  164. {
  165. mojom = "crosapi.mojom.IconKey"
  166. cpp = "::apps::IconKeyPtr"
  167. move_only = true
  168. },
  169. {
  170. mojom = "crosapi.mojom.WindowMode"
  171. cpp = "::apps::WindowMode"
  172. },
  173. {
  174. mojom = "crosapi.mojom.AppType"
  175. cpp = "::apps::AppType"
  176. },
  177. {
  178. mojom = "crosapi.mojom.LaunchSource"
  179. cpp = "::apps::LaunchSource"
  180. },
  181. {
  182. mojom = "crosapi.mojom.SharesheetLaunchSource"
  183. cpp = "::sharesheet::LaunchSource"
  184. },
  185. {
  186. mojom = "crosapi.mojom.SharesheetResult"
  187. cpp = "::sharesheet::SharesheetResult"
  188. },
  189. {
  190. mojom = "crosapi.mojom.BrowserWindowInstanceUpdate"
  191. cpp = "::apps::BrowserWindowInstanceUpdate"
  192. move_only = true
  193. },
  194. {
  195. mojom = "crosapi.mojom.BrowserAppInstanceUpdate"
  196. cpp = "::apps::BrowserAppInstanceUpdate"
  197. move_only = true
  198. },
  199. {
  200. mojom = "crosapi.mojom.BrowserAppInstanceType"
  201. cpp = "::apps::BrowserAppInstanceUpdate::Type"
  202. },
  203. {
  204. mojom = "crosapi.mojom.Permission"
  205. cpp = "::apps::PermissionPtr"
  206. move_only = true
  207. },
  208. {
  209. mojom = "crosapi.mojom.PreferredApp"
  210. cpp = "::apps::PreferredAppPtr"
  211. move_only = true
  212. },
  213. {
  214. mojom = "crosapi.mojom.PreferredAppChanges"
  215. cpp = "::apps::PreferredAppChangesPtr"
  216. move_only = true
  217. },
  218. {
  219. mojom = "crosapi.mojom.WebAppInstallResultCode"
  220. cpp = "::webapps::InstallResultCode"
  221. },
  222. {
  223. mojom = "crosapi.mojom.WebAppUninstallResultCode"
  224. cpp = "::webapps::UninstallResultCode"
  225. },
  226. {
  227. mojom = "crosapi.mojom.Shortcut"
  228. cpp = "::apps::ShortcutPtr"
  229. move_only = true
  230. },
  231. ]
  232. traits_headers = [
  233. "//chromeos/crosapi/mojom/app_service_types_mojom_traits.h",
  234. "//chromeos/crosapi/mojom/policy_namespace_mojom_traits.h",
  235. "//chromeos/crosapi/mojom/policy_domain_mojom_traits.h",
  236. "//chromeos/crosapi/mojom/web_app_types_mojom_traits.h",
  237. "//chromeos/crosapi/mojom/browser_app_instance_registry_mojom_traits.h",
  238. "//components/services/app_service/public/cpp/app_launch_util.h",
  239. "//components/services/app_service/public/cpp/app_types.h",
  240. "//components/services/app_service/public/cpp/preferred_app.h",
  241. "//chromeos/crosapi/mojom/sharesheet_mojom_traits.h",
  242. "//components/services/app_service/public/cpp/icon_types.h",
  243. "//components/services/app_service/public/mojom/types.mojom.h",
  244. ]
  245. traits_sources = [
  246. "//chromeos/crosapi/mojom/app_service_types_mojom_traits.cc",
  247. "//chromeos/crosapi/mojom/browser_app_instance_registry_mojom_traits.cc",
  248. "//chromeos/crosapi/mojom/policy_domain_mojom_traits.cc",
  249. "//chromeos/crosapi/mojom/policy_namespace_mojom_traits.cc",
  250. "//chromeos/crosapi/mojom/sharesheet_mojom_traits.cc",
  251. "//chromeos/crosapi/mojom/web_app_types_mojom_traits.cc",
  252. ]
  253. traits_public_deps = [
  254. "//components/policy/core/common:policy_namespace",
  255. "//components/services/app_service/public/cpp:app_types",
  256. "//components/services/app_service/public/cpp:browser_app_instance_registry_update",
  257. "//components/services/app_service/public/cpp:icon_types",
  258. "//components/services/app_service/public/cpp:preferred_app",
  259. "//components/services/app_service/public/mojom:mojom",
  260. "//components/webapps/browser:constants",
  261. ]
  262. },
  263. ]
  264. }
  265. source_set("unit_tests") {
  266. testonly = true
  267. sources = [
  268. "app_service_types_mojom_traits_unittest.cc",
  269. "sharesheet_mojom_traits_unittest.cc",
  270. ]
  271. deps = [
  272. ":mojom",
  273. "//base/test:test_support",
  274. "//components/services/app_service/public/cpp:intents",
  275. "//components/services/app_service/public/mojom:mojom",
  276. "//mojo/public/cpp/test_support:test_utils",
  277. "//testing/gtest",
  278. "//ui/gfx:test_support",
  279. ]
  280. }