blob: 0f957ee545b5b7232fb6c164b75ee3c119ac708b [file] [log] [blame]
# Copyright 2018 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("internal") {
visibility = [
":for_tests",
"//components/download/public/common:public",
]
configs += [
"//components/download/public/common:components_download_implementation",
]
sources = [
"base_file.cc",
"base_file_win.cc",
"download_create_info.cc",
"download_db_cache.cc",
"download_db_cache.h",
"download_file_factory.cc",
"download_file_impl.cc",
"download_interrupt_reasons_impl.cc",
"download_interrupt_reasons_utils.cc",
"download_item_impl.cc",
"download_item_impl_delegate.cc",
"download_job.cc",
"download_job_factory.cc",
"download_job_impl.cc",
"download_job_impl.h",
"download_response_handler.cc",
"download_stats.cc",
"download_task_runner.cc",
"download_ukm_helper.cc",
"download_url_loader_factory_getter.cc",
"download_url_loader_factory_getter_impl.cc",
"download_utils.cc",
"download_worker.cc",
"download_worker.h",
"in_progress_download_manager.cc",
"parallel_download_job.cc",
"parallel_download_job.h",
"parallel_download_utils.cc",
"parallel_download_utils.h",
"rate_estimator.cc",
"resource_downloader.cc",
"resource_downloader.h",
"save_package_download_job.cc",
"save_package_download_job.h",
"stream_handle_input_stream.cc",
"url_download_handler_factory.cc",
"url_download_request_handle.cc",
]
public_deps = [
"//services/network/public/mojom",
]
deps = [
"//base",
"//components/download/database",
"//components/download/public/common:interfaces",
"//components/download/quarantine",
"//components/leveldb_proto",
"//mojo/public/c/system",
"//net",
"//services/metrics/public/cpp:ukm_builders",
"//services/network/public/cpp",
]
if (is_posix || is_fuchsia) {
sources += [ "base_file_posix.cc" ]
}
}
# tests need to access both public and internal sources. So in the component
# build case, we exclude the internal dependency as it is included in the
# test_support target under public.
group("for_tests") {
visibility = [ ":unit_tests" ]
if (!is_component_build) {
public_deps = [
":internal",
]
}
}
source_set("unit_tests") {
testonly = true
if (is_component_build) {
check_includes = false
}
sources = [
"base_file_unittest.cc",
"base_file_win_unittest.cc",
"download_db_cache_unittest.cc",
"download_file_unittest.cc",
"download_item_impl_unittest.cc",
"download_stats_unittest.cc",
"download_ukm_helper_unittest.cc",
"parallel_download_job_unittest.cc",
"parallel_download_utils_unittest.cc",
"rate_estimator_unittest.cc",
]
deps = [
":for_tests",
"//base/test:test_support",
"//components/download/database",
"//components/download/public/common:test_support",
"//components/leveldb_proto",
"//components/leveldb_proto:test_support",
"//components/ukm:test_support",
"//crypto",
"//net",
"//services/metrics/public/cpp:ukm_builders",
"//testing/gmock",
"//testing/gtest",
]
}