BUILD.gn 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. # 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. import("//build/config/ui.gni")
  5. import("//testing/test.gni")
  6. component("aura") {
  7. public = [
  8. "client/aura_constants.h",
  9. "client/capture_client.h",
  10. "client/capture_client_observer.h",
  11. "client/capture_delegate.h",
  12. "client/cursor_client.h",
  13. "client/cursor_client_observer.h",
  14. "client/default_capture_client.h",
  15. "client/drag_drop_client.h",
  16. "client/drag_drop_client_observer.h",
  17. "client/drag_drop_delegate.h",
  18. "client/event_client.h",
  19. "client/focus_change_observer.h",
  20. "client/focus_client.h",
  21. "client/screen_position_client.h",
  22. "client/transient_window_client.h",
  23. "client/transient_window_client_observer.h",
  24. "client/visibility_client.h",
  25. "client/window_parenting_client.h",
  26. "client/window_stacking_client.h",
  27. "client/window_types.h",
  28. "env.h",
  29. "env_input_state_controller.h",
  30. "env_observer.h",
  31. "event_injector.h",
  32. "host_frame_rate_throttler.h",
  33. "input_state_lookup.h",
  34. "layout_manager.h",
  35. "null_window_targeter.h",
  36. "scoped_enable_unadjusted_mouse_events.h",
  37. "scoped_keyboard_hook.h",
  38. "scoped_simple_keyboard_hook.h",
  39. "scoped_window_capture_request.h",
  40. "scoped_window_event_targeting_blocker.h",
  41. "scoped_window_targeter.h",
  42. "window.h",
  43. "window_delegate.h",
  44. "window_event_dispatcher.h",
  45. "window_event_dispatcher_observer.h",
  46. "window_observer.h",
  47. "window_occlusion_change_builder.h",
  48. "window_occlusion_tracker.h",
  49. "window_targeter.h",
  50. "window_tracker.h",
  51. "window_tree_host.h",
  52. "window_tree_host_observer.h",
  53. "window_tree_host_platform.h",
  54. ]
  55. sources = [
  56. "aura_export.h",
  57. "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. "host_frame_rate_throttler.cc",
  76. "input_state_lookup.cc",
  77. "layout_manager.cc",
  78. "native_window_occlusion_tracker.cc",
  79. "native_window_occlusion_tracker.h",
  80. "null_window_targeter.cc",
  81. "scoped_keyboard_hook.cc",
  82. "scoped_simple_keyboard_hook.cc",
  83. "scoped_window_capture_request.cc",
  84. "scoped_window_event_targeting_blocker.cc",
  85. "scoped_window_targeter.cc",
  86. "window.cc",
  87. "window_delegate.cc",
  88. "window_event_dispatcher.cc",
  89. "window_observer.cc",
  90. "window_occlusion_change_builder.cc",
  91. "window_occlusion_tracker.cc",
  92. "window_targeter.cc",
  93. "window_tracker.cc",
  94. "window_tree_host.cc",
  95. "window_tree_host_platform.cc",
  96. ]
  97. friend = [ ":*" ]
  98. defines = [ "AURA_IMPLEMENTATION" ]
  99. deps = [
  100. "//base",
  101. "//base:i18n",
  102. "//base/third_party/dynamic_annotations",
  103. "//build:chromeos_buildflags",
  104. "//cc",
  105. "//cc/mojo_embedder",
  106. "//components/discardable_memory/client",
  107. "//components/discardable_memory/public/mojom",
  108. "//components/viz/client",
  109. "//components/viz/common",
  110. "//components/viz/host",
  111. "//gpu/ipc/client",
  112. "//mojo/public/cpp/system",
  113. "//services/service_manager/public/cpp",
  114. "//skia",
  115. "//ui/base",
  116. "//ui/base/clipboard",
  117. "//ui/base/cursor/mojom:cursor_type",
  118. "//ui/base/ime/init",
  119. "//ui/display",
  120. "//ui/events",
  121. "//ui/events:dom_keyboard_layout",
  122. "//ui/events:events_base",
  123. "//ui/events:keyboard_hook",
  124. "//ui/events/platform",
  125. "//ui/gfx",
  126. "//ui/gfx:gfx_switches",
  127. "//ui/gfx/geometry",
  128. "//ui/gl",
  129. "//ui/platform_window",
  130. "//ui/platform_window/stub",
  131. ]
  132. public_deps = [
  133. "//ui/base/cursor",
  134. "//ui/base/dragdrop:types",
  135. "//ui/base/dragdrop/mojom:mojom_headers",
  136. "//ui/base/ime",
  137. "//ui/base/metadata",
  138. "//ui/compositor",
  139. ]
  140. if (is_win) {
  141. public += [ "input_state_lookup_win.h" ]
  142. sources += [
  143. "input_state_lookup_win.cc",
  144. "native_window_occlusion_tracker_win.cc",
  145. "native_window_occlusion_tracker_win.h",
  146. ]
  147. }
  148. if (is_win) {
  149. sources -= [ "input_state_lookup.cc" ]
  150. deps += [
  151. "//ipc",
  152. "//ui/platform_window/win",
  153. ]
  154. }
  155. if (is_win) {
  156. libs = [
  157. "wtsapi32.lib",
  158. "dwmapi.lib",
  159. ]
  160. }
  161. if (use_ozone) {
  162. deps += [ "//ui/ozone" ]
  163. public += [ "screen_ozone.h" ]
  164. sources += [ "screen_ozone.cc" ]
  165. }
  166. }
  167. static_library("test_support") {
  168. testonly = true
  169. sources = [
  170. "test/aura_test_base.cc",
  171. "test/aura_test_base.h",
  172. "test/aura_test_helper.cc",
  173. "test/aura_test_helper.h",
  174. "test/aura_test_utils.cc",
  175. "test/aura_test_utils.h",
  176. "test/default_event_generator_delegate.cc",
  177. "test/default_event_generator_delegate.h",
  178. "test/env_test_helper.h",
  179. "test/event_generator_delegate_aura.cc",
  180. "test/event_generator_delegate_aura.h",
  181. "test/test_cursor_client.cc",
  182. "test/test_cursor_client.h",
  183. "test/test_focus_client.cc",
  184. "test/test_focus_client.h",
  185. "test/test_screen.cc",
  186. "test/test_screen.h",
  187. "test/test_window_delegate.cc",
  188. "test/test_window_delegate.h",
  189. "test/test_window_parenting_client.cc",
  190. "test/test_window_parenting_client.h",
  191. "test/test_window_targeter.cc",
  192. "test/test_window_targeter.h",
  193. "test/test_windows.cc",
  194. "test/test_windows.h",
  195. "test/ui_controls_factory_aura.h",
  196. "test/window_event_dispatcher_test_api.cc",
  197. "test/window_event_dispatcher_test_api.h",
  198. "test/window_occlusion_tracker_test_api.cc",
  199. "test/window_occlusion_tracker_test_api.h",
  200. "test/window_test_api.cc",
  201. "test/window_test_api.h",
  202. ]
  203. public_deps = [
  204. ":aura",
  205. # Must be public as headers include buildflags.h.
  206. "//ui/base:buildflags",
  207. ]
  208. deps = [
  209. "//base",
  210. "//base/test:test_support",
  211. "//build:chromeos_buildflags",
  212. "//cc:test_support",
  213. "//components/viz/test:test_support",
  214. "//skia",
  215. "//testing/gtest",
  216. "//ui/base:test_support",
  217. "//ui/base/cursor",
  218. "//ui/base/cursor/mojom:cursor_type",
  219. "//ui/base/ime/init",
  220. "//ui/compositor:test_support",
  221. "//ui/display",
  222. "//ui/events",
  223. "//ui/events:events_base",
  224. "//ui/events:test_support",
  225. "//ui/gfx",
  226. "//ui/gfx/geometry",
  227. "//ui/platform_window",
  228. "//ui/wm",
  229. ]
  230. if (is_win) {
  231. sources += [ "test/ui_controls_factory_aurawin.cc" ]
  232. }
  233. if (use_ozone) {
  234. if (is_fuchsia) {
  235. deps += [ "//ui/ozone" ]
  236. }
  237. sources += [
  238. "test/ui_controls_ozone.cc",
  239. "test/ui_controls_ozone.h",
  240. ]
  241. }
  242. if (is_linux || is_chromeos) {
  243. deps += [ "//ui/platform_window/common" ]
  244. }
  245. }
  246. executable("aura_demo") {
  247. testonly = true
  248. sources = [ "demo/demo_main.cc" ]
  249. deps = [
  250. ":aura",
  251. ":test_support",
  252. "//base",
  253. "//base:i18n",
  254. "//build/win:default_exe_manifest",
  255. "//components/viz/host",
  256. "//components/viz/service",
  257. "//mojo/core/embedder",
  258. "//skia",
  259. "//third_party/icu",
  260. "//ui/base",
  261. "//ui/base/ime/init",
  262. "//ui/compositor",
  263. "//ui/compositor:test_support",
  264. "//ui/display",
  265. "//ui/events",
  266. "//ui/gfx",
  267. "//ui/gfx/geometry",
  268. "//ui/gl",
  269. "//ui/gl/init",
  270. ]
  271. }
  272. test("aura_unittests") {
  273. use_xvfb = use_xvfb_in_this_config
  274. sources = [
  275. "../compositor_extra/shadow_unittest.cc",
  276. "client/screen_position_client_unittest.cc",
  277. "gestures/gesture_recognizer_unittest.cc",
  278. "test/aura_test_suite.h",
  279. "test/run_all_unittests.cc",
  280. "window_event_dispatcher_unittest.cc",
  281. "window_occlusion_change_builder_unittest.cc",
  282. "window_occlusion_tracker_unittest.cc",
  283. "window_targeter_unittest.cc",
  284. "window_tree_host_platform_unittest.cc",
  285. "window_tree_host_unittest.cc",
  286. "window_unittest.cc",
  287. ]
  288. if (is_win) {
  289. sources += [ "native_window_occlusion_tracker_unittest.cc" ]
  290. libs = [ "dwmapi.lib" ]
  291. }
  292. deps = [
  293. ":test_support",
  294. "//base/test:test_support",
  295. "//build:chromeos_buildflags",
  296. "//cc/mojo_embedder",
  297. "//components/viz/client",
  298. "//mojo/core/embedder",
  299. "//skia",
  300. "//testing/gtest",
  301. "//ui/aura_extra",
  302. "//ui/aura_extra:tests",
  303. "//ui/base:test_support",
  304. "//ui/base/clipboard:clipboard_types",
  305. "//ui/compositor:test_support",
  306. "//ui/compositor_extra",
  307. "//ui/display:test_support",
  308. "//ui/events:gesture_detection",
  309. "//ui/events:test_support",
  310. "//ui/gfx",
  311. "//ui/gfx/geometry",
  312. "//ui/gl:test_support",
  313. "//ui/platform_window",
  314. "//ui/platform_window/stub",
  315. "//ui/wm",
  316. ]
  317. if (use_ozone) {
  318. deps += [ "//ui/ozone" ]
  319. }
  320. if (is_fuchsia) {
  321. use_cfv1 = false
  322. additional_manifest_fragments = [
  323. "//build/config/fuchsia/test/present_view.shard.test-cml",
  324. "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
  325. ]
  326. }
  327. data_deps = [ "//third_party/mesa_headers" ]
  328. }
  329. # This target is added as a dependency of browser interactive_ui_tests. It must
  330. # be source_set, otherwise the linker will drop the tests as dead code.
  331. source_set("aura_interactive_ui_tests") {
  332. testonly = true
  333. if (is_win) {
  334. sources = [ "native_window_occlusion_tracker_win_interactive_test.cc" ]
  335. deps = [
  336. ":aura",
  337. ":test_support",
  338. "//base/test:test_support",
  339. "//mojo/core/embedder",
  340. "//testing/gtest",
  341. "//ui/base:test_support",
  342. "//ui/base/ime/init",
  343. "//ui/display:display",
  344. "//ui/gfx",
  345. "//ui/gfx/geometry",
  346. "//ui/gl:test_support",
  347. "//ui/gl/init",
  348. "//ui/views:views",
  349. ]
  350. }
  351. }