blob: f7af46d857a27be4e4bf4573f6040bb7fc24f52e [file] [log] [blame]
revemanb195f41d2015-11-19 22:16:481# Copyright 2015 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
Hidehiko Abec1744bc2020-09-26 00:10:495import("//build/config/linux/pkg_config.gni")
brettwb5440a92015-12-03 00:47:126import("//build/config/ui.gni")
Steven Bennetts99f5b692018-11-27 16:31:407import("//chrome/common/features.gni")
revemanb195f41d2015-11-19 22:16:488import("//testing/test.gni")
Hidehiko Abec1744bc2020-09-26 00:10:499import("//ui/base/ui_features.gni")
10
11if (use_xkbcommon) {
12 pkg_config("xkbcommon") {
13 packages = [ "xkbcommon" ]
14 }
15}
revemanb195f41d2015-11-19 22:16:4816
Mitsuru Oshima51bf3d5472020-06-17 21:28:3417static_library("exo") {
revemanb195f41d2015-11-19 22:16:4818 sources = [
19 "buffer.cc",
20 "buffer.h",
Daichi Hironofc1a9fb2017-07-19 07:14:5521 "data_device.cc",
22 "data_device.h",
23 "data_device_delegate.h",
24 "data_offer.cc",
25 "data_offer.h",
26 "data_offer_delegate.h",
Daichi Hirono29647ac2017-08-15 09:11:5227 "data_offer_observer.h",
Daichi Hironofc1a9fb2017-07-19 07:14:5528 "data_source.cc",
29 "data_source.h",
30 "data_source_delegate.h",
Daichi Hirono19ff5882017-11-30 03:37:3431 "data_source_observer.h",
revemanb195f41d2015-11-19 22:16:4832 "display.cc",
33 "display.h",
Fergus Dalla4293852019-07-26 07:13:4734 "drag_drop_operation.cc",
35 "drag_drop_operation.h",
Albert Chaulk56e96582019-01-30 19:33:1836 "frame_sink_resource_manager.cc",
37 "frame_sink_resource_manager.h",
[email protected]bfb23cb2019-05-29 21:02:5738 "input_trace.h",
reveman5cacf70c2015-12-09 22:50:0239 "keyboard_delegate.h",
yhanada5d5b8cb52016-12-10 04:16:0240 "keyboard_device_configuration_delegate.h",
yhanadaaaaf52e2017-07-14 09:53:5641 "keyboard_observer.h",
danakjc7afae52017-06-20 21:12:4142 "layer_tree_frame_sink_holder.cc",
43 "layer_tree_frame_sink_holder.h",
Fergus Dall9a9d37c2019-05-16 03:32:2544 "mime_utils.cc",
45 "mime_utils.h",
Nicholas Hollingumbad8a05f62019-12-05 05:56:2146 "permission.cc",
47 "permission.h",
Daniel Nicoara64d43752019-06-10 16:57:1548 "pointer.cc",
49 "pointer.h",
Nicholas Hollingume9a6744f2019-10-03 05:57:2950 "pointer_constraint_delegate.h",
Daniel Nicoara64d43752019-06-10 16:57:1551 "pointer_delegate.h",
Daichi Hirono3d3468d2017-11-20 02:02:3452 "seat.cc",
53 "seat.h",
54 "seat_observer.h",
revemanb195f41d2015-11-19 22:16:4855 "shared_memory.cc",
56 "shared_memory.h",
Shawn Galleaa2c085e2018-11-27 18:40:2357 "shell_surface_util.cc",
58 "shell_surface_util.h",
reveman27fe2642015-11-20 06:33:3959 "sub_surface.cc",
60 "sub_surface.h",
revemanb195f41d2015-11-19 22:16:4861 "surface.cc",
62 "surface.h",
63 "surface_delegate.h",
reveman27fe2642015-11-20 06:33:3964 "surface_observer.h",
Peng Huangb07b0652017-06-27 17:25:2265 "surface_tree_host.cc",
66 "surface_tree_host.h",
reveman90b85ed2015-12-10 02:39:3367 "touch.cc",
68 "touch.h",
69 "touch_delegate.h",
kylechar5361171352019-04-26 18:23:1270 "vsync_timing_manager.cc",
71 "vsync_timing_manager.h",
penghuang76977a52016-08-16 15:40:0772 "wm_helper.cc",
73 "wm_helper.h",
revemanb195f41d2015-11-19 22:16:4874 ]
75
76 deps = [
revemanb195f41d2015-11-19 22:16:4877 "//base",
78 "//cc",
Eliot Courtney9d620302019-06-14 00:40:4979 "//components/viz/host",
denniskempin68de18242016-07-14 00:04:5980 "//device/gamepad",
juncai2f298a82017-04-18 03:51:3981 "//device/gamepad/public/cpp:shared_with_blink",
revemanb195f41d2015-11-19 22:16:4882 "//gpu",
Daniele Castagnaa8ace632019-04-03 18:01:2983 "//gpu/command_buffer/client:raster_interface",
Fergus Dall9a9d37c2019-05-16 03:32:2584 "//net",
85 "//services/data_decoder/public/cpp",
Miyoung Shin2be27f52019-07-27 15:35:3986 "//services/viz/privileged/mojom/compositing",
revemanb195f41d2015-11-19 22:16:4887 "//skia",
Fergus Dall9a9d37c2019-05-16 03:32:2588 "//third_party/blink/public/common",
revemanb195f41d2015-11-19 22:16:4889 "//ui/aura",
Henrique Ferreiro41a8f462020-05-21 15:59:1590 "//ui/base/cursor",
Jun Mukaia446ee7f2018-07-20 22:55:1591 "//ui/base/ime",
revemanb195f41d2015-11-19 22:16:4892 "//ui/compositor",
Tommy C. Li092c628a2018-03-29 20:32:1593 "//ui/compositor_extra",
kylechar731f85f92016-12-01 20:50:4694 "//ui/display/manager",
yhanada5d5b8cb52016-12-10 04:16:0295 "//ui/events/devices:devices",
Michael Spang4305feb42019-11-20 18:24:2796 "//ui/events/ozone",
revemanb195f41d2015-11-19 22:16:4897 "//ui/gfx",
98 "//ui/gfx/geometry",
99 "//ui/gl",
Toshiki Kikuchi7c2894d2018-10-10 01:02:09100 "//ui/message_center",
101 "//ui/message_center/public/cpp",
Jingkui Wang9ec45ba2017-09-12 21:27:48102 "//ui/ozone",
revemanb195f41d2015-11-19 22:16:48103 "//ui/views",
skycea631e2016-12-16 21:52:22104 "//ui/wm",
Thiago Farina3b086a02017-05-30 22:32:50105 "//ui/wm/public",
revemanb195f41d2015-11-19 22:16:48106 ]
erosky9f31b772016-10-04 01:10:16107
Mitsuru Oshima19d909272020-06-26 19:13:15108 assert_no_deps = [
109 "//components/arc",
110 "//content/public/browser",
111 "//content/public/common",
112 ]
113
Henrique Ferreiro3a6bd7c72020-02-27 09:51:20114 public_deps = [
Henrique Ferreirob111d602020-05-21 15:47:51115 "//ui/base/cursor:cursor_base",
Henrique Ferreiroe09c0efd2020-05-07 14:29:46116 "//ui/base/cursor/mojom:cursor_type",
Henrique Ferreiro1748fd12020-08-04 12:51:46117 "//ui/base/dragdrop/mojom:mojom_headers",
Henrique Ferreiro3a6bd7c72020-02-27 09:51:20118 ]
Henrique Ferreirob43235cf2020-02-27 01:05:36119
erosky9f31b772016-10-04 01:10:16120 if (is_chromeos) {
Shawn Gallea41ed30262018-10-19 17:23:37121 deps += [
Mitsuru Oshima51bf3d5472020-06-17 21:28:34122 "//ash",
Darren Shen50e14952019-05-14 03:40:43123 "//ash/keyboard/ui",
Shawn Gallea41ed30262018-10-19 17:23:37124 "//ash/public/cpp",
Nicholas Hollingume9a6744f2019-10-03 05:57:29125 "//chromeos/constants",
Hidehiko Abe4f0a1152020-09-17 10:34:20126 "//ui/events/ozone/layout",
Shawn Gallea41ed30262018-10-19 17:23:37127 ]
128 sources += [
Mikolaj Walczak297ece62019-10-11 02:55:40129 "client_controlled_accelerators.cc",
130 "client_controlled_accelerators.h",
Shawn Gallea41ed30262018-10-19 17:23:37131 "client_controlled_shell_surface.cc",
132 "client_controlled_shell_surface.h",
Merissa Tan2b79cc92020-08-18 00:59:43133 "gamepad.cc",
134 "gamepad.h",
135 "gamepad_observer.h",
Shawn Gallea41ed30262018-10-19 17:23:37136 "gaming_seat.cc",
137 "gaming_seat.h",
138 "input_method_surface.cc",
139 "input_method_surface.h",
140 "input_method_surface_manager.h",
141 "keyboard.cc",
142 "keyboard.h",
Hidehiko Abe23f5e812020-09-20 02:57:19143 "keyboard_modifiers.h",
Shawn Gallea41ed30262018-10-19 17:23:37144 "notification.cc",
145 "notification.h",
146 "notification_surface.cc",
147 "notification_surface.h",
148 "notification_surface_manager.h",
Shawn Gallea41ed30262018-10-19 17:23:37149 "shell_surface.cc",
150 "shell_surface.h",
151 "shell_surface_base.cc",
152 "shell_surface_base.h",
153 "text_input.cc",
154 "text_input.h",
Toshiki Kikuchi87e95102020-07-09 03:32:58155 "toast_surface.cc",
156 "toast_surface.h",
157 "toast_surface_manager.h",
Chloe Pellinga0e11359d2020-08-27 07:26:57158 "ui_lock_controller.cc",
159 "ui_lock_controller.h",
Shawn Gallea0a2ee0a2018-11-05 18:55:04160 "wm_helper_chromeos.cc",
161 "wm_helper_chromeos.h",
Shawn Gallea41ed30262018-10-19 17:23:37162 "xdg_shell_surface.cc",
163 "xdg_shell_surface.h",
Hidehiko Abe4f0a1152020-09-17 10:34:20164 "xkb_tracker.cc",
165 "xkb_tracker.h",
Shawn Gallea41ed30262018-10-19 17:23:37166 ]
Hidehiko Abec1744bc2020-09-26 00:10:49167 configs += [ ":xkbcommon" ]
erosky9f31b772016-10-04 01:10:16168 }
Shawn Gallead1908432018-11-12 15:49:39169
170 if (is_chromecast) {
Randy Rossi45693bf2019-07-31 14:57:25171 deps += [ "//ui/accessibility:accessibility" ]
Shawn Gallead1908432018-11-12 15:49:39172 sources += [
173 "fullscreen_shell_surface.cc",
174 "fullscreen_shell_surface.h",
175 ]
176 }
revemanb195f41d2015-11-19 22:16:48177}
178
179source_set("test_support") {
180 testonly = true
181
Daniel Nicoara3e65fb52018-12-05 22:02:46182 sources = [
Peter Kastingb2600ae32019-05-14 04:42:25183 "test/exo_test_base_views.cc",
184 "test/exo_test_base_views.h",
Daniel Nicoara332761202018-12-10 20:00:59185 "test/exo_test_suite_aura.cc",
186 "test/exo_test_suite_aura.h",
Daniel Nicoara3e65fb52018-12-05 22:02:46187 ]
188
Mirko Bonadei1c098b882020-03-07 04:46:03189 public_deps = [ "//testing/gtest" ]
190
revemanb195f41d2015-11-19 22:16:48191 deps = [
penghuang608523d42016-08-18 17:05:28192 ":exo",
revemanb195f41d2015-11-19 22:16:48193 "//base",
Daniel Nicoara332761202018-12-10 20:00:59194 "//base/test:test_support",
kylechara4a664e62020-01-15 18:46:44195 "//components/viz/service",
brettw15764b12015-11-30 22:11:05196 "//gpu",
revemanb195f41d2015-11-19 22:16:48197 "//skia",
brettw15764b12015-11-30 22:11:05198 "//ui/aura",
Michael Spang539c6f32019-04-03 19:08:52199 "//ui/base/ime/init",
brettw15764b12015-11-30 22:11:05200 "//ui/compositor",
Daniel Nicoaraec62bcf42018-12-05 21:22:42201 "//ui/compositor:test_support",
202 "//ui/display/manager",
brettw15764b12015-11-30 22:11:05203 "//ui/gfx/geometry",
Daniel Nicoara332761202018-12-10 20:00:59204 "//ui/gl:test_support",
denniskempin31a496e2016-12-17 00:20:57205 "//ui/views",
Peter Kastingb2600ae32019-05-14 04:42:25206 "//ui/views:test_support",
Thiago Farina3b086a02017-05-30 22:32:50207 "//ui/wm",
revemanb195f41d2015-11-19 22:16:48208 ]
Shawn Gallea41ed30262018-10-19 17:23:37209
210 if (is_chromeos) {
Daniel Nicoara3e65fb52018-12-05 22:02:46211 sources += [
Shawn Gallead1908432018-11-12 15:49:39212 "test/exo_test_base.cc",
213 "test/exo_test_base.h",
214 "test/exo_test_helper.cc",
215 "test/exo_test_helper.h",
Shawn Gallead1908432018-11-12 15:49:39216 ]
Shawn Gallea41ed30262018-10-19 17:23:37217 deps += [
Scott Violet6ac56412018-12-19 17:25:50218 "//ash:test_support",
Shawn Gallea41ed30262018-10-19 17:23:37219 "//ash/public/cpp",
220 ]
221 }
revemanb195f41d2015-11-19 22:16:48222}
223
224source_set("unit_tests") {
225 testonly = true
226
revemanb195f41d2015-11-19 22:16:48227 deps = [
reveman27fe2642015-11-20 06:33:39228 ":exo",
229 ":test_support",
brettw15764b12015-11-30 22:11:05