| # 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. |
| |
| import("//mojo/public/tools/bindings/mojom.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") # For generate_jni(). |
| } |
| |
| config("components_download_implementation") { |
| defines = [ "COMPONENTS_DOWNLOAD_IMPLEMENTATION" ] |
| } |
| |
| component("public") { |
| sources = [ |
| "base_file.h", |
| "download_content.h", |
| "download_create_info.h", |
| "download_danger_type.h", |
| "download_destination_observer.cc", |
| "download_destination_observer.h", |
| "download_features.cc", |
| "download_features.h", |
| "download_file.h", |
| "download_file_factory.h", |
| "download_file_impl.h", |
| "download_interrupt_reason_values.h", |
| "download_interrupt_reasons.h", |
| "download_interrupt_reasons_utils.h", |
| "download_item.h", |
| "download_item_factory.cc", |
| "download_item_factory.h", |
| "download_item_impl.h", |
| "download_item_impl_delegate.h", |
| "download_job.h", |
| "download_job_factory.h", |
| "download_request_handle_interface.h", |
| "download_response_handler.h", |
| "download_save_info.cc", |
| "download_save_info.h", |
| "download_source.h", |
| "download_start_observer.h", |
| "download_stats.h", |
| "download_task_runner.h", |
| "download_ukm_helper.h", |
| "download_url_loader_factory_getter.h", |
| "download_url_loader_factory_getter_impl.h", |
| "download_url_parameters.cc", |
| "download_url_parameters.h", |
| "download_utils.h", |
| "in_progress_download_manager.h", |
| "input_stream.cc", |
| "input_stream.h", |
| "parallel_download_configs.h", |
| "rate_estimator.h", |
| "resume_mode.h", |
| "stream_handle_input_stream.h", |
| "url_download_handler_factory.h", |
| "url_download_request_handle.h", |
| ] |
| |
| configs += [ ":components_download_implementation" ] |
| |
| public_deps = [ |
| ":interfaces", |
| ] |
| |
| deps = [ |
| "//base", |
| "//components/download/database", |
| "//components/download/internal/common:internal", |
| "//crypto", |
| "//net", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/network/public/cpp", |
| "//storage/browser", |
| "//ui/base", |
| ] |
| |
| allow_circular_includes_from = [ |
| "//components/download/internal/common:internal", |
| "//components/download/database", |
| ] |
| } |
| |
| if (is_android) { |
| android_library("public_java") { |
| srcjar_deps = [ ":jni_enums" ] |
| |
| deps = [ |
| "//base:base_java", |
| "//third_party/android_tools:android_support_annotations_java", |
| ] |
| } |
| |
| java_cpp_enum("jni_enums") { |
| sources = [ |
| "download_item.h", |
| ] |
| } |
| } |
| |
| mojom("interfaces") { |
| sources = [ |
| "download_stream.mojom", |
| ] |
| |
| export_class_attribute = "COMPONENTS_DOWNLOAD_EXPORT" |
| export_define = "COMPONENTS_DOWNLOAD_IMPLEMENTATION=1" |
| export_header = "components/download/public/common/download_export.h" |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_download_file.cc", |
| "mock_download_file.h", |
| "mock_download_item.cc", |
| "mock_download_item.h", |
| "mock_download_item_impl.cc", |
| "mock_download_item_impl.h", |
| "mock_input_stream.cc", |
| "mock_input_stream.h", |
| ] |
| |
| public_deps = [ |
| ":public", |
| "//base", |
| "//net", |
| "//testing/gmock", |
| "//url", |
| ] |
| } |