blob: 20d92f75d11551ded9062e7632e4e1aee569705b [file] [log] [blame]
# 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/ui.gni")
import("//testing/test.gni")
component("display") {
sources = [
"android/screen_android.cc",
"chromeos/apply_content_protection_task.cc",
"chromeos/apply_content_protection_task.h",
"chromeos/configure_displays_task.cc",
"chromeos/configure_displays_task.h",
"chromeos/display_configurator.cc",
"chromeos/display_configurator.h",
"chromeos/display_layout_manager.h",
"chromeos/display_snapshot_virtual.cc",
"chromeos/display_snapshot_virtual.h",
"chromeos/display_util.cc",
"chromeos/display_util.h",
"chromeos/query_content_protection_task.cc",
"chromeos/query_content_protection_task.h",
"chromeos/update_display_configuration_task.cc",
"chromeos/update_display_configuration_task.h",
"chromeos/x11/display_mode_x11.cc",
"chromeos/x11/display_mode_x11.h",
"chromeos/x11/display_snapshot_x11.cc",
"chromeos/x11/display_snapshot_x11.h",
"chromeos/x11/display_util_x11.cc",
"chromeos/x11/display_util_x11.h",
"chromeos/x11/native_display_delegate_x11.cc",
"chromeos/x11/native_display_delegate_x11.h",
"chromeos/x11/native_display_event_dispatcher_x11.cc",
"chromeos/x11/native_display_event_dispatcher_x11.h",
"display.cc",
"display.h",
"display_change_notifier.cc",
"display_change_notifier.h",
"display_export.h",
"display_finder.cc",
"display_finder.h",
"display_observer.cc",
"display_observer.h",
"display_switches.cc",
"display_switches.h",
"ios/screen_ios.mm",
"mac/screen_mac.mm",
"manager/display_layout.cc",
"manager/display_layout.h",
"manager/display_layout_builder.cc",
"manager/display_layout_builder.h",
"screen.cc",
"screen.h",
"screen_aura.cc",
"win/display_info.cc",
"win/display_info.h",
"win/dpi.cc",
"win/dpi.h",
"win/screen_win.cc",
"win/screen_win.h",
"win/screen_win_display.cc",
"win/screen_win_display.h",
]
defines = [ "DISPLAY_IMPLEMENTATION" ]
deps = [
"//base",
"//ui/display/types",
"//ui/display/util",
"//ui/gfx",
"//ui/gfx/geometry",
]
if (is_chromeos && use_x11) {
configs += [
"//build/config/linux:x11",
"//build/config/linux:xext",
"//build/config/linux:xi",
"//build/config/linux:xrandr",
]
deps += [ "//ui/events/platform" ]
}
deps += []
if (use_x11) {
deps += [ "//ui/gfx/x" ]
}
if (is_chromeos && use_ozone) {
sources -= [
"chromeos/x11/display_mode_x11.cc",
"chromeos/x11/display_mode_x11.h",
"chromeos/x11/display_snapshot_x11.cc",
"chromeos/x11/display_snapshot_x11.h",
"chromeos/x11/display_util_x11.cc",
"chromeos/x11/display_util_x11.h",
"chromeos/x11/native_display_delegate_x11.cc",
"chromeos/x11/native_display_delegate_x11.h",
"chromeos/x11/native_display_event_dispatcher_x11.cc",
"chromeos/x11/native_display_event_dispatcher_x11.h",
]
}
if (!use_aura) {
sources -= [ "screen_aura.cc" ]
}
if (is_android && use_aura) {
sources -= [ "android/screen_android.cc" ]
}
if (is_mac) {
libs = [
"AppKit.framework",
"CoreGraphics.framework",
]
}
}
if (is_chromeos) {
component("test_util") {
output_name = "display_test_util"
sources = [
"chromeos/test/test_display_snapshot.cc",
"chromeos/test/test_display_snapshot.h",
]
defines = [ "DISPLAY_IMPLEMENTATION" ]
public_deps = [
":display",
]
deps = [
"//base",
"//ui/display/types",
"//ui/gfx",
"//ui/gfx/geometry",
]
}
}
source_set("test_support") {
testonly = true
sources = [
"chromeos/test/action_logger.cc",
"chromeos/test/action_logger.h",
"chromeos/test/action_logger_util.cc",
"chromeos/test/action_logger_util.h",
"chromeos/test/test_display_layout_manager.cc",
"chromeos/test/test_display_layout_manager.h",
"chromeos/test/test_native_display_delegate.cc",
"chromeos/test/test_native_display_delegate.h",
"test/display_test_util.h",
"test/test_screen.cc",
"test/test_screen.h",
]
public_deps = [
":display",
]
deps = [
"//base",
"//ui/display/types",
"//ui/gfx",
"//ui/gfx:test_support",
"//ui/gfx/geometry",
]
}
# This test covers all testable components in display.
test("display_unittests") {
sources = [
"chromeos/apply_content_protection_task_unittest.cc",
"chromeos/configure_displays_task_unittest.cc",
"chromeos/display_configurator_unittest.cc",
"chromeos/query_content_protection_task_unittest.cc",
"chromeos/update_display_configuration_task_unittest.cc",
"chromeos/x11/display_util_x11_unittest.cc",
"chromeos/x11/native_display_event_dispatcher_x11_unittest.cc",
"display_change_notifier_unittest.cc",
"display_unittest.cc",
"manager/display_layout_builder_unittest.cc",
"manager/display_layout_unittest.cc",
"screen_unittest.cc",
"util/display_util_unittest.cc",
"util/edid_parser_unittest.cc",
"win/screen_win_unittest.cc",
]
deps = [
":display",
":test_support",
"//base",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//testing/gtest",
"//ui/display/types",
"//ui/display/util",
"//ui/gfx:test_support",
"//ui/gfx/geometry",
]
if (is_chromeos) {
deps += [ ":test_util" ]
}
if (use_aura) {
sources -= [ "screen_unittest.cc" ]
}
if (is_android) {
# Do not run display_change_notifier_unittest.cc on Android because it
# does not compile display_observer.cc
sources -= [ "display_change_notifier_unittest.cc" ]
}
if (is_chromeos && use_ozone) {
sources -= [
"chromeos/x11/display_util_x11_unittest.cc",
"chromeos/x11/native_display_event_dispatcher_x11_unittest.cc",
]
}
}