diff options
Diffstat (limited to 'lib/widgets/Api/qwebenginepage.cpp')
-rw-r--r-- | lib/widgets/Api/qwebenginepage.cpp | 38 |
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" |