diff --git a/libcef/browser/file_dialog_manager.cc b/libcef/browser/file_dialog_manager.cc
index 14159a88d..9a9fd986a 100644
--- a/libcef/browser/file_dialog_manager.cc
+++ b/libcef/browser/file_dialog_manager.cc
@@ -364,14 +364,14 @@ void CefFileDialogManager::OnRunFileChooserDelegateCallback(
if (!file_paths.empty()) {
if (mode == blink::mojom::FileChooserParams::Mode::kUploadFolder) {
- base_dir = file_paths[0];
- } else {
- // Convert FilePath list to SelectedFileInfo list.
- for (size_t i = 0; i < file_paths.size(); ++i) {
- auto info = blink::mojom::FileChooserFileInfo::NewNativeFile(
- blink::mojom::NativeFileInfo::New(file_paths[i], base::string16()));
- selected_files.push_back(std::move(info));
- }
+ base_dir = file_paths[0].DirName();
+ }
+
+ // Convert FilePath list to SelectedFileInfo list.
+ for (size_t i = 0; i < file_paths.size(); ++i) {
+ auto info = blink::mojom::FileChooserFileInfo::NewNativeFile(
+ blink::mojom::NativeFileInfo::New(file_paths[i], base::string16()));
+ selected_files.push_back(std::move(info));
}
}
diff --git a/tests/cefclient/resources/dialogs.html b/tests/cefclient/resources/dialogs.html
index 6caf5fd58..fb1321c33 100644
--- a/tests/cefclient/resources/dialogs.html
+++ b/tests/cefclient/resources/dialogs.html
@@ -66,6 +66,7 @@ Click a button to show the associated dialog type.
input type="file":
+
input type="file" (directory):