From 8ea1f5b604ea29a8ee36b46416b4b51b742bfdf9 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 08:17:18 +0100 Subject: [PATCH] refactor: track downloads by guid (#45718) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr --- shell/browser/electron_download_manager_delegate.cc | 12 ++++++------ shell/browser/electron_download_manager_delegate.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/shell/browser/electron_download_manager_delegate.cc b/shell/browser/electron_download_manager_delegate.cc index 3f77e653b871..2e68b7053247 100644 --- a/shell/browser/electron_download_manager_delegate.cc +++ b/shell/browser/electron_download_manager_delegate.cc @@ -218,13 +218,13 @@ void ElectronDownloadManagerDelegate::GetItemSaveDialogOptions( } void ElectronDownloadManagerDelegate::OnDownloadPathGenerated( - uint32_t download_id, + const std::string& download_guid, download::DownloadTargetCallback callback, const base::FilePath& default_path) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); ScopedAllowBlockingForElectron allow_blocking; - auto* item = download_manager_->GetDownload(download_id); + auto* item = download_manager_->GetDownloadByGuid(download_guid); if (!item) return; @@ -269,7 +269,7 @@ void ElectronDownloadManagerDelegate::OnDownloadPathGenerated( gin_helper::Promise dialog_promise(isolate); auto dialog_callback = base::BindOnce( &ElectronDownloadManagerDelegate::OnDownloadSaveDialogDone, - base::Unretained(this), download_id, std::move(callback)); + base::Unretained(this), download_guid, std::move(callback)); std::ignore = dialog_promise.Then(std::move(dialog_callback)); file_dialog::ShowSaveDialog(settings, std::move(dialog_promise)); @@ -286,12 +286,12 @@ void ElectronDownloadManagerDelegate::OnDownloadPathGenerated( } void ElectronDownloadManagerDelegate::OnDownloadSaveDialogDone( - uint32_t download_id, + const std::string& download_guid, download::DownloadTargetCallback download_callback, gin_helper::Dictionary result) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - auto* item = download_manager_->GetDownload(download_id); + auto* item = download_manager_->GetDownloadByGuid(download_guid); if (!item) return; @@ -370,7 +370,7 @@ bool ElectronDownloadManagerDelegate::DetermineDownloadTarget( download->GetSuggestedFilename(), download->GetMimeType(), last_saved_directory_, default_download_path), base::BindOnce(&ElectronDownloadManagerDelegate::OnDownloadPathGenerated, - weak_ptr_factory_.GetWeakPtr(), download->GetId(), + weak_ptr_factory_.GetWeakPtr(), download->GetGuid(), std::move(*callback))); return true; } diff --git a/shell/browser/electron_download_manager_delegate.h b/shell/browser/electron_download_manager_delegate.h index 27f2b478e07b..74c590b23506 100644 --- a/shell/browser/electron_download_manager_delegate.h +++ b/shell/browser/electron_download_manager_delegate.h @@ -48,12 +48,12 @@ class ElectronDownloadManagerDelegate void GetItemSaveDialogOptions(download::DownloadItem* item, file_dialog::DialogSettings* options); - void OnDownloadPathGenerated(uint32_t download_id, + void OnDownloadPathGenerated(const std::string& download_guid, download::DownloadTargetCallback callback, const base::FilePath& default_path); void OnDownloadSaveDialogDone( - uint32_t download_id, + const std::string& download_guid, download::DownloadTargetCallback download_callback, gin_helper::Dictionary result);