chromium/ui/base/wayland/BUILD.gn

# Copyright 2022 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("//build/config/ozone.gni")

# ash-chrome depends on wayland, since components/exo is wayland compositor.
# If platform supports wayland (as a client), it also depends on wayland.
assert(is_chromeos_ash || ozone_platform_wayland)

source_set("wayland_input_types_impl") {
  sources = [ "wayland_input_types_impl.h" ]

  visibility = [
    ":wayland_client_input_types",
    ":wayland_server_input_types",
  ]
}

source_set("wayland_client_input_types") {
  sources = [
    "wayland_client_input_types.cc",
    "wayland_client_input_types.h",
  ]

  public_deps = [
    "//third_party/wayland:wayland_client",
    "//third_party/wayland-protocols:text_input_extension_protocol",
    "//third_party/wayland-protocols:text_input_protocol",
    "//ui/base/ime:text_input_types",
  ]

  deps = [
    ":wayland_input_types_impl",
    "//base",
  ]
}

source_set("wayland_server_input_types") {
  sources = [
    "wayland_server_input_types.cc",
    "wayland_server_input_types.h",
  ]

  public_deps = [
    "//third_party/abseil-cpp:absl",
    "//third_party/wayland:wayland_server",
    "//third_party/wayland-protocols:text_input_extension_protocol",
    "//third_party/wayland-protocols:text_input_protocol",
    "//ui/base/ime:text_input_types",
  ]

  deps = [ ":wayland_input_types_impl" ]
}

source_set("color_manager_util") {
  sources = [
    "color_manager_util.cc",
    "color_manager_util.h",
  ]
  public_deps = [
    "//base",
    "//components/exo/wayland/protocol:chrome_color_management_protocol",
    "//third_party/wayland:wayland_server",
    "//ui/gfx:color_space",
  ]
}

source_set("wayland_display_util") {
  sources = [
    "wayland_display_util.cc",
    "wayland_display_util.h",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "wayland_display_util_unittest.cc",
    "wayland_input_types_unittest.cc",
  ]

  deps = [
    ":wayland_client_input_types",
    ":wayland_display_util",
    ":wayland_server_input_types",
    "//testing/gtest",
    "//ui/base/ime:text_input_types",
  ]
}