summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebenginetestsupport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/api/qquickwebenginetestsupport.cpp')
-rw-r--r--src/webengine/api/qquickwebenginetestsupport.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginetestsupport.cpp b/src/webengine/api/qquickwebenginetestsupport.cpp
index d85e56e59..0bb16ae14 100644
--- a/src/webengine/api/qquickwebenginetestsupport.cpp
+++ b/src/webengine/api/qquickwebenginetestsupport.cpp
@@ -39,6 +39,34 @@
#include "qquickwebengineloadrequest_p.h"
QT_BEGIN_NAMESPACE
+using namespace QtWebEngineCore;
+
+QQuickWebEngineJavaScriptDialog::QQuickWebEngineJavaScriptDialog(QSharedPointer<JavaScriptDialogController> controller)
+{
+ m_dialogController = controller;
+}
+
+QString QQuickWebEngineJavaScriptDialog::message() const
+{
+ return m_dialogController->message();
+}
+
+QString QQuickWebEngineJavaScriptDialog::defaultValue() const
+{
+ return m_dialogController->defaultPrompt();
+}
+
+void QQuickWebEngineJavaScriptDialog::reject()
+{
+ QMetaObject::invokeMethod(m_dialogController.data(), "reject");
+}
+
+void QQuickWebEngineJavaScriptDialog::accept(const QString &input)
+{
+ if (!input.isNull())
+ QMetaObject::invokeMethod(m_dialogController.data(), "textProvided", Q_ARG(QString, input));
+ QMetaObject::invokeMethod(m_dialogController.data(), "accept");
+}
QQuickWebEngineErrorPage::QQuickWebEngineErrorPage()
{
@@ -70,6 +98,28 @@ QQuickWebEngineErrorPage *QQuickWebEngineTestSupport::errorPage() const
return m_errorPage.data();
}
+void QQuickWebEngineTestSupport::testDialog(QSharedPointer<JavaScriptDialogController> dialogController)
+{
+ Q_ASSERT(!dialogController.isNull());
+
+ QQuickWebEngineJavaScriptDialog dialog(dialogController);
+ switch (dialogController->type()) {
+ case WebContentsAdapterClient::AlertDialog:
+ Q_EMIT alertDialog(&dialog);
+ break;
+ case WebContentsAdapterClient::ConfirmDialog:
+ Q_EMIT confirmDialog(&dialog);
+ break;
+ case WebContentsAdapterClient::PromptDialog:
+ Q_EMIT promptDialog(&dialog);
+ break;
+ case WebContentsAdapterClient::InternalAuthorizationDialog:
+ break;
+ default:
+ Q_UNREACHABLE();
+ }
+}
+
QT_END_NAMESPACE
#include "moc_qquickwebenginetestsupport_p.cpp"