# 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("login") {
  sources = [
    "base_screen_handler_utils.cc",
    "base_screen_handler_utils.h",
    "localized_values_builder.cc",
    "localized_values_builder.h",
    "screens/screen_context.cc",
    "screens/screen_context.h",
    "secure_module_util_chromeos.cc",
    "secure_module_util_chromeos.h",
  ]

  defines = [ "LOGIN_IMPLEMENTATION" ]

  deps = [
    "//components/account_id",
    "//ui/base",
  ]

  public_deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "screens/screen_context_unittest.cc",
  ]

  deps = [
    ":login",
    "//base",
    "//testing/gtest",
  ]
}
