// Copyright 2018 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_COMMON_DOWNLOAD_URL_PARAMETERS_H_ #define COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_PARAMETERS_H_ #include <stdint.h> #include <memory> #include <optional> #include <string> #include <utility> #include <vector> #include "base/functional/callback.h" #include "components/download/public/common/download_interrupt_reasons.h" #include "components/download/public/common/download_save_info.h" #include "components/download/public/common/download_source.h" #include "net/base/isolation_info.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "net/url_request/referrer_policy.h" #include "services/network/public/cpp/resource_request_body.h" #include "services/network/public/mojom/fetch_api.mojom-shared.h" #include "url/gurl.h" #include "url/origin.h" namespace download { class DownloadItem; // Pass an instance of DownloadUrlParameters to DownloadManager::DownloadUrl() // to download the content at |url|. All parameters with setters are optional. // |referrer| and |referrer_encoding| are the referrer for the download. If // |prefer_cache| is true, then if the response to |url| is in the HTTP cache it // will be used without revalidation. If |post_id| is non-negative, then it // identifies the post transaction used to originally retrieve the |url| // resource - it also requires |prefer_cache| to be |true| since re-post'ing is // not done. |save_info| specifies where the downloaded file should be saved, // and whether the user should be prompted about the download. If not null, // |callback| will be called when the download starts, or if an error occurs // that prevents a download item from being created. We send a pointer to // content::ResourceContext instead of the usual reference so that a copy of the // object isn't made. class COMPONENTS_DOWNLOAD_EXPORT DownloadUrlParameters { … }; } // namespace download #endif // COMPONENTS_DOWNLOAD_PUBLIC_COMMON_DOWNLOAD_URL_PARAMETERS_H_