# 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",
  ]

  defines = [ "LOGIN_IMPLEMENTATION" ]

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

  public_deps = [
    "//base",
  ]
}

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

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