diff options
Diffstat (limited to 'chrome/browser/download')
-rw-r--r-- | chrome/browser/download/save_package.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/download/save_package.cc b/chrome/browser/download/save_package.cc index 12d2443..158432d 100644 --- a/chrome/browser/download/save_package.cc +++ b/chrome/browser/download/save_package.cc @@ -963,9 +963,18 @@ FilePath SavePackage::GetSuggestNameForSaveAs(PrefService* prefs, // If not, initialize it with default directory. if (!prefs->IsPrefRegistered(prefs::kSaveFileDefaultDirectory)) { FilePath default_save_path; - if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, - &default_save_path)) - NOTREACHED(); + if (!prefs->IsPrefRegistered(prefs::kDownloadDefaultDirectory)) { + if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, + &default_save_path)) { + NOTREACHED(); + } + } else { + StringPrefMember default_download_path; + default_download_path.Init(prefs::kDownloadDefaultDirectory, + prefs, NULL); + default_save_path = FilePath::FromWStringHack( + default_download_path.GetValue()); + } prefs->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_save_path); } |