# Copyright 2015 The Chromium Authors
# 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")
assert(is_chromeos_ash)
mojom("mojom") {
disable_variants = true
sources = [
"assistant_volume_control.mojom",
"tray_action.mojom",
]
public_deps = [
":accelerator_actions",
":accelerator_configuration",
":accelerator_info",
":accelerator_keys",
":input_device_settings",
"//chromeos/ash/components/proximity_auth/public/mojom",
"//components/account_id/mojom",
"//components/sync/mojom",
"//mojo/public/mojom/base",
"//services/preferences/public/mojom",
"//skia/public/mojom",
"//ui/gfx/geometry/mojom",
"//ui/gfx/image/mojom",
"//ui/gfx/range/mojom",
"//url/mojom:url_mojom_gurl",
]
component_output_prefix = "ash_public_interfaces"
export_class_attribute = "ASH_PUBLIC_EXPORT"
export_define = "ASH_PUBLIC_IMPLEMENTATION=1"
export_header = "ash/public/cpp/ash_public_export.h"
}
mojom("hid_preserving_bluetooth_state_controller") {
sources = [ "hid_preserving_bluetooth_state_controller.mojom" ]
public_deps = [ "//mojo/public/mojom/base" ]
webui_module_path = "chrome://resources/ash/common/"
}
# This is a separate target so that downstream WebUI targets can take
# advantage of JS module Mojom files, without having to generate WebUI Mojom
# files for all dependencies (and their dependencies) in //ash/public/mojom.
mojom("accelerator_info") {
disable_variants = true
generate_legacy_js_bindings = true
webui_module_path = "/"
sources = [ "accelerator_info.mojom" ]
public_deps = [
"//mojo/public/mojom/base",
"//ui/base/accelerators/mojom",
]
}
# This is a separate target so that downstream WebUI targets can take
# advantage of JS module Mojom files, without having to generate WebUI Mojom
# files for all dependencies (and their dependencies) in //ash/public/mojom.
mojom("input_device_settings") {
disable_variants = true
webui_module_path = "/"
generate_legacy_js_bindings = true
sources = [ "input_device_settings.mojom" ]
public_deps = [
"//mojo/public/mojom/base",
"//ui/events/ash/mojom",
]
deps = [
":accelerator_actions",
":accelerator_keys",
]
}
# This is a separate target so that downstream WebUI targets can take
# advantage of JS module Mojom files, without having to generate WebUI Mojom
# files for all dependencies (and their dependencies) in //ash/public/mojom.
mojom("accelerator_configuration") {
disable_variants = true
generate_legacy_js_bindings = true
webui_module_path = "/"
sources = [ "accelerator_configuration.mojom" ]
public_deps = []
}
# This is a separate target so that downstream WebUI targets can take
# advantage of JS module Mojom files, without having to generate WebUI Mojom
# files for all dependencies (and their dependencies) in //ash/public/mojom.
mojom("accelerator_keys") {
disable_variants = true
generate_legacy_js_bindings = true
webui_module_path = "/"
sources = [ "accelerator_keys.mojom" ]
public_deps = []
cpp_typemaps = [
{
types = [
{
mojom = "ash.mojom.VKey"
cpp = "::ui::KeyboardCode"
},
]
traits_headers = [
"//ui/events/keycodes/keyboard_codes_posix.h",
"accelerator_keys_mojom_traits.h",
]
traits_sources = [ "accelerator_keys_mojom_traits.cc" ]
},
]
}
# This is a separate target so that downstream WebUI targets can take
# advantage of JS module Mojom files, without having to generate WebUI Mojom
# files for all dependencies (and their dependencies) in //ash/public/mojom.
mojom("accelerator_actions") {
disable_variants = true
generate_legacy_js_bindings = true
webui_module_path = "/"
sources = [ "accelerator_actions.mojom" ]
public_deps = []
cpp_typemaps = [
{
types = [
{
mojom = "ash.mojom.AcceleratorAction"
cpp = "::ash::AcceleratorAction"
},
]
traits_headers = [ "accelerator_actions_mojom_traits.h" ]
traits_sources = [ "accelerator_actions_mojom_traits.cc" ]
traits_public_deps = [ "//ash/public/cpp:accelerator_actions" ]
},
]
}