[go: nahoru, domu]

blob: 43378db7a6b8299d4a419b6365d0716f17bc45a3 [file] [log] [blame]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:291# Copyright 2014 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
Daniel Bratelle181f9322017-11-29 23:18:455import("//build/config/jumbo.gni")
scottmgbba95ce2014-12-03 07:28:236import("//build/config/ui.gni")
qsrfb5251d12015-01-21 15:57:227import("//testing/test.gni")
tfarina@chromium.orgbd56a5b2014-06-07 04:09:298
Daniel Bratelle181f9322017-11-29 23:18:459jumbo_component("aura") {
sky2a454ebd2017-05-19 19:26:0610 public = [
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2911 "client/aura_constants.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2912 "client/capture_client.h",
sky946eb202016-10-21 18:25:3313 "client/capture_client_observer.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2914 "client/capture_delegate.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2915 "client/cursor_client.h",
satoruxd3ce5e22015-02-18 01:01:4216 "client/cursor_client_observer.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2917 "client/default_capture_client.h",
sky92d41b22016-10-27 20:10:1618 "client/drag_drop_client.h",
Daichi Hironoe66b4152017-08-01 06:20:3319 "client/drag_drop_client_observer.h",
skyd509d732016-10-28 22:15:4620 "client/drag_drop_delegate.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2921 "client/event_client.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2922 "client/focus_change_observer.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2923 "client/focus_client.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2924 "client/screen_position_client.h",
skyf8fcebc2016-10-27 18:34:1325 "client/transient_window_client.h",
26 "client/transient_window_client_observer.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2927 "client/visibility_client.h",
sky28f20d62016-10-20 23:21:5928 "client/window_parenting_client.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2929 "client/window_stacking_client.h",
Thiago Farina627fba952017-05-24 21:15:2630 "client/window_types.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2931 "env.h",
sadrul9d8d13f52016-06-20 22:33:0532 "env_input_state_controller.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2933 "env_observer.h",
sadrul8a7826a2017-05-15 17:04:3934 "event_injector.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2935 "input_state_lookup.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2936 "input_state_lookup_win.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2937 "layout_manager.h",
Scott Violetec3b3b682018-08-30 20:06:3038 "null_window_targeter.h",
Joe Downinga8e74ac2018-02-26 17:10:2439 "scoped_keyboard_hook.h",
Joe Downing8cbbc192018-05-14 17:37:0740 "scoped_simple_keyboard_hook.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2941 "scoped_window_targeter.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2942 "window.h",
satoruxd3ce5e22015-02-18 01:01:4243 "window_delegate.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2944 "window_event_dispatcher.h",
Scott Violet39c503de2018-05-11 04:50:4645 "window_event_dispatcher_observer.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2946 "window_observer.h",
Xiyuan Xia40cd41d2018-12-18 16:22:4347 "window_occlusion_change_builder.h",
Francois Dorayfe694a62017-11-16 14:47:0748 "window_occlusion_tracker.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2949 "window_targeter.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2950 "window_tracker.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2951 "window_tree_host.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2952 "window_tree_host_observer.h",
sievers1b4ef1a62015-10-16 20:44:3653 "window_tree_host_platform.h",
sky2a454ebd2017-05-19 19:26:0654 ]
55 sources = [
Thiago Farinaf1e4c0c2017-06-12 18:44:5256 "aura_export.h",
sky2a454ebd2017-05-19 19:26:0657 "client/aura_constants.cc",
58 "client/capture_client.cc",
59 "client/cursor_client.cc",
60 "client/cursor_client_observer.cc",
61 "client/default_capture_client.cc",
62 "client/drag_drop_client.cc",
63 "client/drag_drop_delegate.cc",
64 "client/event_client.cc",
65 "client/focus_change_observer.cc",
66 "client/focus_client.cc",
67 "client/screen_position_client.cc",
68 "client/transient_window_client.cc",
69 "client/visibility_client.cc",
70 "client/window_parenting_client.cc",
71 "client/window_stacking_client.cc",
72 "env.cc",
73 "env_input_state_controller.cc",
74 "event_injector.cc",
75 "input_state_lookup.cc",
76 "input_state_lookup_win.cc",
77 "layout_manager.cc",
David Bienvenud0ddda32018-11-01 16:59:1678 "native_window_occlusion_tracker_win.cc",
79 "native_window_occlusion_tracker_win.h",
Scott Violetec3b3b682018-08-30 20:06:3080 "null_window_targeter.cc",
Joe Downinga8e74ac2018-02-26 17:10:2481 "scoped_keyboard_hook.cc",
Joe Downing8cbbc192018-05-14 17:37:0782 "scoped_simple_keyboard_hook.cc",
sky2a454ebd2017-05-19 19:26:0683 "scoped_window_targeter.cc",
84 "window.cc",
Ahmed Fakhry42221452018-05-30 01:18:3985 "window_delegate.cc",
sky2a454ebd2017-05-19 19:26:0686 "window_event_dispatcher.cc",
87 "window_observer.cc",
Xiyuan Xia40cd41d2018-12-18 16:22:4388 "window_occlusion_change_builder.cc",
Francois Dorayfe694a62017-11-16 14:47:0789 "window_occlusion_tracker.cc",
sky2a454ebd2017-05-19 19:26:0690 "window_targeter.cc",
Scott Violetefbcd062019-04-26 16:52:2091 "window_tracker.cc",
sky2a454ebd2017-05-19 19:26:0692 "window_tree_host.cc",
93 "window_tree_host_platform.cc",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2994 ]
95
Scott Violet09203ae2019-02-12 20:35:3596 friend = [ ":*" ]
David Bienvenud0ddda32018-11-01 16:59:1697
scottmgbba95ce2014-12-03 07:28:2398 defines = [ "AURA_IMPLEMENTATION" ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:2999
100 deps = [
101 "//base",
102 "//base:i18n",
103 "//base/third_party/dynamic_annotations",
mfomitchev3364e66ec2016-11-02 23:23:36104 "//cc",
danakj7b631be2018-05-25 19:14:20105 "//cc/mojo_embedder",
penghuang23063f02017-03-15 15:04:07106 "//components/discardable_memory/client",
Miyoung Shin8b0b0f22019-07-17 04:35:08107 "//components/discardable_memory/public/mojom",
samans1bcf0302017-05-26 15:04:14108 "//components/viz/client",
Chris Blume54fcb1d12018-03-02 18:51:53109 "//components/viz/common",
kylechara0900162017-07-14 17:35:25110 "//components/viz/host",
danakjc391f332017-07-12 20:45:52111 "//components/viz/service",
mfomitchev3364e66ec2016-11-02 23:23:36112 "//gpu/ipc/client",
113 "//mojo/public/cpp/system",
sky25714fe2016-10-27 15:21:25114 "//services/service_manager/public/cpp",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29115 "//skia",
116 "//ui/base",
Maksim Sisova33072d22019-01-24 15:44:25117 "//ui/base/clipboard",
Michael Spang539c6f32019-04-03 19:08:52118 "//ui/base/ime/init",
oshima5245e492016-04-26 16:47:55119 "//ui/display",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29120 "//ui/events",
Joe Downing5adea9262018-06-12 01:40:09121 "//ui/events:dom_keyboard_layout",
brettw44a5cf82015-04-08 19:48:22122 "//ui/events:events_base",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29123 "//ui/events/platform",
124 "//ui/gfx",
125 "//ui/gfx/geometry",
mfomitchev49fb2582016-11-08 23:13:12126 "//ui/gl",
brettwb7f2c302015-12-08 01:29:21127 "//ui/platform_window",
sky25714fe2016-10-27 15:21:25128 "//ui/platform_window/stub",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29129 ]
130
kylechare9015712016-12-21 18:42:01131 public_deps = [
Shu Chen855e1dc2019-03-22 00:27:03132 "//ui/base/ime",
kylechare9015712016-12-21 18:42:01133 "//ui/compositor",
134 ]
135
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29136 if (use_x11) {
jamesr4359db72015-01-21 12:40:00137 deps += [
jamesr4359db72015-01-21 12:40:00138 "//ui/events/platform/x11",
Tom Andersonb8f1d952017-12-20 05:49:20139 "//ui/platform_window/x11",
jamesr4359db72015-01-21 12:40:00140 ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29141 }
142
143 if (is_win) {
scottmgbba95ce2014-12-03 07:28:23144 sources -= [ "input_state_lookup.cc" ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29145
brettw@chromium.orgb2f44d12014-06-10 17:48:03146 deps += [
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29147 "//ipc",
brettwa22cb3b2015-04-30 20:23:12148 "//ui/platform_window/win",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29149 ]
150 }
151
David Bienvenu18a62fe62019-02-25 19:24:20152 if (is_win) {
David Bienvenu1f6b18a2019-04-18 23:48:34153 libs = [
154 "wtsapi32.lib",
155 "dwmapi.lib",
156 ]
David Bienvenu18a62fe62019-02-25 19:24:20157 }
158
sievers1b4ef1a62015-10-16 20:44:36159 if (use_ozone) {
Scott Violetfd9a3b682018-07-24 00:32:45160 deps += [ "//ui/ozone" ]
Sergey Ulanov98851152018-08-14 01:49:16161 public += [ "screen_ozone.h" ]
162 sources += [ "screen_ozone.cc" ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29163 }
164}
165
Daniel Bratelle181f9322017-11-29 23:18:45166jumbo_static_library("test_support") {
Brett Wilson8f80ad0b2014-09-08 19:50:24167 testonly = true
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29168 sources = [
169 "test/aura_test_base.cc",
170 "test/aura_test_base.h",
Scott Violet348ecf72017-11-28 18:28:19171 "test/aura_test_context_factory.cc",
172 "test/aura_test_context_factory.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29173 "test/aura_test_helper.cc",
174 "test/aura_test_helper.h",
175 "test/aura_test_utils.cc",
176 "test/aura_test_utils.h",
Peter Kasting854590d2018-11-17 04:10:48177 "test/default_event_generator_delegate.cc",
178 "test/default_event_generator_delegate.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29179 "test/env_test_helper.h",
tapted@chromium.org73c9fd02014-07-28 01:48:52180 "test/event_generator_delegate_aura.cc",
181 "test/event_generator_delegate_aura.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29182 "test/test_cursor_client.cc",
183 "test/test_cursor_client.h",
184 "test/test_focus_client.cc",
185 "test/test_focus_client.h",
186 "test/test_screen.cc",
187 "test/test_screen.h",
satoruxd3ce5e22015-02-18 01:01:42188 "test/test_window_delegate.cc",
189 "test/test_window_delegate.h",
sky28f20d62016-10-20 23:21:59190 "test/test_window_parenting_client.cc",
191 "test/test_window_parenting_client.h",
riajiang762dcf02017-03-03 06:23:55192 "test/test_window_targeter.cc",
193 "test/test_window_targeter.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29194 "test/test_windows.cc",
195 "test/test_windows.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29196 "test/ui_controls_factory_aura.h",
mfomitchev@chromium.org6b6147472014-06-27 17:37:07197 "test/window_event_dispatcher_test_api.cc",
198 "test/window_event_dispatcher_test_api.h",
Francois Doray4f44caa2018-03-23 15:48:05199 "test/window_occlusion_tracker_test_api.cc",
200 "test/window_occlusion_tracker_test_api.h",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29201 "test/window_test_api.cc",
202 "test/window_test_api.h",
203 ]
204
brettwd1c719a2015-02-19 23:17:04205 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
206 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
207
Brett Wilson0380637c2014-09-19 21:24:40208 public_deps = [
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29209 ":aura",
Scott Violet8f417bb2017-11-28 23:06:53210
Scott Violetb72577d2019-01-09 22:18:18211 # Must be public as headers include buildflags.h.
212 "//ui/base:buildflags",
Brett Wilson0380637c2014-09-19 21:24:40213 ]
214 deps = [
fdoray1c906dc2017-05-02 20:15:43215 "//base/test:test_support",
Scott Violet348ecf72017-11-28 18:28:19216 "//cc:test_support",
217 "//components/viz/test:test_support",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29218 "//skia",
219 "//testing/gtest",
tfarina@chromium.orge54a1f522014-07-22 23:26:48220 "//ui/base:test_support",
Michael Spang539c6f32019-04-03 19:08:52221 "//ui/base/ime/init",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29222 "//ui/compositor:test_support",
oshima5245e492016-04-26 16:47:55223 "//ui/display",
Sadrul Habib Chowdhuryb34782ec2017-12-08 17:05:43224 "//ui/display/manager",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29225 "//ui/events",
226 "//ui/events:events_base",
tfarina@chromium.orge54a1f522014-07-22 23:26:48227 "//ui/events:test_support",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29228 "//ui/gfx",
229 "//ui/gfx/geometry",
Sergey Ulanov528cf76e2018-06-20 22:49:08230 "//ui/platform_window",
brettwa78fded2014-09-07 00:27:41231 "//ui/wm",
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29232 ]
233
234 if (is_win) {
tfarinaca865e82014-12-19 00:50:44235 sources += [ "test/ui_controls_factory_aurawin.cc" ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29236 }
237
vchigrinf06c5c82014-12-17 01:23:39238 if (use_x11) {
tfarinaca865e82014-12-19 00:50:44239 sources += [
240 "test/ui_controls_factory_aurax11.cc",
241 "test/x11_event_sender.cc",
242 "test/x11_event_sender.h",
243 ]
244
vchigrinf06c5c82014-12-17 01:23:39245 deps += [ "//ui/gfx/x" ]
246 }
spang6f171ac2015-02-04 18:46:22247
248 if (use_ozone) {
249 sources += [ "test/ui_controls_factory_ozone.cc" ]
250 }
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29251}
252
tfarina@chromium.orgc7a5f272014-08-15 00:19:00253executable("demo") {
254 output_name = "aura_demo"
Brett Wilson8f80ad0b2014-09-08 19:50:24255 testonly = true
256
tfarina@chromium.orgc7a5f272014-08-15 00:19:00257 sources = [
258 "demo/demo_main.cc",
259 ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29260
tfarina@chromium.orgc7a5f272014-08-15 00:19:00261 deps = [
262 ":aura",
263 ":test_support",
264 "//base",
265 "//base:i18n",
brucedawsonf9f7d6292016-04-27 19:11:07266 "//build/win:default_exe_manifest",
kylecharcb5882d2017-06-05 13:41:34267 "//components/viz/host",
danakj7167a9ea2018-05-31 15:25:10268 "//components/viz/service",
tfarina@chromium.orgc7a5f272014-08-15 00:19:00269 "//skia",
270 "//third_party/icu",
271 "//ui/base",
Michael Spang539c6f32019-04-03 19:08:52272 "//ui/base/ime/init",
tfarina@chromium.orgc7a5f272014-08-15 00:19:00273 "//ui/compositor",
274 "//ui/compositor:test_support",
robliao18e220e82016-04-19 16:47:12275 "//ui/display",
tfarina@chromium.orgc7a5f272014-08-15 00:19:00276 "//ui/events",
277 "//ui/gfx",
278 "//ui/gfx/geometry",
Robert Liaof39f1282019-02-28 21:15:16279 "//ui/gl",
kylechar5b9dec12016-05-16 15:40:57280 "//ui/gl/init",
tfarina@chromium.orgc7a5f272014-08-15 00:19:00281 ]
tfarina@chromium.orgbd56a5b2014-06-07 04:09:29282
tfarina@chromium.orgc7a5f272014-08-15 00:19:00283 if (use_x11) {
scottmgbba95ce2014-12-03 07:28:23284 deps += [ "//ui/gfx/x" ]
tfarina@chromium.orgc7a5f272014-08-15 00:19:00285 }
286}
287
brettw4897a612015-03-02 23:13:15288test("aura_unittests") {
289 sources = [
Tommy C. Li092c628a2018-03-29 20:32:15290 "../compositor_extra/shadow_unittest.cc",
brettw4897a612015-03-02 23:13:15291 "gestures/gesture_recognizer_unittest.cc",
Scott Violetf1f2c182018-03-19 16:41:04292 "test/aura_test_suite.h",
brettw4897a612015-03-02 23:13:15293 "test/run_all_unittests.cc",
294 "window_event_dispatcher_unittest.cc",
Xiyuan Xia40cd41d2018-12-18 16:22:43295 "window_occlusion_change_builder_unittest.cc",
Francois Dorayfe694a62017-11-16 14:47:07296 "window_occlusion_tracker_unittest.cc",
brettw4897a612015-03-02 23:13:15297 "window_targeter_unittest.cc",
Scott Violete4e972322019-05-02 19:27:11298 "window_tree_host_platform_unittest.cc",
jbaumane94bb782016-08-22 19:46:51299 "window_tree_host_unittest.cc",
brettw4897a612015-03-02 23:13:15300 "window_unittest.cc",
301 ]
tfarina@chromium.orgc7a5f272014-08-15 00:19:00302
David Bienvenud0ddda32018-11-01 16:59:16303 if (is_win) {
304 sources += [ "native_window_occlusion_tracker_unittest.cc" ]
David Bienvenu1f6b18a2019-04-18 23:48:34305 libs = [ "dwmapi.lib" ]
David Bienvenud0ddda32018-11-01 16:59:16306 }
307
brettw4897a612015-03-02 23:13:15308 deps = [
309 ":test_support",
brettw4897a612015-03-02 23:13:15310 "//base/test:test_support",
danakj7b631be2018-05-25 19:14:20311 "//cc/mojo_embedder",
Valery Arkhangorodsky513ac8fd2017-08-02 23:09:23312 "//components/viz/client",
Ken Rockot03e5ddc2018-07-04 19:35:08313 "//mojo/core/embedder",
brettw4897a612015-03-02 23:13:15314 "//skia",
315 "//testing/gtest",
Varun Mohand472ad72018-04-21 01:26:29316 "//ui/aura_extra",
Scott Violeted6a0272018-12-03 17:55:13317 "//ui/aura_extra:tests",
brettw4897a612015-03-02 23:13:15318 "//ui/base:test_support",
Maksim Sisova33072d22019-01-24 15:44:25319 "//ui/base/clipboard:clipboard_types",
brettw4897a612015-03-02 23:13:15320 "//ui/compositor:test_support",
Tommy C. Li092c628a2018-03-29 20:32:15321 "//ui/compositor_extra",
oshima5245e492016-04-26 16:47:55322 "//ui/display:test_support",
brettw4897a612015-03-02 23:13:15323 "//ui/events:gesture_detection",
agrieved7a71c882015-11-20 19:53:28324 "//ui/events:test_support",
brettw4897a612015-03-02 23:13:15325 "//ui/gfx",
326 "//ui/gfx/geometry",
brettwb7f2c302015-12-08 01:29:21327 "//ui/gl:test_support",
Sergey Ulanov528cf76e2018-06-20 22:49:08328 "//ui/platform_window",
Sadrul Habib Chowdhury026e47e2017-10-05 04:27:07329 "//ui/platform_window/stub",
Scott Violet1a445c212017-09-18 18:51:37330 "//ui/wm",
brettw4897a612015-03-02 23:13:15331 ]
tfarina@chromium.orgc7a5f272014-08-15 00:19:00332
sievers1b4ef1a62015-10-16 20:44:36333 data_deps = [
Alexis Hetu0f218862018-08-13 18:51:42334 "//third_party/mesa_headers",
sievers1b4ef1a62015-10-16 20:44:36335 ]
tfarina@chromium.orgc7a5f272014-08-15 00:19:00336}
David Bienvenud0ddda32018-11-01 16:59:16337
338# This target is added as a dependency of browser interactive_ui_tests. It must
339# be source_set, otherwise the linker will drop the tests as dead code.
340source_set("aura_interactive_ui_tests") {
341 testonly = true
342 if (is_win) {
343 sources = [
344 "native_window_occlusion_tracker_win_interactive_test.cc",
345 ]
346
347 deps = [
348 ":aura",
349 ":test_support",
350 "//base/test:test_support",
kylechar818583c2019-07-09 13:07:02351 "//mojo/core/embedder",
David Bienvenud0ddda32018-11-01 16:59:16352 "//testing/gtest",
Michael Spang539c6f32019-04-03 19:08:52353 "//ui/base/ime/init",
David Bienvenud0ddda32018-11-01 16:59:16354 "//ui/display:display",
355 "//ui/gfx",
356 "//ui/gfx/geometry",
357 "//ui/gl:test_support",
358 "//ui/gl/init",
359 "//ui/views:views",
360 ]
361 }
362}