Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 1 | # Copyright 2022 The Chromium Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | import("//build/config/linux/gtk/gtk.gni") |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 6 | import("//ui/qt/qt.gni") |
| 7 | |
Tom Anderson | 37fe687 | 2022-07-20 18:22:02 | [diff] [blame^] | 8 | assert(is_linux) |
| 9 | |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 10 | component("linux_ui") { |
| 11 | defines = [ "IS_LINUX_UI_IMPL" ] |
| 12 | public = [ |
Tom Anderson | a49b45a | 2022-07-14 22:54:30 | [diff] [blame] | 13 | "cursor_theme_manager_observer.h", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 14 | "device_scale_factor_observer.h", |
| 15 | "linux_ui.h", |
Tom Anderson | 9c55789 | 2022-07-19 17:26:43 | [diff] [blame] | 16 | "linux_ui_delegate.h", |
| 17 | "linux_ui_delegate_stub.h", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 18 | "nav_button_provider.h", |
| 19 | "status_icon_linux.h", |
| 20 | "window_button_order_observer.h", |
| 21 | "window_frame_provider.h", |
| 22 | ] |
| 23 | sources = [ |
| 24 | "linux_ui.cc", |
Tom Anderson | 9c55789 | 2022-07-19 17:26:43 | [diff] [blame] | 25 | "linux_ui_delegate.cc", |
| 26 | "linux_ui_delegate_stub.cc", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 27 | "status_icon_linux.cc", |
| 28 | ] |
| 29 | deps = [ |
Tom Anderson | e3f74fd | 2022-07-19 17:08:30 | [diff] [blame] | 30 | "//base", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 31 | "//build:chromecast_buildflags", |
Tom Anderson | e3f74fd | 2022-07-19 17:08:30 | [diff] [blame] | 32 | "//ui/gfx", |
Tom Anderson | 9c55789 | 2022-07-19 17:26:43 | [diff] [blame] | 33 | "//ui/gfx/animation", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 34 | "//ui/native_theme", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 35 | ] |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 36 | public_deps = [ |
| 37 | "//printing/buildflags", |
| 38 | "//skia", |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 39 | ] |
| 40 | } |
| 41 | |
| 42 | source_set("linux_ui_factory") { |
| 43 | sources = [ |
| 44 | "linux_ui_factory.cc", |
| 45 | "linux_ui_factory.h", |
| 46 | ] |
| 47 | |
| 48 | public_deps = [ ":linux_ui" ] |
| 49 | |
Tom Anderson | a49b45a | 2022-07-14 22:54:30 | [diff] [blame] | 50 | deps = [ |
| 51 | "//base", |
| 52 | "//ui/base:buildflags", |
| 53 | ] |
Tom Anderson | 4ee8374 | 2022-07-14 20:58:41 | [diff] [blame] | 54 | if (use_gtk) { |
| 55 | # This is the only component that can interact with gtk. |
| 56 | deps += [ "//ui/gtk" ] |
| 57 | } |
| 58 | if (use_qt) { |
| 59 | deps += [ "//ui/qt" ] |
| 60 | } |
| 61 | } |
Tom Anderson | 37fe687 | 2022-07-20 18:22:02 | [diff] [blame^] | 62 | |
| 63 | source_set("test_support") { |
| 64 | testonly = true |
| 65 | |
| 66 | public = [ "fake_linux_ui.h" ] |
| 67 | sources = [ "fake_linux_ui.cc" ] |
| 68 | |
| 69 | public_deps = [ ":linux_ui" ] |
| 70 | deps = [ |
| 71 | "//base", |
| 72 | "//skia", |
| 73 | "//ui/gfx", |
| 74 | "//ui/native_theme", |
| 75 | "//ui/shell_dialogs", |
| 76 | ] |
| 77 | } |