From 9136c16ae640aec8ab393237ce1a1c7f89c8bb1d Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 7 Apr 2020 10:58:38 +0200 Subject: Avoid HTML encodings in default JS QMessageBox'es Escape any HTML encodings, as we have no convenient way to set formating to Qt::PlainText. Fixes: QTBUG-83338 Change-Id: I4d8cb05fe643eb018d3e40119c629e7304fe0813 Reviewed-by: Kirill Burtsev --- src/webenginewidgets/api/qwebenginepage.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 850a29a16..7e02130c9 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -2345,7 +2345,9 @@ void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString & { Q_UNUSED(securityOrigin); #if QT_CONFIG(messagebox) - QMessageBox::information(view(), QStringLiteral("Javascript Alert - %1").arg(url().toString()), msg); + QMessageBox::information(view(), + QStringLiteral("Javascript Alert - %1").arg(url().toString()), + msg.toHtmlEscaped()); #else Q_UNUSED(msg); #endif // QT_CONFIG(messagebox) @@ -2355,7 +2357,11 @@ bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString { Q_UNUSED(securityOrigin); #if QT_CONFIG(messagebox) - return (QMessageBox::information(view(), QStringLiteral("Javascript Confirm - %1").arg(url().toString()), msg, QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok); + return (QMessageBox::information(view(), + QStringLiteral("Javascript Confirm - %1").arg(url().toString()), + msg.toHtmlEscaped(), + QMessageBox::Ok, + QMessageBox::Cancel) == QMessageBox::Ok); #else Q_UNUSED(msg); return false; @@ -2368,7 +2374,12 @@ bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString #if QT_CONFIG(inputdialog) bool ret = false; if (result) - *result = QInputDialog::getText(view(), QStringLiteral("Javascript Prompt - %1").arg(url().toString()), msg, QLineEdit::Normal, defaultValue, &ret); + *result = QInputDialog::getText(view(), + QStringLiteral("Javascript Prompt - %1").arg(url().toString()), + msg.toHtmlEscaped(), + QLineEdit::Normal, + defaultValue.toHtmlEscaped(), + &ret); return ret; #else Q_UNUSED(msg); -- cgit v1.2.3