From c1b07a71bf594054a014f533153a8d112009c63e Mon Sep 17 00:00:00 2001 From: Szabolcs David Date: Fri, 11 Jun 2021 16:25:20 +0200 Subject: Implement dialogs of File System Access API Dialogs triggered by window.showOpenFilePicker() or window.showDirectoryPicker() needed different implementation than regular file picker dialogs. Since the end-users can't distinguish between HTML file picker dialogs and these file system access dialogs, we can just use the existing file picker WebEngine API and UI delegates. Task-number: QTBUG-92519 Change-Id: Ib1624f80603c4042803303274ba45d864ecb371c Reviewed-by: Allan Sandfeld Jensen (cherry picked from commit 46a2f0f3137dcb46f2752130bbee6438742c27ac) Reviewed-by: Qt Cherry-pick Bot --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'tests') diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index 797aef335..2cb0843db 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -240,6 +240,7 @@ private Q_SLOTS: void testChooseFilesParameters_data(); void testChooseFilesParameters(); + void fileSystemAccessDialog(); private: static QPoint elementCenter(QWebEnginePage *page, const QString &id); @@ -4728,6 +4729,34 @@ void tst_QWebEnginePage::testChooseFilesParameters() QTRY_COMPARE(page.chosenAcceptedMimeTypes, expectedMimeType); } +void tst_QWebEnginePage::fileSystemAccessDialog() +{ + FileSelectionTestPage page; + QSignalSpy spyFinished(&page, &QWebEnginePage::loadFinished); + + QWebEngineView view; + view.resize(500, 500); + view.setPage(&page); + view.show(); + QVERIFY(QTest::qWaitForWindowExposed(&view)); + + page.setHtml(QString("" + "