# 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("//gpu/vulkan/features.gni")

visibility = [ "//ui/ozone/*" ]

source_set("headless") {
  sources = [
    "client_native_pixmap_factory_headless.cc",
    "client_native_pixmap_factory_headless.h",
    "headless_screen.cc",
    "headless_screen.h",
    "headless_surface_factory.cc",
    "headless_surface_factory.h",
    "headless_window.cc",
    "headless_window.h",
    "headless_window_manager.cc",
    "headless_window_manager.h",
    "ozone_platform_headless.cc",
    "ozone_platform_headless.h",
  ]

  defines = [ "OZONE_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//build:chromecast_buildflags",
    "//components/headless/display_util",
    "//components/headless/screen_info",
    "//components/viz/common/resources:shared_image_format",
    "//gpu/vulkan:buildflags",
    "//skia",
    "//ui/base",
    "//ui/base/cursor",
    "//ui/base/ime",
    "//ui/display",
    "//ui/events",
    "//ui/events/ozone/layout",
    "//ui/events/platform",
    "//ui/gfx/geometry",
    "//ui/ozone:ozone_base",
    "//ui/ozone/common",
    "//ui/platform_window",
  ]

  if (is_fuchsia) {
    deps += [ "//ui/base/ime/fuchsia" ]
  }

  if (enable_vulkan && (is_linux || is_fuchsia)) {
    sources += [
      "vulkan_implementation_headless.cc",
      "vulkan_implementation_headless.h",
      "vulkan_surface_headless.cc",
      "vulkan_surface_headless.h",
    ]
    deps += [ "//gpu/vulkan" ]
  }
}

source_set("headless_unittests") {
  testonly = true
  sources = [ "headless_window_unittest.cc" ]
  deps = [
    ":headless",
    "//base",
    "//base/test:test_support",
    "//testing/gtest",
    "//ui/display:test_support",
    "//ui/events:test_support",
    "//ui/ozone:platform",
    "//ui/ozone:test_support",
  ]
}
