summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorBalazs Egedi <egedib@inf.u-szeged.hu>2021-05-12 14:11:00 +0200
committerBalazs Egedi <egedib@inf.u-szeged.hu>2021-05-13 11:15:04 +0200
commit8b8cc47aa0707e4e19730119230fafd9cf98f0ba (patch)
treef11e88cd41f50b02bef52d12b0be1eb0dc075f16 /src/core
parentade5679e6de16bfe7bf4d3c56701947b1396b0a3 (diff)
Set enumaration root directory for File.webkitRelativePath API
Fixes: QTBUG-93304 Change-Id: If2f30aab1c6a6eb81cfbad51318ec31adf5e96b6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/file_picker_controller.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/file_picker_controller.cpp b/src/core/file_picker_controller.cpp
index 4b0576465..22c18ec6f 100644
--- a/src/core/file_picker_controller.cpp
+++ b/src/core/file_picker_controller.cpp
@@ -194,9 +194,13 @@ ASSERT_ENUMS_MATCH(FilePickerController::Save, blink::mojom::FileChooserParams_M
void FilePickerController::filesSelectedInChooser(const QStringList &filesList)
{
QStringList files(filesList);
+ base::FilePath baseDir;
if (d_ptr->mode == UploadFolder && !filesList.isEmpty()
- && QFileInfo(filesList.first()).isDir()) // Enumerate the directory
+ && QFileInfo(filesList.first()).isDir()) {
+ // Enumerate the directory
files = listRecursively(QDir(filesList.first()));
+ baseDir = toFilePath(filesList.first());
+ }
std::vector<blink::mojom::FileChooserFileInfoPtr> chooser_files;
for (const auto &file : qAsConst(files)) {
@@ -208,7 +212,7 @@ void FilePickerController::filesSelectedInChooser(const QStringList &filesList)
d_ptr->listener->FileSelectionCanceled();
else
d_ptr->listener->FileSelected(std::move(chooser_files),
- /* FIXME? */ base::FilePath(),
+ baseDir,
static_cast<blink::mojom::FileChooserParams::Mode>(d_ptr->mode));
}