summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/render_widget_host_view_qt.cpp6
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp6
2 files changed, 7 insertions, 5 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 96cddfb4b..332be89f8 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -1149,11 +1149,7 @@ void RenderWidgetHostViewQt::handleInputMethodEvent(QInputMethodEvent *ev)
if (format.underlineStyle() != QTextCharFormat::NoUnderline)
underlineColor = format.underlineColor();
- QColor backgroundColor(0, 0, 0, 0);
- if (format.background().style() != Qt::NoBrush)
- backgroundColor = format.background().color();
-
- underlines.push_back(blink::WebCompositionUnderline(start, end, toSk(underlineColor), /*thick*/ false, toSk(backgroundColor)));
+ underlines.push_back(blink::WebCompositionUnderline(start, end, toSk(underlineColor), /*thick*/ false, SK_ColorTRANSPARENT));
break;
}
case QInputMethodEvent::Cursor:
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 75795c170..78190622c 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -1012,8 +1012,14 @@ void tst_QWebEngineView::inputMethodsTextFormat()
QTextCharFormat format;
format.setUnderlineStyle(static_cast<QTextCharFormat::UnderlineStyle>(underlineStyle));
format.setUnderlineColor(underlineColor);
+
+ // Setting background color is disabled for Qt WebEngine because some IME manager
+ // sets background color to black and there is no API for setting the foreground color.
+ // This may result black text on black background. However, we still test it to ensure
+ // changing background color doesn't cause any crash.
if (backgroundColor.isValid())
format.setBackground(QBrush(backgroundColor));
+
attrs.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, start, length, format));
QInputMethodEvent im(string, attrs);