# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") jumbo_component("aura") { public = [ "client/aura_constants.h", "client/capture_client.h", "client/capture_client_observer.h", "client/capture_delegate.h", "client/cursor_client.h", "client/cursor_client_observer.h", "client/default_capture_client.h", "client/drag_drop_client.h", "client/drag_drop_client_observer.h", "client/drag_drop_delegate.h", "client/event_client.h", "client/focus_change_observer.h", "client/focus_client.h", "client/screen_position_client.h", "client/transient_window_client.h", "client/transient_window_client_observer.h", "client/visibility_client.h", "client/window_parenting_client.h", "client/window_stacking_client.h", "client/window_types.h", "env.h", "env_input_state_controller.h", "env_observer.h", "event_injector.h", "hit_test_data_provider_aura.h", "input_state_lookup.h", "input_state_lookup_win.h", "layout_manager.h", "local/window_port_local.h", "mus/capture_synchronizer.h", "mus/capture_synchronizer_delegate.h", "mus/client_surface_embedder.h", "mus/drag_drop_controller_host.h", "mus/drag_drop_controller_mus.h", "mus/embed_root.h", "mus/embed_root_delegate.h", "mus/focus_synchronizer.h", "mus/focus_synchronizer_delegate.h", "mus/focus_synchronizer_observer.h", "mus/in_flight_change.h", "mus/input_method_mus.h", "mus/input_method_mus_delegate.h", "mus/mus_context_factory.h", "mus/mus_mouse_location_updater.h", "mus/mus_types.h", "mus/os_exchange_data_provider_mus.h", "mus/property_converter.h", "mus/property_utils.h", "mus/system_input_injector_mus.h", "mus/text_input_client_impl.h", "mus/topmost_window_tracker.h", "mus/user_activity_forwarder.h", "mus/window_mus.h", "mus/window_port_mus.h", "mus/window_tree_client.h", "mus/window_tree_client_delegate.h", "mus/window_tree_client_observer.h", "mus/window_tree_client_test_observer.h", "mus/window_tree_host_mus.h", "mus/window_tree_host_mus_delegate.h", "mus/window_tree_host_mus_init_params.h", "scoped_keyboard_hook.h", "scoped_simple_keyboard_hook.h", "scoped_window_targeter.h", "window.h", "window_delegate.h", "window_event_dispatcher.h", "window_event_dispatcher_observer.h", "window_observer.h", "window_occlusion_tracker.h", "window_port.h", "window_targeter.h", "window_tracker.h", "window_tree_host.h", "window_tree_host_observer.h", "window_tree_host_platform.h", ] sources = [ "aura_export.h", "client/aura_constants.cc", "client/capture_client.cc", "client/cursor_client.cc", "client/cursor_client_observer.cc", "client/default_capture_client.cc", "client/drag_drop_client.cc", "client/drag_drop_delegate.cc", "client/event_client.cc", "client/focus_change_observer.cc", "client/focus_client.cc", "client/screen_position_client.cc", "client/transient_window_client.cc", "client/visibility_client.cc", "client/window_parenting_client.cc", "client/window_stacking_client.cc", "env.cc", "env_input_state_controller.cc", "event_injector.cc", "hit_test_data_provider_aura.cc", "input_state_lookup.cc", "input_state_lookup_win.cc", "layout_manager.cc", "local/window_port_local.cc", "mouse_location_manager.cc", "mouse_location_manager.h", "mus/capture_synchronizer.cc", "mus/client_surface_embedder.cc", "mus/drag_drop_controller_mus.cc", "mus/embed_root.cc", "mus/focus_synchronizer.cc", "mus/in_flight_change.cc", "mus/input_method_mus.cc", "mus/mus_context_factory.cc", "mus/mus_mouse_location_updater.cc", "mus/os_exchange_data_provider_mus.cc", "mus/property_converter.cc", "mus/property_utils.cc", "mus/system_input_injector_mus.cc", "mus/text_input_client_impl.cc", "mus/topmost_window_tracker.cc", "mus/user_activity_forwarder.cc", "mus/window_port_mus.cc", "mus/window_tree_client.cc", "mus/window_tree_client_delegate.cc", "mus/window_tree_host_mus.cc", "mus/window_tree_host_mus_init_params.cc", "scoped_keyboard_hook.cc", "scoped_simple_keyboard_hook.cc", "scoped_window_targeter.cc", "window.cc", "window_delegate.cc", "window_event_dispatcher.cc", "window_observer.cc", "window_occlusion_tracker.cc", "window_port.cc", "window_port_for_shutdown.cc", "window_port_for_shutdown.h", "window_targeter.cc", "window_tree_host.cc", "window_tree_host_platform.cc", ] defines = [ "AURA_IMPLEMENTATION" ] deps = [ "//base", "//base:i18n", "//base/third_party/dynamic_annotations", "//cc", "//cc/mojo_embedder", "//components/discardable_memory/client", "//components/discardable_memory/public/interfaces", "//components/viz/client", "//components/viz/common", "//components/viz/host", "//components/viz/service", "//gpu/ipc/client", "//mojo/public/cpp/system", "//net", "//services/service_manager/public/cpp", "//services/ui/common:mus_common", "//services/ui/public/cpp", "//services/ui/public/interfaces", "//skia", "//ui/base", "//ui/base/ime", "//ui/display", "//ui/events", "//ui/events:dom_keyboard_layout", "//ui/events:events_base", "//ui/events/platform", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl", "//ui/platform_window", "//ui/platform_window/mojo", "//ui/platform_window/stub", ] public_deps = [ "//ui/compositor", ] if (use_x11) { deps += [ "//ui/events/platform/x11", "//ui/platform_window/x11", ] } if (is_win) { sources -= [ "input_state_lookup.cc" ] deps += [ "//ipc", "//ui/platform_window/win", ] } if (use_ozone) { deps += [ "//ui/ozone" ] } if (is_android) { deps += [ "//ui/platform_window/android", "//ui/platform_window/android:platform_window_java", ] } } jumbo_static_library("test_support") { testonly = true sources = [ "test/aura_mus_test_base.cc", "test/aura_mus_test_base.h", "test/aura_test_base.cc", "test/aura_test_base.h", "test/aura_test_context_factory.cc", "test/aura_test_context_factory.h", "test/aura_test_helper.cc", "test/aura_test_helper.h", "test/aura_test_suite_setup.cc", "test/aura_test_suite_setup.h", "test/aura_test_utils.cc", "test/aura_test_utils.h", "test/env_test_helper.cc", "test/env_test_helper.h", "test/event_generator_delegate_aura.cc", "test/event_generator_delegate_aura.h", "test/mus/change_completion_waiter.cc", "test/mus/change_completion_waiter.h", "test/mus/input_method_mus_test_api.h", "test/mus/test_window_tree.cc", "test/mus/test_window_tree.h", "test/mus/test_window_tree_client_delegate.cc", "test/mus/test_window_tree_client_delegate.h", "test/mus/test_window_tree_client_setup.cc", "test/mus/test_window_tree_client_setup.h", "test/mus/window_tree_client_private.cc", "test/mus/window_tree_client_private.h", "test/test_cursor_client.cc", "test/test_cursor_client.h", "test/test_focus_client.cc", "test/test_focus_client.h", "test/test_screen.cc", "test/test_screen.h", "test/test_window_delegate.cc", "test/test_window_delegate.h", "test/test_window_parenting_client.cc", "test/test_window_parenting_client.h", "test/test_window_targeter.cc", "test/test_window_targeter.h", "test/test_windows.cc", "test/test_windows.h", "test/ui_controls_factory_aura.h", "test/window_event_dispatcher_test_api.cc", "test/window_event_dispatcher_test_api.h", "test/window_occlusion_tracker_test_api.cc", "test/window_occlusion_tracker_test_api.h", "test/window_test_api.cc", "test/window_test_api.h", ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] public_deps = [ ":aura", "//services/ui/common:mus_common", # Must be public as headers include ui_features.h. "//ui/base:ui_features", ] deps = [ "//base/test:test_support", "//cc:test_support", "//components/viz/test:test_support", "//services/service_manager/public/cpp", "//services/ui/public/cpp/input_devices", "//services/ui/public/interfaces", "//skia", "//testing/gtest", "//ui/base:test_support", "//ui/base/ime", "//ui/compositor:test_support", "//ui/display", "//ui/display/manager", "//ui/events", "//ui/events:events_base", "//ui/events:test_support", "//ui/gfx", "//ui/gfx/geometry", "//ui/platform_window", "//ui/wm", ] if (is_win) { sources += [ "test/ui_controls_factory_aurawin.cc" ] } if (use_x11) { sources += [ "test/ui_controls_factory_aurax11.cc", "test/x11_event_sender.cc", "test/x11_event_sender.h", ] deps += [ "//ui/gfx/x" ] } if (use_ozone) { sources += [ "test/ui_controls_factory_ozone.cc" ] } } executable("demo") { output_name = "aura_demo" testonly = true sources = [ "demo/demo_main.cc", ] deps = [ ":aura", ":test_support", "//base", "//base:i18n", "//build/win:default_exe_manifest", "//components/viz/host", "//components/viz/service", "//skia", "//third_party/icu", "//ui/base", "//ui/base/ime", "//ui/compositor", "//ui/compositor:test_support", "//ui/display", "//ui/events", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl/init", ] if (use_x11) { deps += [ "//ui/gfx/x" ] } } test("aura_unittests") { sources = [ "../compositor_extra/shadow_unittest.cc", "//ui/aura_extra/window_occlusion_impl_unittest_win.cc", "gestures/gesture_recognizer_unittest.cc", "hit_test_data_provider_aura_unittest.cc", "mouse_location_manager_unittest.cc", "mus/drag_drop_controller_mus_unittest.cc", "mus/focus_synchronizer_unittest.cc", "mus/input_method_mus_unittest.cc", "mus/os_exchange_data_provider_mus_unittest.cc", "mus/property_converter_unittest.cc", "mus/user_activity_forwarder_unittest.cc", "mus/window_port_mus_unittest.cc", "mus/window_tree_client_unittest.cc", "mus/window_tree_host_mus_unittest.cc", "test/aura_test_suite.h", "test/run_all_unittests.cc", "window_event_dispatcher_unittest.cc", "window_occlusion_tracker_unittest.cc", "window_targeter_unittest.cc", "window_tree_host_unittest.cc", "window_unittest.cc", ] deps = [ ":test_support", "//base/test:test_support", "//cc/mojo_embedder", "//components/viz/client", "//mojo/core/embedder", "//net", "//services/ui/common:task_runner_test_base", "//services/ui/public/cpp", "//skia", "//testing/gtest", "//ui/aura_extra", "//ui/base:test_support", "//ui/compositor:test_support", "//ui/compositor_extra", "//ui/display:test_support", "//ui/events:gesture_detection", "//ui/events:test_support", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl:test_support", "//ui/platform_window", "//ui/platform_window/stub", "//ui/wm", ] if (is_linux) { deps += [ "//third_party/mesa" ] } data_deps = [ "//third_party/mesa:osmesa", ] }