summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download')
-rw-r--r--chrome/browser/download/save_package.cc15
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);
}