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

assert(!is_ios)

component("content") {
  output_name = "keyed_service_content"
  sources = [
    "browser_context_dependency_manager.cc",
    "browser_context_dependency_manager.h",
    "browser_context_keyed_base_factory.cc",
    "browser_context_keyed_base_factory.h",
    "browser_context_keyed_service_factory.cc",
    "browser_context_keyed_service_factory.h",
    "browser_context_keyed_service_shutdown_notifier_factory.cc",
    "browser_context_keyed_service_shutdown_notifier_factory.h",
    "refcounted_browser_context_keyed_service_factory.cc",
    "refcounted_browser_context_keyed_service_factory.h",
  ]

  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

  defines = [ "KEYED_SERVICE_IMPLEMENTATION" ]

  public_deps = [
    "//base",
    "//components/keyed_service/core",
  ]

  deps = [
    "//base/third_party/dynamic_annotations",
    "//components/pref_registry",
    "//components/user_prefs",
    "//content/public/browser",
    "//content/public/common",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "browser_context_dependency_manager_unittest.cc",
  ]
  deps = [
    ":content",
    "//testing/gtest",
  ]
}