# Copyright 2015 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/chromeos/ui_mode.gni") import("//build/config/linux/pkg_config.gni") import("//build/config/ui.gni") import("//chrome/common/features.gni") import("//testing/test.gni") import("//ui/base/ui_features.gni") if (use_xkbcommon) { pkg_config("xkbcommon") { packages = [ "xkbcommon" ] } } static_library("exo") { sources = [ "buffer.cc", "buffer.h", "data_device.cc", "data_device.h", "data_device_delegate.h", "data_exchange_delegate.h", "data_offer.cc", "data_offer.h", "data_offer_delegate.h", "data_offer_observer.h", "data_source.cc", "data_source.h", "data_source_delegate.h", "data_source_observer.h", "display.cc", "display.h", "drag_drop_operation.cc", "drag_drop_operation.h", "frame_sink_resource_manager.cc", "frame_sink_resource_manager.h", "input_trace.h", "keyboard_delegate.h", "keyboard_device_configuration_delegate.h", "keyboard_observer.h", "layer_tree_frame_sink_holder.cc", "layer_tree_frame_sink_holder.h", "mime_utils.cc", "mime_utils.h", "permission.cc", "permission.h", "pointer.cc", "pointer.h", "pointer_constraint_delegate.h", "pointer_delegate.h", "seat.cc", "seat.h", "seat_observer.h", "shared_memory.cc", "shared_memory.h", "shell_surface_util.cc", "shell_surface_util.h", "sub_surface.cc", "sub_surface.h", "surface.cc", "surface.h", "surface_delegate.h", "surface_observer.h", "surface_tree_host.cc", "surface_tree_host.h", "touch.cc", "touch.h", "touch_delegate.h", "vsync_timing_manager.cc", "vsync_timing_manager.h", "wm_helper.cc", "wm_helper.h", ] deps = [ "//base", "//build:chromeos_buildflags", "//cc", "//components/viz/host", "//device/gamepad", "//device/gamepad/public/cpp:shared_with_blink", "//gpu", "//gpu/command_buffer/client:raster_interface", "//net", "//services/data_decoder/public/cpp", "//services/viz/privileged/mojom/compositing", "//skia", "//third_party/blink/public/common", "//ui/accessibility:ax_base", "//ui/aura", "//ui/base/cursor", "//ui/base/dragdrop/mojom", "//ui/base/ime", "//ui/compositor", "//ui/compositor_extra", "//ui/display/manager", "//ui/events/devices:devices", "//ui/events/ozone", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl", "//ui/message_center", "//ui/message_center/public/cpp", "//ui/ozone", "//ui/views", "//ui/wm", "//ui/wm/public", ] assert_no_deps = [ "//components/arc", "//content/public/browser", "//content/public/common", ] public_deps = [ "//ui/base/cursor:cursor_base", "//ui/base/cursor/mojom:cursor_type", "//ui/base/dragdrop/mojom:mojom_headers", ] if (is_chromeos_ash) { deps += [ "//ash", "//ash/constants", "//ash/keyboard/ui", "//ash/public/cpp", "//chromeos/crosapi/cpp", "//chromeos/ui/base", "//chromeos/ui/frame", "//ui/base", "//ui/events/ozone/layout", ] sources += [ "client_controlled_accelerators.cc", "client_controlled_accelerators.h", "client_controlled_shell_surface.cc", "client_controlled_shell_surface.h", "extended_drag_offer.cc", "extended_drag_offer.h", "extended_drag_source.cc", "extended_drag_source.h", "gamepad.cc", "gamepad.h", "gamepad_observer.h", "gaming_seat.cc", "gaming_seat.h", "input_method_surface.cc", "input_method_surface.h", "input_method_surface_manager.h", "keyboard.cc", "keyboard.h", "keyboard_modifiers.h", "notification.cc", "notification.h", "notification_surface.cc", "notification_surface.h", "notification_surface_manager.h", "shell_surface.cc", "shell_surface.h", "shell_surface_base.cc", "shell_surface_base.h", "text_input.cc", "text_input.h", "toast_surface.cc", "toast_surface.h", "toast_surface_manager.h", "ui_lock_bubble.cc", "ui_lock_bubble.h", "ui_lock_controller.cc", "ui_lock_controller.h", "wm_helper_chromeos.cc", "wm_helper_chromeos.h", "xdg_shell_surface.cc", "xdg_shell_surface.h", "xkb_tracker.cc", "xkb_tracker.h", ] if (use_xkbcommon) { configs += [ ":xkbcommon" ] } } if (is_chromecast) { deps += [ "//ui/accessibility:accessibility" ] sources += [ "fullscreen_shell_surface.cc", "fullscreen_shell_surface.h", ] } } source_set("test_support") { testonly = true sources = [ "mock_vsync_timing_observer.cc", "mock_vsync_timing_observer.h", "test/exo_test_base_views.cc", "test/exo_test_base_views.h", "test/exo_test_suite_aura.cc", "test/exo_test_suite_aura.h", ] public_deps = [ "//testing/gtest" ] deps = [ ":exo", "//base", "//base/test:test_support", "//components/viz/service", "//gpu", "//skia", "//ui/aura", "//ui/base/dragdrop/mojom", "//ui/base/ime/init", "//ui/compositor", "//ui/compositor:test_support", "//ui/display/manager", "//ui/gfx/geometry", "//ui/gl:test_support", "//ui/views", "//ui/views:test_support", "//ui/wm", ] if (is_chromeos_ash) { sources += [ "test/exo_test_base.cc", "test/exo_test_base.h", "test/exo_test_data_exchange_delegate.cc", "test/exo_test_data_exchange_delegate.h", "test/exo_test_helper.cc", "test/exo_test_helper.h", "test/shell_surface_builder.cc", "test/shell_surface_builder.h", ] deps += [ "//ash:test_support", "//ash/public/cpp", "//chromeos/ui/base", ] } } source_set("unit_tests") { testonly = true deps = [ ":exo", ":test_support", "//base", "//base/test:test_support", "//cc", "//cc:test_support", "//components/user_manager", "//components/viz/service", "//components/viz/test:test_support", "//content/test:test_support", "//device/gamepad:test_helpers", "//gpu/command_buffer/client:raster_interface", "//skia", "//testing/gmock", "//testing/gtest", "//ui/aura", "//ui/compositor:test_support", "//ui/compositor_extra", "//ui/events:dom_keycode_converter", "//ui/events:test_support", "//ui/events/ozone", "//ui/gfx", "//ui/message_center", "//ui/views", "//ui/wm", ] sources = [ "mime_utils_unittest.cc" ] if (use_ozone) { deps += [ "//ui/ozone" ] } if (is_chromeos_ash) { sources += [ "../../ui/events/ozone/gamepad/gamepad_event.cc", "buffer_unittest.cc", "client_controlled_shell_surface_unittest.cc", "data_device_unittest.cc", "data_offer_unittest.cc", "data_source_unittest.cc", "display_unittest.cc", "drag_drop_operation_unittest.cc", "extended_drag_source_unittest.cc", "gamepad_unittest.cc", "gaming_seat_unittest.cc", "input_method_surface_unittest.cc", "keyboard_unittest.cc", "notification_unittest.cc", "permission_unittest.cc", "pointer_unittest.cc", "seat_unittest.cc", "shared_memory_unittest.cc", "shell_surface_unittest.cc", "sub_surface_unittest.cc", "surface_unittest.cc", "text_input_unittest.cc", "toast_surface_unittest.cc", "touch_unittest.cc", "ui_lock_controller_unittest.cc", "wm_helper_chromeos_unittest.cc", "xdg_shell_surface_unittest.cc", ] deps += [ "//ash", "//ash:test_support", "//ash/constants", "//ash/keyboard/ui", "//ash/public/cpp", "//ash/public/cpp/external_arc", "//build:chromeos_buildflags", "//chromeos/ui/base", "//chromeos/ui/frame", "//ui/base:test_support", "//ui/base/cursor/mojom:cursor_type", "//ui/base/dragdrop/mojom", "//ui/gfx/geometry", ] } if (is_chromecast) { deps += [ "//ui/accessibility:accessibility" ] sources += [ "fullscreen_shell_surface_unittest.cc" ] } } test("exo_unittests") { use_xvfb = use_xvfb_in_this_config sources = [ "test/run_all_unittests.cc" ] deps = [ ":test_support", ":unit_tests", "//base", "//base/test:test_support", "//build:chromeos_buildflags", "//cc:test_support", "//components/viz/test:test_support", "//device/gamepad:test_helpers", "//mojo/core/embedder", "//testing/gtest", "//ui/aura", "//ui/aura:test_support", "//ui/base", "//ui/compositor:test_support", "//ui/display:display_manager_test_api", "//ui/gl:test_support", ] data_deps = [] if (is_linux || is_chromeos) { deps += [ "//components/exo/wayland:unit_tests" ] } if (is_chromeos_ash) { sources += [ "../../ash/test/ash_test_suite.cc", "../../ash/test/ash_test_suite.h", ] deps += [ "//ash:test_support", "//ash/public/cpp", "//components/exo/server:unit_tests", ] data_deps += [ "//ash/resources:ash_test_resources_100_percent", "//ash/resources:ash_test_resources_200_percent", "//ash/strings:ash_test_strings", ] } }