mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Fix folder upload with input type=file webkitdirectory
(fixes issue #2751)
This commit is contained in:
@@ -364,8 +364,9 @@ void CefFileDialogManager::OnRunFileChooserDelegateCallback(
|
|||||||
|
|
||||||
if (!file_paths.empty()) {
|
if (!file_paths.empty()) {
|
||||||
if (mode == blink::mojom::FileChooserParams::Mode::kUploadFolder) {
|
if (mode == blink::mojom::FileChooserParams::Mode::kUploadFolder) {
|
||||||
base_dir = file_paths[0];
|
base_dir = file_paths[0].DirName();
|
||||||
} else {
|
}
|
||||||
|
|
||||||
// Convert FilePath list to SelectedFileInfo list.
|
// Convert FilePath list to SelectedFileInfo list.
|
||||||
for (size_t i = 0; i < file_paths.size(); ++i) {
|
for (size_t i = 0; i < file_paths.size(); ++i) {
|
||||||
auto info = blink::mojom::FileChooserFileInfo::NewNativeFile(
|
auto info = blink::mojom::FileChooserFileInfo::NewNativeFile(
|
||||||
@@ -373,7 +374,6 @@ void CefFileDialogManager::OnRunFileChooserDelegateCallback(
|
|||||||
selected_files.push_back(std::move(info));
|
selected_files.push_back(std::move(info));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
listener->FileSelected(std::move(selected_files), base_dir, mode);
|
listener->FileSelected(std::move(selected_files), base_dir, mode);
|
||||||
|
|
||||||
|
@@ -66,6 +66,7 @@ Click a button to show the associated dialog type.
|
|||||||
<br/><input type="button" onclick="show_confirm();" value="Show Confirm"> <span id="cm"></span>
|
<br/><input type="button" onclick="show_confirm();" value="Show Confirm"> <span id="cm"></span>
|
||||||
<br/><input type="button" onclick="show_prompt();" value="Show Prompt"> <span id="pm"></span>
|
<br/><input type="button" onclick="show_prompt();" value="Show Prompt"> <span id="pm"></span>
|
||||||
<br/>input type="file": <input type="file" name="pic" accept="text/*,.js,.css,image/*">
|
<br/>input type="file": <input type="file" name="pic" accept="text/*,.js,.css,image/*">
|
||||||
|
<br/>input type="file" (directory): <input type="file" webkitdirectory accept="text/*,.js,.css,image/*">
|
||||||
<br/><input type="button" onclick="show_file_dialog('fo', 'FileOpen');" value="Show File Open" disabled="true"> <span id="fo"></span>
|
<br/><input type="button" onclick="show_file_dialog('fo', 'FileOpen');" value="Show File Open" disabled="true"> <span id="fo"></span>
|
||||||
<br/><input type="button" onclick="show_file_dialog('fom', 'FileOpenMultiple');" value="Show File Open Multiple" disabled="true"> <span id="fom"></span>
|
<br/><input type="button" onclick="show_file_dialog('fom', 'FileOpenMultiple');" value="Show File Open Multiple" disabled="true"> <span id="fom"></span>
|
||||||
<br/><input type="button" onclick="show_file_dialog('fof', 'FileOpenFolder');" value="Show File Open Folder" disabled="true"> <span id="fof"></span>
|
<br/><input type="button" onclick="show_file_dialog('fof', 'FileOpenFolder');" value="Show File Open Folder" disabled="true"> <span id="fof"></span>
|
||||||
|
Reference in New Issue
Block a user