Index: chrome/browser/download/save_package_file_picker.cc |
diff --git a/chrome/browser/download/save_package_file_picker.cc b/chrome/browser/download/save_package_file_picker.cc |
index fe76d68f70d942175817fc8033de403a12939027..8047ba9bc918bcb8d7ccd1277eda75485e533feb 100644 |
--- a/chrome/browser/download/save_package_file_picker.cc |
+++ b/chrome/browser/download/save_package_file_picker.cc |
@@ -79,9 +79,11 @@ SavePackageFilePicker::SavePackageFilePicker( |
const base::FilePath::StringType& default_extension_const, |
bool can_save_as_complete, |
DownloadPrefs* download_prefs, |
+ const base::Callback<void(const base::FilePath&)>& on_chosen, |
const content::SavePackagePathPickedCallback& callback) |
: render_process_id_(web_contents->GetRenderProcessHost()->GetID()), |
can_save_as_complete_(can_save_as_complete), |
+ on_chosen_(on_chosen), |
callback_(callback) { |
base::FilePath suggested_path = suggested_path_const; |
base::FilePath::StringType default_extension = default_extension_const; |
@@ -207,19 +209,7 @@ void SavePackageFilePicker::FileSelected(const base::FilePath& path, |
save_type, |
content::SAVE_PAGE_TYPE_MAX); |
- StringPrefMember save_file_path; |
- save_file_path.Init(prefs::kSaveFileDefaultDirectory, prefs); |
-#if defined(OS_POSIX) |
- std::string path_string = path.DirName().value(); |
-#elif defined(OS_WIN) |
- std::string path_string = WideToUTF8(path.DirName().value()); |
-#endif |
- // If user change the default saving directory, we will remember it just |
- // like IE and FireFox. |
- if (!process->GetBrowserContext()->IsOffTheRecord() && |
- save_file_path.GetValue() != path_string) |
- save_file_path.SetValue(path_string); |
- |
+ on_chosen_.Run(path); |
callback_.Run(path, save_type, base::Bind(&OnSavePackageDownloadCreated)); |
} |