| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| |
| # This needs to be conditionally-compiled since the typemaps are |
| # unconditionally-included from //mojo/public/tools/bindings/mojom.gni. The |
| # inclusion is done through read_file(), which does not respect the global |
| # defines for GN, so it itself cannot use the "is_chromeos" variable. |
| if (is_chromeos_ash) { |
| mojom("mojom") { |
| sources = [ |
| "app.mojom", |
| "app_permissions.mojom", |
| "compatibility_mode.mojom", |
| "file_system.mojom", |
| "intent_common.mojom", |
| "intent_helper.mojom", |
| "rotation_lock.mojom", |
| "scale_factor.mojom", |
| "screen_capture.mojom", |
| "sensor.mojom", |
| "sensor_service.mojom", |
| "sharesheet.mojom", |
| "storage_manager.mojom", |
| "timer.mojom", |
| "tracing.mojom", |
| "tts.mojom", |
| "usb_host.mojom", |
| "volume_mounter.mojom", |
| "wake_lock.mojom", |
| "wallpaper.mojom", |
| "webapk.mojom", |
| ] |
| |
| public_deps = [ |
| "//ash/components/arc/mojom:camera_intent", |
| "//ash/components/arc/mojom:media", |
| "//ash/components/arc/mojom:notifications", |
| "//ash/components/arc/mojom:oemcrypto", |
| "//chromeos/components/sensors/mojom:mojom", |
| "//components/payments/mojom:mojom", |
| "//media/capture/video/chromeos/mojom:cros_camera", |
| "//mojo/public/mojom/base", |
| "//printing/mojom", |
| "//sandbox/policy/mojom", |
| "//services/device/public/mojom:usb", |
| "//services/media_session/public/mojom", |
| "//services/resource_coordinator/public/mojom", |
| "//third_party/blink/public/mojom:android_mojo_bindings", |
| "//ui/accessibility/mojom:ax_assistant_mojom", |
| "//ui/gfx/geometry/mojom", |
| "//url/mojom:url_mojom_gurl", |
| ] |
| |
| cpp_typemaps = [ |
| { |
| types = [ |
| { |
| mojom = "arc.mojom.AppDiscoveryRequestState" |
| cpp = "::arc::ArcPlayStoreSearchRequestState" |
| }, |
| ] |
| traits_headers = [ "app_mojom_traits.h" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "arc.mojom.ChangeType" |
| cpp = "::storage::WatcherManager::ChangeType" |
| }, |
| ] |
| traits_headers = |
| [ "//components/arc/file_system/file_system_mojom_traits.h" ] |
| traits_sources = |
| [ "//components/arc/file_system/file_system_mojom_traits.cc" ] |
| traits_public_deps = [ "//storage/browser" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "arc.mojom.IntentFilter" |
| cpp = "::arc::IntentFilter" |
| move_only = true |
| }, |
| { |
| mojom = "arc.mojom.AuthorityEntry" |
| cpp = "::arc::IntentFilter::AuthorityEntry" |
| move_only = true |
| }, |
| { |
| mojom = "arc.mojom.PatternMatcher" |
| cpp = "::arc::IntentFilter::PatternMatcher" |
| move_only = true |
| }, |
| ] |
| traits_headers = |
| [ "//components/arc/intent_helper/intent_filter_mojom_traits.h" ] |
| traits_sources = |
| [ "//components/arc/intent_helper/intent_filter_mojom_traits.cc" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "arc.mojom.ClockId" |
| cpp = "::clockid_t" |
| }, |
| ] |
| traits_headers = |
| [ "//ash/components/arc/timer/arc_timer_mojom_traits.h" ] |
| traits_sources = |
| [ "//ash/components/arc/timer/arc_timer_mojom_traits.cc" ] |
| }, |
| { |
| types = [ |
| { |
| mojom = "arc.mojom.DeviceType" |
| cpp = "::chromeos::DeviceType" |
| }, |
| { |
| mojom = "arc.mojom.MountEvent" |
| cpp = "::chromeos::disks::DiskMountManager::MountEvent" |
| }, |
| ] |
| traits_headers = [ |
| "//ash/components/arc/volume_mounter/volume_mounter_mojom_traits.h", |
| ] |
| traits_sources = [ |
| "//ash/components/arc/volume_mounter/volume_mounter_mojom_traits.cc", |
| ] |
| }, |
| ] |
| } |
| } |