| # 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", |
| ] |
| } |