# Copyright 2016 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")

source_set("display") {
  sources = [
    "screen_manager.cc",
    "screen_manager.h",
    "screen_manager_delegate.h",
    "viewport_metrics.cc",
    "viewport_metrics.h",
  ]

  deps = [
    "//base",
    "//services/service_manager/public/cpp",
    "//ui/display",
    "//ui/gfx",
  ]

  if (use_ozone) {
    if (is_chromeos) {
      sources += [
        "output_protection.cc",
        "output_protection.h",
        "screen_manager_forwarding.cc",
        "screen_manager_forwarding.h",
        "screen_manager_ozone_internal.cc",
        "screen_manager_ozone_internal.h",
      ]

      deps += [
        "//chromeos",
        "//services/ui/public/interfaces/display",
        "//ui/display/manager",
        "//ui/display/mojo:interfaces",
        "//ui/ozone",
      ]
    } else {
      sources += [
        "screen_manager_ozone_external.cc",
        "screen_manager_ozone_external.h",
      ]
    }
  } else {
    sources += [
      "screen_manager_stub_internal.cc",
      "screen_manager_stub_internal.h",
    ]
  }
}

if (is_chromeos) {
  source_set("tests") {
    testonly = true

    sources = [
      "screen_manager_ozone_internal_unittests.cc",
    ]

    deps = [
      ":display",
      "//base",
      "//base/test:test_support",
      "//services/ui/common:task_runner_test_base",
      "//testing/gmock",
      "//testing/gtest",
      "//ui/base",
      "//ui/display/manager",
      "//ui/events/devices",
      "//ui/gfx",
      "//ui/gfx:test_support",
      "//ui/ozone",
    ]

    data_deps = [
      "//ui/resources:ui_test_pak_data",
    ]
  }
}
