Avi Drissman | 8ba1bad | 2022-09-13 19:22:36 | [diff] [blame] | 1 | # Copyright 2015 The Chromium Authors |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
Jim Shargo | 6b1b84e | 2021-06-17 20:30:51 | [diff] [blame] | 5 | import("//build/buildflag_header.gni") |
Yuta Hijikata | 9073b54 | 2020-11-25 02:45:41 | [diff] [blame] | 6 | import("//build/config/chromeos/ui_mode.gni") |
Hidehiko Abe | 3375cfe5 | 2020-09-29 08:48:26 | [diff] [blame] | 7 | import("//build/config/linux/pkg_config.gni") |
brettw | b5440a9 | 2015-12-03 00:47:12 | [diff] [blame] | 8 | import("//build/config/ui.gni") |
Steven Bennetts | 99f5b69 | 2018-11-27 16:31:40 | [diff] [blame] | 9 | import("//chrome/common/features.gni") |
Jim Shargo | 6b1b84e | 2021-06-17 20:30:51 | [diff] [blame] | 10 | import("//components/exo/buildflags.gni") |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 11 | import("//testing/test.gni") |
Hidehiko Abe | 3375cfe5 | 2020-09-29 08:48:26 | [diff] [blame] | 12 | import("//ui/base/ui_features.gni") |
| 13 | |
Mitsuru Oshima | f1e1b6b | 2022-04-12 13:23:59 | [diff] [blame] | 14 | assert(use_ozone) |
Mitsuru Oshima | 94a83f4 | 2022-10-04 07:18:53 | [diff] [blame^] | 15 | assert(is_chromeos_ash) |
Mitsuru Oshima | f1e1b6b | 2022-04-12 13:23:59 | [diff] [blame] | 16 | |
Jim Shargo | 6b1b84e | 2021-06-17 20:30:51 | [diff] [blame] | 17 | buildflag_header("buildflags") { |
| 18 | header = "buildflags.h" |
Mitsuru Oshima | e67e19e3 | 2021-12-14 22:30:55 | [diff] [blame] | 19 | flags = [ "ENABLE_COLOR_MANAGER=$enable_color_manager" ] |
Jim Shargo | 6b1b84e | 2021-06-17 20:30:51 | [diff] [blame] | 20 | } |
| 21 | |
Hidehiko Abe | 3375cfe5 | 2020-09-29 08:48:26 | [diff] [blame] | 22 | if (use_xkbcommon) { |
| 23 | pkg_config("xkbcommon") { |
| 24 | packages = [ "xkbcommon" ] |
| 25 | } |
| 26 | } |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 27 | |
Mitsuru Oshima | 51bf3d547 | 2020-06-17 21:28:34 | [diff] [blame] | 28 | static_library("exo") { |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 29 | sources = [ |
| 30 | "buffer.cc", |
| 31 | "buffer.h", |
Daichi Hirono | fc1a9fb | 2017-07-19 07:14:55 | [diff] [blame] | 32 | "data_device.cc", |
| 33 | "data_device.h", |
| 34 | "data_device_delegate.h", |
Joel Hockey | 5875dba | 2020-12-01 22:47:55 | [diff] [blame] | 35 | "data_exchange_delegate.h", |
Daichi Hirono | fc1a9fb | 2017-07-19 07:14:55 | [diff] [blame] | 36 | "data_offer.cc", |
| 37 | "data_offer.h", |
| 38 | "data_offer_delegate.h", |
Daichi Hirono | 29647ac | 2017-08-15 09:11:52 | [diff] [blame] | 39 | "data_offer_observer.h", |
Daichi Hirono | fc1a9fb | 2017-07-19 07:14:55 | [diff] [blame] | 40 | "data_source.cc", |
| 41 | "data_source.h", |
| 42 | "data_source_delegate.h", |
Daichi Hirono | 19ff588 | 2017-11-30 03:37:34 | [diff] [blame] | 43 | "data_source_observer.h", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 44 | "display.cc", |
| 45 | "display.h", |
Fergus Dall | a429385 | 2019-07-26 07:13:47 | [diff] [blame] | 46 | "drag_drop_operation.cc", |
| 47 | "drag_drop_operation.h", |
Albert Chaulk | 56e9658 | 2019-01-30 19:33:18 | [diff] [blame] | 48 | "frame_sink_resource_manager.cc", |
| 49 | "frame_sink_resource_manager.h", |
[email protected] | bfb23cb | 2019-05-29 21:02:57 | [diff] [blame] | 50 | "input_trace.h", |
Hidehiko Abe | 190f6934 | 2021-04-02 19:58:45 | [diff] [blame] | 51 | "key_state.h", |
reveman | 5cacf70c | 2015-12-09 22:50:02 | [diff] [blame] | 52 | "keyboard_delegate.h", |
yhanada | 5d5b8cb5 | 2016-12-10 04:16:02 | [diff] [blame] | 53 | "keyboard_device_configuration_delegate.h", |
yhanada | aaaf52e | 2017-07-14 09:53:56 | [diff] [blame] | 54 | "keyboard_observer.h", |
danakj | c7afae5 | 2017-06-20 21:12:41 | [diff] [blame] | 55 | "layer_tree_frame_sink_holder.cc", |
| 56 | "layer_tree_frame_sink_holder.h", |
Fergus Dall | 9a9d37c | 2019-05-16 03:32:25 | [diff] [blame] | 57 | "mime_utils.cc", |
| 58 | "mime_utils.h", |
Nicholas Hollingum | bad8a05f6 | 2019-12-05 05:56:21 | [diff] [blame] | 59 | "permission.cc", |
| 60 | "permission.h", |
Daniel Nicoara | 64d4375 | 2019-06-10 16:57:15 | [diff] [blame] | 61 | "pointer.cc", |
| 62 | "pointer.h", |
Nicholas Hollingum | e9a6744f | 2019-10-03 05:57:29 | [diff] [blame] | 63 | "pointer_constraint_delegate.h", |
Daniel Nicoara | 64d4375 | 2019-06-10 16:57:15 | [diff] [blame] | 64 | "pointer_delegate.h", |
Jeffrey Kardatzke | 51c59ff | 2022-01-10 20:47:22 | [diff] [blame] | 65 | "protected_native_pixmap_query_delegate.h", |
Daichi Hirono | 3d3468d | 2017-11-20 02:02:34 | [diff] [blame] | 66 | "seat.cc", |
| 67 | "seat.h", |
| 68 | "seat_observer.h", |
Nicholas Hollingum | da83704 | 2022-07-18 23:46:49 | [diff] [blame] | 69 | "security_delegate.cc", |
| 70 | "security_delegate.h", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 71 | "shared_memory.cc", |
| 72 | "shared_memory.h", |
Shawn Gallea | a2c085e | 2018-11-27 18:40:23 | [diff] [blame] | 73 | "shell_surface_util.cc", |
| 74 | "shell_surface_util.h", |
reveman | 27fe264 | 2015-11-20 06:33:39 | [diff] [blame] | 75 | "sub_surface.cc", |
| 76 | "sub_surface.h", |
Lucas Berthou | f18ac60 | 2021-11-12 21:35:10 | [diff] [blame] | 77 | "sub_surface_observer.h", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 78 | "surface.cc", |
| 79 | "surface.h", |
| 80 | "surface_delegate.h", |
reveman | 27fe264 | 2015-11-20 06:33:39 | [diff] [blame] | 81 | "surface_observer.h", |
Peng Huang | b07b065 | 2017-06-27 17:25:22 | [diff] [blame] | 82 | "surface_tree_host.cc", |
| 83 | "surface_tree_host.h", |
reveman | 90b85ed | 2015-12-10 02:39:33 | [diff] [blame] | 84 | "touch.cc", |
| 85 | "touch.h", |
| 86 | "touch_delegate.h", |
kylechar | 536117135 | 2019-04-26 18:23:12 | [diff] [blame] | 87 | "vsync_timing_manager.cc", |
| 88 | "vsync_timing_manager.h", |
Hiroki Sato | ebc5f73a3 | 2021-07-26 05:47:17 | [diff] [blame] | 89 | "window_properties.cc", |
| 90 | "window_properties.h", |
penghuang | 76977a5 | 2016-08-16 15:40:07 | [diff] [blame] | 91 | "wm_helper.cc", |
| 92 | "wm_helper.h", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 93 | ] |
| 94 | |
| 95 | deps = [ |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 96 | "//base", |
Yuta Hijikata | 9073b54 | 2020-11-25 02:45:41 | [diff] [blame] | 97 | "//build:chromeos_buildflags", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 98 | "//cc", |
Eliot Courtney | 9d62030 | 2019-06-14 00:40:49 | [diff] [blame] | 99 | "//components/viz/host", |
denniskempin | 68de1824 | 2016-07-14 00:04:59 | [diff] [blame] | 100 | "//device/gamepad", |
juncai | 2f298a8 | 2017-04-18 03:51:39 | [diff] [blame] | 101 | "//device/gamepad/public/cpp:shared_with_blink", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 102 | "//gpu", |
Daniele Castagna | a8ace63 | 2019-04-03 18:01:29 | [diff] [blame] | 103 | "//gpu/command_buffer/client:raster_interface", |
Fergus Dall | 9a9d37c | 2019-05-16 03:32:25 | [diff] [blame] | 104 | "//net", |
| 105 | "//services/data_decoder/public/cpp", |
Miyoung Shin | 2be27f5 | 2019-07-27 15:35:39 | [diff] [blame] | 106 | "//services/viz/privileged/mojom/compositing", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 107 | "//skia", |
Fergus Dall | 9a9d37c | 2019-05-16 03:32:25 | [diff] [blame] | 108 | "//third_party/blink/public/common", |
Manu Cornet | 81dc4ecd | 2020-10-16 22:25:40 | [diff] [blame] | 109 | "//ui/accessibility:ax_base", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 110 | "//ui/aura", |
Henrique Ferreiro | 0fe310d11 | 2021-03-23 23:09:04 | [diff] [blame] | 111 | "//ui/base/dragdrop:types", |
Henrique Ferreiro | a1f22d6 | 2021-02-12 17:32:20 | [diff] [blame] | 112 | "//ui/base/dragdrop/mojom", |
Jun Mukai | a446ee7f | 2018-07-20 22:55:15 | [diff] [blame] | 113 | "//ui/base/ime", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 114 | "//ui/compositor", |
Tommy C. Li | 092c628a | 2018-03-29 20:32:15 | [diff] [blame] | 115 | "//ui/compositor_extra", |
kylechar | 731f85f9 | 2016-12-01 20:50:46 | [diff] [blame] | 116 | "//ui/display/manager", |
yhanada | 5d5b8cb5 | 2016-12-10 04:16:02 | [diff] [blame] | 117 | "//ui/events/devices:devices", |
Michael Spang | 4305feb4 | 2019-11-20 18:24:27 | [diff] [blame] | 118 | "//ui/events/ozone", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 119 | "//ui/gfx", |
| 120 | "//ui/gfx/geometry", |
| 121 | "//ui/gl", |
Toshiki Kikuchi | 7c2894d | 2018-10-10 01:02:09 | [diff] [blame] | 122 | "//ui/message_center", |
| 123 | "//ui/message_center/public/cpp", |
Jingkui Wang | 9ec45ba | 2017-09-12 21:27:48 | [diff] [blame] | 124 | "//ui/ozone", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 125 | "//ui/views", |
sky | cea631e | 2016-12-16 21:52:22 | [diff] [blame] | 126 | "//ui/wm", |
Thiago Farina | 3b086a0 | 2017-05-30 22:32:50 | [diff] [blame] | 127 | "//ui/wm/public", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 128 | ] |
erosky | 9f31b77 | 2016-10-04 01:10:16 | [diff] [blame] | 129 | |
Mitsuru Oshima | 19d90927 | 2020-06-26 19:13:15 | [diff] [blame] | 130 | assert_no_deps = [ |
Yao Li | 5a6b842 | 2021-12-03 03:23:25 | [diff] [blame] | 131 | "//ash/components/arc", |
Mitsuru Oshima | 19d90927 | 2020-06-26 19:13:15 | [diff] [blame] | 132 | "//components/arc", |
| 133 | "//content/public/browser", |
| 134 | "//content/public/common", |
| 135 | ] |
| 136 | |
Henrique Ferreiro | 3a6bd7c7 | 2020-02-27 09:51:20 | [diff] [blame] | 137 | public_deps = [ |
Henrique Ferreiro | 5a79d866 | 2021-12-07 14:56:42 | [diff] [blame] | 138 | "//ui/base/cursor", |
Henrique Ferreiro | e09c0efd | 2020-05-07 14:29:46 | [diff] [blame] | 139 | "//ui/base/cursor/mojom:cursor_type", |
Henrique Ferreiro | 1748fd1 | 2020-08-04 12:51:46 | [diff] [blame] | 140 | "//ui/base/dragdrop/mojom:mojom_headers", |
Henrique Ferreiro | 3a6bd7c7 | 2020-02-27 09:51:20 | [diff] [blame] | 141 | ] |
Henrique Ferreiro | b43235cf | 2020-02-27 01:05:36 | [diff] [blame] | 142 | |
Yuta Hijikata | 9073b54 | 2020-11-25 02:45:41 | [diff] [blame] | 143 | if (is_chromeos_ash) { |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 144 | deps += [ |
Mitsuru Oshima | 51bf3d547 | 2020-06-17 21:28:34 | [diff] [blame] | 145 | "//ash", |
Henrique Ferreiro | adddf4b | 2021-02-06 07:13:56 | [diff] [blame] | 146 | "//ash/constants", |
Darren Shen | 50e1495 | 2019-05-14 03:40:43 | [diff] [blame] | 147 | "//ash/keyboard/ui", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 148 | "//ash/public/cpp", |
Chloe Pelling | d061561 | 2022-02-09 06:41:14 | [diff] [blame] | 149 | "//ash/resources/vector_icons", |
Eriko Kurimoto | 710910a | 2022-04-26 05:21:56 | [diff] [blame] | 150 | "//chromeos/crosapi/cpp:crosapi_constants", |
Chloe Pelling | 3f367cd9 | 2022-04-28 08:24:08 | [diff] [blame] | 151 | "//chromeos/dbus/power", |
| 152 | "//chromeos/dbus/power:power_manager_proto", |
Antonio Gomes | 2b02c841 | 2020-10-09 22:47:07 | [diff] [blame] | 153 | "//chromeos/ui/base", |
Antonio Gomes | 5c83325 | 2020-10-13 18:42:19 | [diff] [blame] | 154 | "//chromeos/ui/frame", |
Sammie Quon | 53afe7f | 2021-09-14 20:10:42 | [diff] [blame] | 155 | "//components/app_restore", |
Joel Hockey | ca83cd66 | 2021-04-14 06:12:39 | [diff] [blame] | 156 | "//components/fullscreen_control", |
| 157 | "//components/strings", |
Hidehiko Abe | 080ad30 | 2020-10-30 17:41:27 | [diff] [blame] | 158 | "//ui/base", |
Xiyuan Xia | 0ea43d2 | 2022-03-30 23:58:57 | [diff] [blame] | 159 | "//ui/base:hit_test", |
Hidehiko Abe | 4f0a115 | 2020-09-17 10:34:20 | [diff] [blame] | 160 | "//ui/events/ozone/layout", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 161 | ] |
| 162 | sources += [ |
Mikolaj Walczak | 297ece6 | 2019-10-11 02:55:40 | [diff] [blame] | 163 | "client_controlled_accelerators.cc", |
| 164 | "client_controlled_accelerators.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 165 | "client_controlled_shell_surface.cc", |
| 166 | "client_controlled_shell_surface.h", |
Xiyuan Xia | 0ea43d2 | 2022-03-30 23:58:57 | [diff] [blame] | 167 | "custom_window_state_delegate.cc", |
| 168 | "custom_window_state_delegate.h", |
Nick Diego Yamane | 82ff17de | 2020-11-06 18:53:11 | [diff] [blame] | 169 | "extended_drag_offer.cc", |
| 170 | "extended_drag_offer.h", |
| 171 | "extended_drag_source.cc", |
| 172 | "extended_drag_source.h", |
Merissa Tan | 2b79cc9 | 2020-08-18 00:59:43 | [diff] [blame] | 173 | "gamepad.cc", |
| 174 | "gamepad.h", |
| 175 | "gamepad_observer.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 176 | "gaming_seat.cc", |
| 177 | "gaming_seat.h", |
| 178 | "input_method_surface.cc", |
| 179 | "input_method_surface.h", |
| 180 | "input_method_surface_manager.h", |
| 181 | "keyboard.cc", |
| 182 | "keyboard.h", |
Hidehiko Abe | 23f5e81 | 2020-09-20 02:57:19 | [diff] [blame] | 183 | "keyboard_modifiers.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 184 | "notification.cc", |
| 185 | "notification.h", |
| 186 | "notification_surface.cc", |
| 187 | "notification_surface.h", |
| 188 | "notification_surface_manager.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 189 | "shell_surface.cc", |
| 190 | "shell_surface.h", |
| 191 | "shell_surface_base.cc", |
| 192 | "shell_surface_base.h", |
Xiyuan Xia | 0ea43d2 | 2022-03-30 23:58:57 | [diff] [blame] | 193 | "shell_surface_observer.h", |
| 194 | "shell_surface_presentation_time_recorder.cc", |
| 195 | "shell_surface_presentation_time_recorder.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 196 | "text_input.cc", |
| 197 | "text_input.h", |
Toshiki Kikuchi | 87e9510 | 2020-07-09 03:32:58 | [diff] [blame] | 198 | "toast_surface.cc", |
| 199 | "toast_surface.h", |
| 200 | "toast_surface_manager.h", |
Chloe Pelling | a0e11359d | 2020-08-27 07:26:57 | [diff] [blame] | 201 | "ui_lock_controller.cc", |
| 202 | "ui_lock_controller.h", |
Shawn Gallea | 0a2ee0a | 2018-11-05 18:55:04 | [diff] [blame] | 203 | "wm_helper_chromeos.cc", |
| 204 | "wm_helper_chromeos.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 205 | "xdg_shell_surface.cc", |
| 206 | "xdg_shell_surface.h", |
Hidehiko Abe | 4f0a115 | 2020-09-17 10:34:20 | [diff] [blame] | 207 | "xkb_tracker.cc", |
| 208 | "xkb_tracker.h", |
Shawn Gallea | 41ed3026 | 2018-10-19 17:23:37 | [diff] [blame] | 209 | ] |
Hidehiko Abe | 3375cfe5 | 2020-09-29 08:48:26 | [diff] [blame] | 210 | if (use_xkbcommon) { |
| 211 | configs += [ ":xkbcommon" ] |
| 212 | } |
erosky | 9f31b77 | 2016-10-04 01:10:16 | [diff] [blame] | 213 | } |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 214 | } |
| 215 | |
| 216 | source_set("test_support") { |
| 217 | testonly = true |
| 218 | |
Daniel Nicoara | 3e65fb5 | 2018-12-05 22:02:46 | [diff] [blame] | 219 | sources = [ |
yjliu | 00982d2 | 2020-10-14 00:31:12 | [diff] [blame] | 220 | "mock_vsync_timing_observer.cc", |
| 221 | "mock_vsync_timing_observer.h", |
Peter Kasting | b2600ae3 | 2019-05-14 04:42:25 | [diff] [blame] | 222 | "test/exo_test_base_views.cc", |
| 223 | "test/exo_test_base_views.h", |
Daniel Nicoara | 33276120 | 2018-12-10 20:00:59 | [diff] [blame] | 224 | "test/exo_test_suite_aura.cc", |
| 225 | "test/exo_test_suite_aura.h", |
Nicholas Hollingum | fb87b82 | 2022-07-20 01:08:26 | [diff] [blame] | 226 | "test/mock_security_delegate.cc", |
| 227 | "test/mock_security_delegate.h", |
Mitsuru Oshima | 5eb13a1 | 2022-08-01 16:54:41 | [diff] [blame] | 228 | "test/test_security_delegate.cc", |
| 229 | "test/test_security_delegate.h", |
Daniel Nicoara | 3e65fb5 | 2018-12-05 22:02:46 | [diff] [blame] | 230 | ] |
| 231 | |
Mirko Bonadei | 1c098b88 | 2020-03-07 04:46:03 | [diff] [blame] | 232 | public_deps = [ "//testing/gtest" ] |
| 233 | |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 234 | deps = [ |
penghuang | 608523d4 | 2016-08-18 17:05:28 | [diff] [blame] | 235 | ":exo", |
reveman | b195f41d | 2015-11-19 22:16:48 | [diff] [blame] | 236 | "//base", |
Daniel Nicoara | 33276120 | 2018-12-10 20:00:59 | [diff] [blame] | 237 | "//base/test:test_support", |
kylechar | a4a664e6 | 2020-01-15 18:46:44 | [diff] [blame] | 238 | "//components/viz/service", |
brettw | 15764b1 | 2015-11-30 22:11:05 | [diff] [blame] | 239 | "//gpu", |
reveman | b195f41d | 2015-11-19 22:16:48 | [
|