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

static_library("arc") {
  sources = [
    "notification/arc_custom_notification_item.cc",
    "notification/arc_custom_notification_item.h",
    "notification/arc_custom_notification_view.cc",
    "notification/arc_custom_notification_view.h",
    "notification/arc_notification_item.cc",
    "notification/arc_notification_item.h",
    "notification/arc_notification_manager.cc",
    "notification/arc_notification_manager.h",
    "notification/arc_notification_surface_manager.cc",
    "notification/arc_notification_surface_manager.h",
  ]

  deps = [
    "//ash",
    "//base",
    "//components/arc:arc_base",
    "//components/exo",
    "//components/signin/core/account_id",
    "//mojo/common:common_base",
    "//skia",
    "//ui/aura",
    "//ui/base",
    "//ui/compositor",
    "//ui/display",
    "//ui/events",
    "//ui/gfx",
    "//ui/message_center",
    "//ui/resources",
    "//ui/strings",
    "//ui/views",
    "//ui/wm",
  ]
}

test("ui_arc_unittests") {
  testonly = true
  sources = [
    "notification/arc_notification_manager_unittest.cc",
    "test/run_all_unittests.cc",
  ]

  deps = [
    ":arc",
    "//base",
    "//base/test:test_support",
    "//components/arc:arc_test_support",
    "//mojo/edk/system",
    "//testing/gtest",
    "//ui/message_center:test_support",
  ]
}
