# 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.

component("ui_chromeos") {
  sources = [
    "network/network_icon.cc",
    "network/network_icon.h",
    "network/network_icon_animation.cc",
    "network/network_icon_animation.h",
    "network/network_icon_animation_observer.h",
    "network/network_info.cc",
    "network/network_info.h",
    "network/network_list.cc",
    "network/network_list.h",
    "network/network_list_delegate.h",
    "touch_exploration_controller.cc",
    "touch_exploration_controller.h",
    "user_activity_power_manager_notifier.cc",
    "user_activity_power_manager_notifier.h",
  ]
  deps = [
    "//base",
    "//chromeos:power_manager_proto",
    "//skia",
    "//ui/aura",
    "//ui/chromeos/resources",
    "//ui/chromeos/strings",
    "//ui/events",
    "//ui/views",
    "//ui/wm",
  ]
  defines = [ "UI_CHROMEOS_IMPLEMENTATION" ]
}
