| Index: content/shell/shell_download_manager_delegate.cc
|
| diff --git a/content/shell/shell_download_manager_delegate.cc b/content/shell/shell_download_manager_delegate.cc
|
| index 2bb5425f54f1c0aa8979b626aa5d80846e18d997..ed63d27c5c9286e4cad6bc0d62e5e8cf3aff2c33 100644
|
| --- a/content/shell/shell_download_manager_delegate.cc
|
| +++ b/content/shell/shell_download_manager_delegate.cc
|
| @@ -90,16 +90,14 @@ void ShellDownloadManagerDelegate::RestartDownload(
|
| return;
|
|
|
| // Since we have no download UI, show the user a dialog always.
|
| - download->OnTargetPathDetermined(suggested_path,
|
| - DownloadItem::TARGET_DISPOSITION_PROMPT,
|
| - content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS);
|
| - download_manager_->RestartDownload(download_id);
|
| + ChooseDownloadPath(download, suggested_path);
|
| }
|
|
|
| -void ShellDownloadManagerDelegate::ChooseDownloadPath(DownloadItem* item) {
|
| +void ShellDownloadManagerDelegate::ChooseDownloadPath(
|
| + DownloadItem* item,
|
| + const FilePath& suggested_path) {
|
| FilePath result;
|
| #if defined(OS_WIN) && !defined(USE_AURA)
|
| - const FilePath suggested_path(item->GetTargetFilePath());
|
| std::wstring file_part = FilePath(suggested_path).BaseName().value();
|
| wchar_t file_name[MAX_PATH];
|
| base::wcslcpy(file_name, file_part.c_str(), arraysize(file_name));
|
| @@ -125,9 +123,12 @@ void ShellDownloadManagerDelegate::ChooseDownloadPath(DownloadItem* item) {
|
| #endif
|
|
|
| if (result.empty()) {
|
| - download_manager_->FileSelectionCanceled(item->GetId());
|
| + item->Cancel(true);
|
| } else {
|
| - download_manager_->FileSelected(result, item->GetId());
|
| + item->OnTargetPathDetermined(result,
|
| + DownloadItem::TARGET_DISPOSITION_PROMPT,
|
| + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS);
|
| + download_manager_->RestartDownload(download_id);
|
| }
|
| }
|
|
|
|
|