summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/webenginequick/quicknanobrowser/BrowserWindow.qml17
-rw-r--r--src/webenginequick/api/qquickwebengineforeigntypes_p.h9
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp6
3 files changed, 28 insertions, 4 deletions
diff --git a/examples/webenginequick/quicknanobrowser/BrowserWindow.qml b/examples/webenginequick/quicknanobrowser/BrowserWindow.qml
index a6cdc9012..968456556 100644
--- a/examples/webenginequick/quicknanobrowser/BrowserWindow.qml
+++ b/examples/webenginequick/quicknanobrowser/BrowserWindow.qml
@@ -49,6 +49,8 @@ ApplicationWindow {
property alias devToolsEnabled: devToolsEnabled.checked
property alias pdfViewerEnabled: pdfViewerEnabled.checked
property int imageAnimationPolicy: WebEngineSettings.ImageAnimationPolicy.Allow
+ property alias javascriptCanAccessClipboard: javascriptCanAccessClipboard.checked
+ property alias javascriptCanPaste: javascriptCanPaste.checked
}
Action {
@@ -380,7 +382,6 @@ ApplicationWindow {
checkable: true
checked: WebEngine.settings.pdfViewerEnabled
}
-
Menu {
id: imageAnimationPolicy
title: "Image Animation Policy"
@@ -419,6 +420,18 @@ ApplicationWindow {
}
}
+ MenuItem {
+ id: javascriptCanAccessClipboard
+ text: "JavaScript can access clipboard"
+ checkable: true
+ checked: WebEngine.settings.javascriptCanAccessClipboard
+ }
+ MenuItem {
+ id: javascriptCanPaste
+ text: "JavaScript can paste"
+ checkable: true
+ checked: WebEngine.settings.javascriptCanPaste
+ }
}
}
}
@@ -581,6 +594,8 @@ ApplicationWindow {
settings.pdfViewerEnabled: appSettings.pdfViewerEnabled
settings.imageAnimationPolicy: appSettings.imageAnimationPolicy
settings.screenCaptureEnabled: true
+ settings.javascriptCanAccessClipboard: appSettings.javascriptCanAccessClipboard
+ settings.javascriptCanPaste: appSettings.javascriptCanPaste
onWindowCloseRequested: function() {
tabBar.removeView(webEngineView.index);
diff --git a/src/webenginequick/api/qquickwebengineforeigntypes_p.h b/src/webenginequick/api/qquickwebengineforeigntypes_p.h
index 58e9a5561..72f6d05d6 100644
--- a/src/webenginequick/api/qquickwebengineforeigntypes_p.h
+++ b/src/webenginequick/api/qquickwebengineforeigntypes_p.h
@@ -33,6 +33,7 @@
#include <QtWebEngineCore/qwebenginefilesystemaccessrequest.h>
#include <QtWebEngineCore/qwebenginewebauthuxrequest.h>
#include <QtWebEngineCore/qwebenginepermission.h>
+#include <QtWebEngineCore/qwebenginedesktopmediarequest.h>
QT_BEGIN_NAMESPACE
@@ -265,6 +266,14 @@ struct ForeignWebEnginePermission
QML_UNCREATABLE("")
};
+struct ForeignWebEngineDesktopMediaRequest
+{
+ Q_GADGET
+ QML_FOREIGN(QWebEngineDesktopMediaRequest)
+ QML_ANONYMOUS
+ QML_ADDED_IN_VERSION(6, 10)
+};
+
QT_END_NAMESPACE
#endif // QQUICKWEBENGINEFOREIGNTYPES_H
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index e76a28aa7..7551230e5 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -1171,7 +1171,7 @@ void tst_QWebEngineView::focusOnNavigation()
#define triggerJavascriptFocus()\
evaluateJavaScriptSync(webView->page(), "document.getElementById(\"input\").focus()");
#define loadAndTriggerFocusAndCompare()\
- QTRY_COMPARE(loadSpy.count(), 1);\
+ QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 1, 10000);\
triggerJavascriptFocus();\
QTRY_COMPARE(webView->hasFocus(), viewReceivedFocus);
@@ -1230,7 +1230,7 @@ void tst_QWebEngineView::focusOnNavigation()
// Manually forcing focus on web view should work.
webView->setFocus();
- QTRY_COMPARE(webView->hasFocus(), true);
+ QTRY_COMPARE_WITH_TIMEOUT(webView->hasFocus(), true, 10000);
// Clean up.
@@ -1460,7 +1460,7 @@ void tst_QWebEngineView::inputMethodsTextFormat()
page.setHtml("<html><body>"
" <input type='text' id='input1' style='font-family: serif' value='' maxlength='20'/>"
"</body></html>");
- QTRY_COMPARE(loadFinishedSpy.size(), 1);
+ QTRY_COMPARE_WITH_TIMEOUT(loadFinishedSpy.size(), 1, 10000);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));