summaryrefslogtreecommitdiffstats
path: root/chrome/browser/file_select_helper.cc
diff options
context:
space:
mode:
authortsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 20:43:59 +0000
committertsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 20:43:59 +0000
commit4e9149ac6081cca4ed4898bc0a753603832dd100 (patch)
tree66d61d8f0e568b6ed87d731bc98ab625b45f7f0a /chrome/browser/file_select_helper.cc
parent9b8e05e6951fc8b5795a4607de6dd1d9c27f46d8 (diff)
downloadchromium_src-4e9149ac6081cca4ed4898bc0a753603832dd100.zip
chromium_src-4e9149ac6081cca4ed4898bc0a753603832dd100.tar.gz
chromium_src-4e9149ac6081cca4ed4898bc0a753603832dd100.tar.bz2
Make saving files from flash less annoying.
Resolves missing or relative suggested paths relative to the last opened directory, and when the path is a directory itself, browse files under it rather than itself under its parent. Determining the latter takes a file system interrogation because the syntax isn't sufficient. BUG=140799 Review URL: https://chromiumcodereview.appspot.com/10697010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151738 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/file_select_helper.cc')
-rw-r--r--chrome/browser/file_select_helper.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/file_select_helper.cc b/chrome/browser/file_select_helper.cc
index 168ee9b..9ae5d57 100644
--- a/chrome/browser/file_select_helper.cc
+++ b/chrome/browser/file_select_helper.cc
@@ -401,9 +401,10 @@ void FileSelectHelper::RunFileChooserOnUIThread(
dialog_type_ = ui::SelectFileDialog::SELECT_OPEN_FILE;
NOTREACHED();
}
- FilePath default_file_name = params.default_file_name;
- if (default_file_name.empty())
- default_file_name = profile_->last_selected_directory();
+
+ FilePath default_file_name = params.default_file_name.IsAbsolute() ?
+ params.default_file_name :
+ profile_->last_selected_directory().Append(params.default_file_name);
gfx::NativeWindow owning_window =
platform_util::GetTopLevel(render_view_host_->GetView()->GetNativeView());