# 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/linux/gtk/gtk.gni")
import("//ui/qt/qt.gni")
assert(is_linux)
component("linux_ui") {
defines = [ "IS_LINUX_UI_IMPL" ]
public = [
"cursor_theme_manager_observer.h",
"device_scale_factor_observer.h",
"linux_ui.h",
"linux_ui_delegate.h",
"linux_ui_delegate_stub.h",
"linux_ui_getter.h",
"nav_button_provider.h",
"status_icon_linux.h",
"window_button_order_observer.h",
"window_frame_provider.h",
]
sources = [
"linux_ui.cc",
"linux_ui_delegate.cc",
"linux_ui_delegate_stub.cc",
"linux_ui_getter.cc",
"status_icon_linux.cc",
]
deps = [
"//base",
"//ui/base:types",
"//ui/display/types",
"//ui/gfx/geometry",
]
public_deps = [ "//printing/buildflags" ]
}
component("linux_ui_factory") {
defines = [ "IS_LINUX_UI_FACTORY_IMPL" ]
public = [ "linux_ui_factory.h" ]
sources = [
"fallback_linux_ui.cc",
"fallback_linux_ui.h",
"linux_ui_factory.cc",
]
public_deps = [
":linux_ui",
"//ui/color:color_headers",
]
deps = [
"//base",
"//ui/base",
"//ui/base/ime/linux:linux",
"//ui/events:dom_keyboard_layout",
"//ui/gfx",
"//ui/native_theme",
"//ui/shell_dialogs",
"//ui/views",
]
if (use_gtk) {
# This is the only component that can interact with gtk.
deps += [ "//ui/gtk" ]
}
if (use_qt) {
deps += [ "//ui/qt" ]
}
}
source_set("display_server_utils") {
sources = [
"display_server_utils.cc",
"display_server_utils.h",
]
deps = [
"//base",
"//third_party/angle:angle_gpu_info_util",
"//ui/base:features",
"//ui/base:ozone_buildflags",
"//ui/ozone",
]
}
source_set("test_support") {
testonly = true
public = [ "fake_linux_ui.h" ]
sources = [ "fake_linux_ui.cc" ]
public_deps = [ ":linux_ui" ]
deps = [
"//base",
"//skia",
"//ui/base/ime/linux",
"//ui/gfx",
"//ui/native_theme",
"//ui/shell_dialogs",
]
}