From b43774a9b89ed9fe7276b4632ff415bf0b925e41 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Thu, 8 May 2014 14:03:30 +0200 Subject: [Widgets] Tooltip word wrap fixup QTooltip's documentation states that "rich text displayed in a tool tip is implicitly word-wrapped". This seems to be a more desirable behavior for our needs. To mitigate any potential malicious tooltip contents, we escape any eventual html entities, and truncate to a reasonable size. Change-Id: Iae3ea80e7660840aae39d228d1177dcc56f4a032 Reviewed-by: Jocelyn Turcotte --- .../render_widget_host_view_qt_delegate_widget.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 46f531e52..72db8979d 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -50,6 +50,8 @@ #include #include +static const int MaxTooltipLength = 1024; + RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, QWidget *parent) : QOpenGLWidget(parent) , m_client(client) @@ -162,7 +164,10 @@ void RenderWidgetHostViewQtDelegateWidget::inputMethodStateChanged(bool editorVi void RenderWidgetHostViewQtDelegateWidget::setTooltip(const QString &tooltip) { - setToolTip(tooltip); + QString wrappedTip; + if (!tooltip.isEmpty()) + wrappedTip = QStringLiteral("

") % tooltip.toHtmlEscaped().left(MaxTooltipLength) % QStringLiteral("

"); + setToolTip(wrappedTip); } QVariant RenderWidgetHostViewQtDelegateWidget::inputMethodQuery(Qt::InputMethodQuery query) const -- cgit v1.2.3