Index: ui/shell_dialogs/select_file_dialog.cc |
diff --git a/ui/shell_dialogs/select_file_dialog.cc b/ui/shell_dialogs/select_file_dialog.cc |
index e5abd07b78a7d43d8c30910a4b5cfed6731bb40e..d26fc36d2aa41a64c58aa59276ab524aabd446ae 100644 |
--- a/ui/shell_dialogs/select_file_dialog.cc |
+++ b/ui/shell_dialogs/select_file_dialog.cc |
@@ -46,7 +46,10 @@ void SelectFileDialog::Listener::FileSelectedWithExtraInfo( |
int index, |
void* params) { |
// Most of the dialogs need actual local path, so default to it. |
- FileSelected(file.local_path, index, params); |
+ // If local path is empty, use file_path instead. |
+ FileSelected(file.local_path.empty() ? file.file_path : file.local_path, |
+ index, |
+ params); |
} |
void SelectFileDialog::Listener::MultiFilesSelectedWithExtraInfo( |
@@ -54,7 +57,8 @@ void SelectFileDialog::Listener::MultiFilesSelectedWithExtraInfo( |
void* params) { |
std::vector<base::FilePath> file_paths; |
for (size_t i = 0; i < files.size(); ++i) |
- file_paths.push_back(files[i].local_path); |
+ file_paths.push_back(files[i].local_path.empty() ? files[i].file_path |
+ : files[i].local_path); |
MultiFilesSelected(file_paths, params); |
} |