| Index: chrome/browser/download/save_file_manager.cc
|
| diff --git a/chrome/browser/download/save_file_manager.cc b/chrome/browser/download/save_file_manager.cc
|
| index d5df502c2947f0e29db55bdd90a2a7ef7204ad0a..c4c784e84dee35aedc2eced42aa28903b31295e6 100644
|
| --- a/chrome/browser/download/save_file_manager.cc
|
| +++ b/chrome/browser/download/save_file_manager.cc
|
| @@ -12,9 +12,12 @@
|
| #include "base/string_util.h"
|
| #include "base/task.h"
|
| #include "base/threading/thread.h"
|
| +#include "chrome/browser/download/download_manager.h"
|
| +#include "chrome/browser/download/download_prefs.h"
|
| #include "chrome/browser/download/save_file.h"
|
| #include "chrome/browser/download/save_package.h"
|
| #include "chrome/browser/platform_util.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/tab_contents/tab_util.h"
|
| #include "chrome/browser/ui/download/download_tab_helper.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| @@ -125,6 +128,12 @@ void SaveFileManager::SaveURL(
|
| SavePackage* save_package) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| + TabContents* contents =
|
| + tab_util::GetTabContentsByID(render_process_host_id, render_view_id);
|
| + DownloadPrefs* download_prefs =
|
| + contents->profile()->GetDownloadManager()->download_prefs();
|
| + FilePath default_download_dir = download_prefs->GetDefaultDownloadDirectory();
|
| +
|
| // Register a saving job.
|
| RegisterStartingRequest(url, save_package);
|
| if (save_source == SaveFileCreateInfo::SAVE_FILE_FROM_NET) {
|
| @@ -138,6 +147,7 @@ void SaveFileManager::SaveURL(
|
| referrer,
|
| render_process_host_id,
|
| render_view_id,
|
| + default_download_dir,
|
| &context));
|
| } else {
|
| // We manually start the save job.
|
| @@ -225,7 +235,8 @@ void SaveFileManager::StartSave(SaveFileCreateInfo* info) {
|
| SaveFile* save_file = new SaveFile(info);
|
|
|
| // TODO(phajdan.jr): We should check the return value and handle errors here.
|
| - save_file->Initialize(false); // No need to calculate hash.
|
| + // No need to calculate hash.
|
| + save_file->Initialize(false, info->default_download_dir);
|
|
|
| DCHECK(!LookupSaveFile(info->save_id));
|
| save_file_map_[info->save_id] = save_file;
|
| @@ -362,12 +373,14 @@ void SaveFileManager::OnSaveURL(
|
| const GURL& referrer,
|
| int render_process_host_id,
|
| int render_view_id,
|
| + const FilePath& default_download_dir,
|
| const content::ResourceContext* context) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| resource_dispatcher_host_->BeginSaveFile(url,
|
| referrer,
|
| render_process_host_id,
|
| render_view_id,
|
| + default_download_dir,
|
| *context);
|
| }
|
|
|
|
|