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

source_set("factory") {
  sources = [
    "download_service_factory_helper.cc",
    "download_service_factory_helper.h",
    "navigation_monitor_factory.cc",
    "navigation_monitor_factory.h",
  ]

  public_deps = [
    "//components/download/public/background_service:public",
  ]

  deps = [
    "//base",
    "//components/download/content/internal",
    "//components/download/internal/background_service:internal",
    "//components/download/internal/background_service/proto",
    "//components/download/network",
    "//components/keyed_service/content",
    "//components/leveldb_proto",
    "//components/leveldb_proto/content:factory",
    "//content/public/browser",
    "//net",
    "//url",
  ]
}
