blob: 82a73c8f4f2498aea57bf87aab2b322d38383f4d [file] [log] [blame]
# Copyright 2014 The Chromium Authors
# 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/ui.gni")
import("//testing/test.gni")
import("//ui/base/ui_features.gni")
assert(use_aura)
component("wm") {
output_name = "ui_wm"
sources = [
"core/accelerator_delegate.h",
"core/accelerator_filter.cc",
"core/accelerator_filter.h",
"core/base_focus_rules.cc",
"core/base_focus_rules.h",
"core/capture_controller.cc",
"core/capture_controller.h",
"core/compound_event_filter.cc",
"core/compound_event_filter.h",
"core/coordinate_conversion.cc",
"core/coordinate_conversion.h",
"core/cursor_loader.cc",
"core/cursor_loader.h",
"core/cursor_manager.cc",
"core/cursor_manager.h",
"core/cursor_util.cc",
"core/cursor_util.h",
"core/default_activation_client.cc",
"core/default_activation_client.h",
"core/default_screen_position_client.cc",
"core/default_screen_position_client.h",
"core/easy_resize_window_targeter.cc",
"core/easy_resize_window_targeter.h",
"core/focus_controller.cc",
"core/focus_controller.h",
"core/focus_rules.h",
"core/native_cursor_manager.h",
"core/native_cursor_manager_delegate.h",
"core/scoped_animation_disabler.cc",
"core/scoped_animation_disabler.h",
"core/shadow_controller.cc",
"core/shadow_controller.h",
"core/shadow_controller_delegate.h",
"core/shadow_types.cc",
"core/shadow_types.h",
"core/transient_window_controller.cc",
"core/transient_window_controller.h",
"core/transient_window_manager.cc",
"core/transient_window_manager.h",
"core/transient_window_observer.h",
"core/transient_window_stacking_client.cc",
"core/transient_window_stacking_client.h",
"core/visibility_controller.cc",
"core/visibility_controller.h",
"core/window_animations.cc",
"core/window_animations.h",
"core/window_modality_controller.cc",
"core/window_modality_controller.h",
"core/window_properties.cc",
"core/window_properties.h",
"core/window_util.cc",
"core/window_util.h",
"core/wm_core_switches.cc",
"core/wm_core_switches.h",
"core/wm_state.cc",
"core/wm_state.h",
]
configs += [ "//build/config:precompiled_headers" ]
defines = [ "IS_UI_WM_IMPL" ]
public_deps = [
"//base",
"//build:chromeos_buildflags",
"//ui/aura",
"//ui/base",
"//ui/base/cursor",
"//ui/base/cursor/mojom:cursor_type",
"//ui/color",
"//ui/compositor",
"//ui/display",
"//ui/events",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/wm/public",
]
deps = [
"//cc/paint",
"//skia",
"//ui/base/ime",
"//ui/compositor_extra",
"//ui/events/platform",
"//ui/gfx/animation",
"//ui/lottie",
"//ui/resources",
]
if (is_chromeos_ash) {
sources += [
"core/ime_util_chromeos.cc",
"core/ime_util_chromeos.h",
]
}
}
static_library("test_support") {
testonly = true
sources = [
"test/testing_cursor_client_observer.cc",
"test/testing_cursor_client_observer.h",
]
if (is_chromeos_ash) {
sources += [
"test/wm_test_helper.cc",
"test/wm_test_helper.h",
]
}
public_deps = [ "//ui/base/cursor" ]
deps = [
":wm",
"//skia",
"//ui/aura",
"//ui/aura:test_support",
"//ui/base",
"//ui/base/ime",
"//ui/events",
"//ui/events:events_base",
"//ui/platform_window",
]
}
test("wm_unittests") {
use_xvfb = use_xvfb_in_this_config
sources = [
"core/capture_controller_unittest.cc",
"core/compound_event_filter_unittest.cc",
"core/coordinate_conversion_unittest.cc",
"core/cursor_loader_unittest.cc",
"core/cursor_manager_unittest.cc",
"core/cursor_util_unittest.cc",
"core/focus_controller_unittest.cc",
"core/shadow_controller_unittest.cc",
"core/transient_window_manager_unittest.cc",
"core/transient_window_stacking_client_unittest.cc",
"core/visibility_controller_unittest.cc",
"core/window_animations_unittest.cc",
"core/window_util_unittest.cc",
"test/run_all_unittests.cc",
]
deps = [
":test_support",
":wm",
"//base",
"//base/test:test_support",
"//build:chromeos_buildflags",
"//mojo/core/embedder",
"//skia",
"//testing/gtest",
"//ui/aura:test_support",
"//ui/base",
"//ui/base:test_support",
"//ui/base/cursor",
"//ui/base/cursor/mojom:cursor_type",
"//ui/base/ime",
"//ui/compositor:test_support",
"//ui/compositor_extra",
"//ui/events:test_support",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx:gfx_skia",
"//ui/gfx:test_support",
"//ui/gfx/animation",
"//ui/gfx/geometry",
"//ui/gfx/geometry:geometry_skia",
"//ui/gl:test_support",
"//ui/platform_window",
"//ui/resources",
"//ui/wm/public",
]
data_deps = [ "//ui/resources:ui_test_pak_data" ]
if (enable_hidpi) {
data_deps += [ "//ui/resources:ui_test_pak_data_200_percent" ]
}
if (is_chromeos_ash) {
sources += [ "core/ime_util_chromeos_unittest.cc" ]
}
if (is_fuchsia) {
additional_manifest_fragments = [
"//build/config/fuchsia/test/present_view.shard.test-cml",
"//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
]
}
}