#include "components/download/internal/common/download_file_with_copy.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/task/sequenced_task_runner.h"
#include "components/download/database/download_db.h"
#include "components/download/database/download_db_conversions.h"
#include "components/download/database/download_db_entry.h"
#include "components/download/public/common/download_destination_observer.h"
#include "components/download/public/common/download_features.h"
#include "components/download/public/common/download_stats.h"
#include "components/download/public/common/download_utils.h"
#include "crypto/secure_hash.h"
namespace download {
namespace {
void OnRenameComplete(const base::FilePath& file_path,
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
DownloadFile::RenameCompletionCallback callback) { … }
}
DownloadFileWithCopy::DownloadFileWithCopy(
const base::FilePath& file_path_to_copy,
base::WeakPtr<DownloadDestinationObserver> observer)
: … { … }
DownloadFileWithCopy::~DownloadFileWithCopy() = default;
void DownloadFileWithCopy::Initialize(
InitializeCallback initialize_callback,
CancelRequestCallback cancel_request_callback,
const DownloadItem::ReceivedSlices& received_slices) { … }
void DownloadFileWithCopy::AddInputStream(std::unique_ptr<InputStream> stream,
int64_t offset) { … }
void DownloadFileWithCopy::RenameAndUniquify(
const base::FilePath& full_path,
RenameCompletionCallback callback) { … }
void DownloadFileWithCopy::RenameAndAnnotate(
const base::FilePath& full_path,
const std::string& client_guid,
const GURL& source_url,
const GURL& referrer_url,
mojo::PendingRemote<quarantine::mojom::Quarantine> remote_quarantine,
RenameCompletionCallback callback) { … }
void DownloadFileWithCopy::Detach() { … }
void DownloadFileWithCopy::Cancel() { … }
void DownloadFileWithCopy::SetPotentialFileLength(int64_t length) { … }
const base::FilePath& DownloadFileWithCopy::FullPath() const { … }
bool DownloadFileWithCopy::InProgress() const { … }
void DownloadFileWithCopy::Pause() { … }
void DownloadFileWithCopy::Resume() { … }
#if BUILDFLAG(IS_ANDROID)
void DownloadFileWithCopy::PublishDownload(RenameCompletionCallback callback) {
DCHECK(false);
}
#endif
}