diff options
| author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-09-15 13:19:18 +0200 |
|---|---|---|
| committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-09-23 20:06:14 +0000 |
| commit | 31b1e780504b0b0c55ce8443f16805f27e9f54e3 (patch) | |
| tree | 8c95ef4e4d16e90141b666c7f4434a89ed38d99d | |
| parent | 404ca475d4ba4c59a22de4c259a884dc70698e97 (diff) | |
| download | qtwebengine-31b1e780504b0b0c55ce8443f16805f27e9f54e3.tar.gz | |
Remove our handling of IME hidden text support
QtBase should be disabling it now, if not supported.
Change-Id: I79bae11764d3cbaba1ae1e0987bf0a472eee3325
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 89814a321dfeb3ef161a8bb85539a4614ec279ff)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| -rw-r--r-- | src/core/compositor/compositor_resource_fence.cpp | 1 | ||||
| -rw-r--r-- | src/core/render_widget_host_view_qt_delegate_client.cpp | 22 | ||||
| -rw-r--r-- | src/core/render_widget_host_view_qt_delegate_client.h | 1 | ||||
| -rw-r--r-- | src/core/web_engine_context.cpp | 2 | ||||
| -rw-r--r-- | tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp | 13 |
5 files changed, 12 insertions, 27 deletions
diff --git a/src/core/compositor/compositor_resource_fence.cpp b/src/core/compositor/compositor_resource_fence.cpp index 42528469d..d03e260d6 100644 --- a/src/core/compositor/compositor_resource_fence.cpp +++ b/src/core/compositor/compositor_resource_fence.cpp @@ -41,7 +41,6 @@ #include "ozone/gl_surface_qt.h" #include "ui/gl/gl_context.h" -#include <QtGui/private/qtguiglobal_p.h> #include <QtGui/qopenglcontext.h> #ifndef GL_TIMEOUT_IGNORED diff --git a/src/core/render_widget_host_view_qt_delegate_client.cpp b/src/core/render_widget_host_view_qt_delegate_client.cpp index 0f218ab6c..01691fd8b 100644 --- a/src/core/render_widget_host_view_qt_delegate_client.cpp +++ b/src/core/render_widget_host_view_qt_delegate_client.cpp @@ -58,9 +58,7 @@ #include <QTextFormat> #include <QVariant> -#include <private/qguiapplication_p.h> -#include <qpa/qplatforminputcontext.h> -#include <qpa/qplatformintegration.h> +#include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qinputcontrol_p.h> namespace QtWebEngineCore { @@ -202,11 +200,6 @@ RenderWidgetHostViewQtDelegateClient::RenderWidgetHostViewQtDelegateClient( : m_rwhv(rwhv) { Q_ASSERT(rwhv); - - const QPlatformInputContext *context = - QGuiApplicationPrivate::platformIntegration()->inputContext(); - m_imeHasHiddenTextCapability = - context && context->hasCapability(QPlatformInputContext::HiddenTextCapability); } Compositor::Id RenderWidgetHostViewQtDelegateClient::compositorId() @@ -365,17 +358,8 @@ bool RenderWidgetHostViewQtDelegateClient::forwardEvent(QEvent *event) QVariant RenderWidgetHostViewQtDelegateClient::inputMethodQuery(Qt::InputMethodQuery query) { switch (query) { - case Qt::ImEnabled: { - ui::TextInputType type = m_rwhv->getTextInputType(); - bool editorVisible = type != ui::TEXT_INPUT_TYPE_NONE; - // IME manager should disable composition on input fields with ImhHiddenText hint if - // supported - if (m_imeHasHiddenTextCapability) - return QVariant(editorVisible); - - bool passwordInput = type == ui::TEXT_INPUT_TYPE_PASSWORD; - return QVariant(editorVisible && !passwordInput); - } + case Qt::ImEnabled: + return QVariant(m_rwhv->getTextInputType() != ui::TEXT_INPUT_TYPE_NONE); case Qt::ImFont: // TODO: Implement this return QVariant(); diff --git a/src/core/render_widget_host_view_qt_delegate_client.h b/src/core/render_widget_host_view_qt_delegate_client.h index 4ba5da227..c56acfcfe 100644 --- a/src/core/render_widget_host_view_qt_delegate_client.h +++ b/src/core/render_widget_host_view_qt_delegate_client.h @@ -131,7 +131,6 @@ private: RenderWidgetHostViewQt *m_rwhv; // Mouse - bool m_imeHasHiddenTextCapability; uint m_mouseButtonPressed = 0; QPoint m_previousMousePosition; MultipleMouseClickHelper m_clickHelper; diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index 24df73bc8..2f36184fe 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -170,7 +170,7 @@ static bool usingDefaultSGBackend() const QStringList args = QGuiApplication::arguments(); - //folow logic from contextFactory in src/quick/scenegraph/qsgcontextplugin.cpp + // follow the logic from contextFactory in src/quick/scenegraph/qsgcontextplugin.cpp QString device = QQuickWindow::sceneGraphBackend(); for (int index = 0; index < args.count(); ++index) { diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp index dc7f34983..d589ba311 100644 --- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp +++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp @@ -491,8 +491,8 @@ void tst_QWebEngineView::microFocusCoordinates() void tst_QWebEngineView::focusInputTypes() { - const QPlatformInputContext *context = QGuiApplicationPrivate::platformIntegration()->inputContext(); - bool imeHasHiddenTextCapability = context && context->hasCapability(QPlatformInputContext::HiddenTextCapability); + const QPlatformInputContext *platformInputContext = QGuiApplicationPrivate::platformIntegration()->inputContext(); + bool imeHasHiddenTextCapability = platformInputContext && platformInputContext->hasCapability(QPlatformInputContext::HiddenTextCapability); QWebEngineView webView; webView.resize(640, 480); @@ -523,7 +523,8 @@ void tst_QWebEngineView::focusInputTypes() QTRY_COMPARE(evaluateJavaScriptSync(webView.page(), "document.activeElement.id").toString(), QStringLiteral("passwordInput")); VERIFY_INPUTMETHOD_HINTS(webView.focusProxy()->inputMethodHints(), (Qt::ImhSensitiveData | Qt::ImhNoPredictiveText | Qt::ImhNoAutoUppercase | Qt::ImhHiddenText)); QVERIFY(!webView.focusProxy()->testAttribute(Qt::WA_InputMethodEnabled)); - QTRY_COMPARE(inputMethodQuery(Qt::ImEnabled).toBool(), imeHasHiddenTextCapability); + QTRY_VERIFY(inputMethodQuery(Qt::ImEnabled).toBool()); + QTRY_COMPARE(platformInputContext->inputMethodAccepted(), imeHasHiddenTextCapability); // 'tel' field QPoint telInputCenter = elementCenter(webView.page(), "telInput"); @@ -562,7 +563,8 @@ void tst_QWebEngineView::focusInputTypes() QTRY_COMPARE(evaluateJavaScriptSync(webView.page(), "document.activeElement.id").toString(), QStringLiteral("passwordInput")); VERIFY_INPUTMETHOD_HINTS(webView.focusProxy()->inputMethodHints(), (Qt::ImhSensitiveData | Qt::ImhNoPredictiveText | Qt::ImhNoAutoUppercase | Qt::ImhHiddenText)); QVERIFY(!webView.focusProxy()->testAttribute(Qt::WA_InputMethodEnabled)); - QTRY_COMPARE(inputMethodQuery(Qt::ImEnabled).toBool(), imeHasHiddenTextCapability); + QTRY_VERIFY(inputMethodQuery(Qt::ImEnabled).toBool()); + QTRY_COMPARE(platformInputContext->inputMethodAccepted(), imeHasHiddenTextCapability); // 'text' type QTest::mouseClick(webView.focusProxy(), Qt::LeftButton, {}, textInputCenter); @@ -576,7 +578,8 @@ void tst_QWebEngineView::focusInputTypes() QTRY_COMPARE(evaluateJavaScriptSync(webView.page(), "document.activeElement.id").toString(), QStringLiteral("passwordInput")); VERIFY_INPUTMETHOD_HINTS(webView.focusProxy()->inputMethodHints(), (Qt::ImhSensitiveData | Qt::ImhNoPredictiveText | Qt::ImhNoAutoUppercase | Qt::ImhHiddenText)); QVERIFY(!webView.focusProxy()->testAttribute(Qt::WA_InputMethodEnabled)); - QTRY_COMPARE(inputMethodQuery(Qt::ImEnabled).toBool(), imeHasHiddenTextCapability); + QTRY_VERIFY(inputMethodQuery(Qt::ImEnabled).toBool()); + QTRY_COMPARE(platformInputContext->inputMethodAccepted(), imeHasHiddenTextCapability); // 'text area' field QPoint textAreaCenter = elementCenter(webView.page(), "textArea"); |
