#include "components/update_client/crx_downloader.h"
#include <utility>
#include "base/check.h"
#include "base/check_op.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#if BUILDFLAG(IS_WIN)
#include "components/update_client/background_downloader_win.h"
#endif
#include "components/update_client/network.h"
#include "components/update_client/task_traits.h"
#include "components/update_client/update_client_errors.h"
#include "components/update_client/update_client_metrics.h"
#include "components/update_client/url_fetcher_downloader.h"
#include "components/update_client/utils.h"
namespace update_client {
CrxDownloader::CrxDownloader(scoped_refptr<CrxDownloader> successor)
: … { … }
CrxDownloader::~CrxDownloader() = default;
void CrxDownloader::set_progress_callback(
const ProgressCallback& progress_callback) { … }
GURL CrxDownloader::url() const { … }
const std::vector<CrxDownloader::DownloadMetrics>
CrxDownloader::download_metrics() const { … }
base::OnceClosure CrxDownloader::StartDownloadFromUrl(
const GURL& url,
const std::string& expected_hash,
DownloadCallback download_callback) { … }
base::OnceClosure CrxDownloader::StartDownload(
const std::vector<GURL>& urls,
const std::string& expected_hash,
DownloadCallback download_callback) { … }
void CrxDownloader::OnDownloadComplete(
bool is_handled,
const Result& result,
const DownloadMetrics& download_metrics) { … }
void CrxDownloader::OnDownloadProgress(int64_t downloaded_bytes,
int64_t total_bytes) { … }
void CrxDownloader::HandleDownloadError(
bool is_handled,
const Result& result,
const DownloadMetrics& download_metrics) { … }
}