summaryrefslogtreecommitdiff
path: root/lib/widgets/Api/qwebenginepage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/Api/qwebenginepage.cpp')
-rw-r--r--lib/widgets/Api/qwebenginepage.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/widgets/Api/qwebenginepage.cpp b/lib/widgets/Api/qwebenginepage.cpp
index b956a8785..a11272a0d 100644
--- a/lib/widgets/Api/qwebenginepage.cpp
+++ b/lib/widgets/Api/qwebenginepage.cpp
@@ -34,8 +34,10 @@
#include <QApplication>
#include <QClipboard>
#include <QIcon>
+#include <QInputDialog>
#include <QLayout>
#include <QMenu>
+#include <QMessageBox>
#include <QUrl>
QT_BEGIN_NAMESPACE
@@ -306,6 +308,22 @@ bool QWebEnginePagePrivate::contextMenuRequested(const WebEngineContextMenuData
return true;
}
+bool QWebEnginePagePrivate::javascriptDialog(JavascriptDialogType type, const QString &message, const QString &defaultValue, QString *result)
+{
+ Q_Q(QWebEnginePage);
+ switch (type) {
+ case AlertDialog:
+ q->javaScriptAlert(0, message);
+ return true;
+ case ConfirmDialog:
+ return q->javaScriptConfirm(0, message);
+ case PromptDialog:
+ return q->javaScriptPrompt(0, message, defaultValue, result);
+ }
+ Q_UNREACHABLE();
+ return false;
+}
+
QMenu *QWebEnginePage::createStandardContextMenu()
{
Q_D(QWebEnginePage);
@@ -391,6 +409,26 @@ QWebEnginePage *QWebEnginePage::createWindow(WebWindowType type)
return 0;
}
+void QWebEnginePage::javaScriptAlert(QWebEngineFrame *originatingFrame, const QString &msg)
+{
+ Q_UNUSED(originatingFrame);
+ QMessageBox::information(view(), QStringLiteral("Javascript Alert - %1").arg(url().toString()), msg);
+}
+
+bool QWebEnginePage::javaScriptConfirm(QWebEngineFrame *originatingFrame, const QString &msg)
+{
+ Q_UNUSED(originatingFrame);
+ return (QMessageBox::information(view(), QStringLiteral("Javascript Confirm - %1").arg(url().toString()), msg, QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok);
+}
+
+bool QWebEnginePage::javaScriptPrompt(QWebEngineFrame *originatingFrame, const QString &msg, const QString &defaultValue, QString *result)
+{
+ Q_UNUSED(originatingFrame);
+ bool ret = false;
+ if (result)
+ *result = QInputDialog::getText(view(), QStringLiteral("Javascript Prompt - %1").arg(url().toString()), msg, QLineEdit::Normal, defaultValue, &ret);
+ return ret;
+}
QT_END_NAMESPACE
#include "moc_qwebenginepage.cpp"