// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_DOWNLOAD_PARAMS_H_ #define COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_DOWNLOAD_PARAMS_H_ #include <map> #include <optional> #include <string> #include "base/functional/callback.h" #include "base/time/time.h" #include "components/download/public/background_service/clients.h" #include "net/base/isolation_info.h" #include "net/http/http_request_headers.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "services/network/public/mojom/fetch_api.mojom-shared.h" #include "url/gurl.h" namespace download { // The parameters describing when to run a download. This allows the caller to // specify restrictions on what impact this download will have on the device // (battery, network conditions, priority, etc.). On iOS, the network and // battery requirements are mapped to NSURLSessionConfiguration.discretionary. struct SchedulingParams { … }; // The parameters describing how to build the request when starting a download. struct RequestParams { … }; // The parameters that describe a download request made to the DownloadService. // The |client| needs to be properly created and registered for this service for // the download to be accepted. struct DownloadParams { … }; } // namespace download #endif // COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_DOWNLOAD_PARAMS_H_