blob: 09bc30a951eec9e559c3ed461f36705eab983f75 [file] [log] [blame]
# Copyright 2014 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("//mojo/public/tools/bindings/mojom.gni")
import("//testing/test.gni")
mojom("interfaces") {
# The window service runs in the browser process for mus and in the
# ash_and_ui process for mash. Allow IPC serialization to be skipped for
# the common case of in-process mojo calls. This causes a ~130KB size
# increase on 64-bit Intel builds.
if (is_chromeos) {
support_lazy_serialization = true
}
sources = [
# TODO: if adding a new mojom add it to interfaces_tmp below.
"remote_event_dispatcher.mojom",
"user_activity_monitor.mojom",
"video_detector.mojom",
"window_manager.mojom",
"window_manager_window_tree_factory.mojom",
"window_server_test.mojom",
"window_tree.mojom",
"window_tree_host.mojom",
"window_tree_host_factory.mojom",
]
import_dirs = [
get_path_info("../../../..", "abspath"),
"//mojo/services",
]
public_deps = [
":constants",
":interfaces_tmp",
"//gpu/ipc/common:interfaces",
"//media/mojo/interfaces",
"//mojo/common:common_custom_types",
"//services/ui/public/interfaces/cursor",
"//services/ui/public/interfaces/display",
"//services/ui/public/interfaces/ime",
"//services/viz/public/interfaces",
"//skia/public/interfaces",
"//ui/base/mojo:mojo_bindings",
"//ui/display/mojo:interfaces",
"//ui/events/mojo:interfaces",
"//ui/gfx/geometry/mojo",
"//ui/gfx/mojo",
"//ui/platform_window/mojo:interfaces",
]
if (is_chromeos) {
sources += [ "arc.mojom" ]
public_deps += [ "//components/arc/common:media" ]
}
# TODO(crbug.com/714018): Convert the implementation to use OnceCallback.
use_once_callback = false
}
# TODO(sky): temporary while migrating to once_callback. Eventually this will
# become "interfaces".
mojom("interfaces_tmp") {
visibility = [ ":*" ]
sources = [
"accessibility_manager.mojom",
"clipboard.mojom",
"display_manager.mojom",
"event_matcher.mojom",
"gpu.mojom",
"mus_constants.mojom",
"window_manager_constants.mojom",
"window_tree_constants.mojom",
]
import_dirs = [
get_path_info("../../../..", "abspath"),
"//mojo/services",
]
public_deps = [
":constants",
"//gpu/ipc/common:interfaces",
"//media/mojo/interfaces",
"//mojo/common:common_custom_types",
"//services/ui/public/interfaces/cursor",
"//services/ui/public/interfaces/display",
"//services/ui/public/interfaces/ime",
"//services/viz/public/interfaces",
"//skia/public/interfaces",
"//ui/base/mojo:mojo_bindings",
"//ui/display/mojo:interfaces",
"//ui/events/mojo:interfaces",
"//ui/gfx/geometry/mojo",
"//ui/gfx/mojo",
"//ui/platform_window/mojo:interfaces",
]
}
mojom("constants") {
sources = [
"constants.mojom",
]
}
source_set("tests") {
testonly = true
sources = [
"cursor/cursor_struct_traits_unittest.cc",
"ime/ime_struct_traits_unittest.cc",
]
deps = [
"//base",
"//base/test:test_support",
"//services/ui/public/interfaces/cursor",
"//services/ui/public/interfaces/ime:test_interfaces",
"//skia/public/interfaces",
"//testing/gtest",
"//ui/display/types",
"//ui/gfx:test_support",
"//ui/gfx/range/mojo:struct_traits",
]
}