| Index: chrome/browser/download/download_target_determiner.cc
|
| diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc
|
| index 6572846972cec5cb5494a864210745b7dc14a175..c556d3e77059062769f8258469fc93a6da575760 100644
|
| --- a/chrome/browser/download/download_target_determiner.cc
|
| +++ b/chrome/browser/download/download_target_determiner.cc
|
| @@ -59,7 +59,6 @@ DownloadTargetDeterminerDelegate::~DownloadTargetDeterminerDelegate() {
|
| DownloadTargetDeterminer::DownloadTargetDeterminer(
|
| DownloadItem* download,
|
| DownloadPrefs* download_prefs,
|
| - const base::FilePath& last_selected_directory,
|
| DownloadTargetDeterminerDelegate* delegate,
|
| const content::DownloadTargetCallback& callback)
|
| : next_state_(STATE_GENERATE_TARGET_PATH),
|
| @@ -72,7 +71,6 @@ DownloadTargetDeterminer::DownloadTargetDeterminer(
|
| download_(download),
|
| download_prefs_(download_prefs),
|
| delegate_(delegate),
|
| - last_selected_directory_(last_selected_directory),
|
| completion_callback_(callback),
|
| weak_ptr_factory_(this) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| @@ -159,11 +157,11 @@ DownloadTargetDeterminer::Result
|
| default_filename);
|
| should_prompt_ = ShouldPromptForDownload(generated_filename);
|
| base::FilePath target_directory;
|
| - if (should_prompt_ && !last_selected_directory_.empty()) {
|
| + if (should_prompt_) {
|
| DCHECK(!download_prefs_->IsDownloadPathManaged());
|
| // If the user is going to be prompted and the user has been prompted
|
| // before, then always prefer the last directory that the user selected.
|
| - target_directory = last_selected_directory_;
|
| + target_directory = download_prefs_->SaveFilePath();
|
| } else {
|
| target_directory = download_prefs_->DownloadPath();
|
| }
|
| @@ -284,6 +282,7 @@ void DownloadTargetDeterminer::PromptUserForDownloadPathDone(
|
| return;
|
| }
|
| virtual_path_ = virtual_path;
|
| + download_prefs_->SetSaveFilePath(virtual_path_.DirName());
|
| DoLoop();
|
| }
|
|
|
| @@ -585,14 +584,12 @@ void DownloadTargetDeterminer::OnDownloadDestroyed(
|
| void DownloadTargetDeterminer::Start(
|
| content::DownloadItem* download,
|
| DownloadPrefs* download_prefs,
|
| - const base::FilePath& last_selected_directory,
|
| DownloadTargetDeterminerDelegate* delegate,
|
| const content::DownloadTargetCallback& callback) {
|
| // DownloadTargetDeterminer owns itself and will self destruct when the job is
|
| // complete or the download item is destroyed. The callback is always invoked
|
| // asynchronously.
|
| - new DownloadTargetDeterminer(download, download_prefs,
|
| - last_selected_directory, delegate, callback);
|
| + new DownloadTargetDeterminer(download, download_prefs, delegate, callback);
|
| }
|
|
|
| // static
|
|
|