summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-09-15 13:19:18 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-09-23 20:06:14 +0000
commit31b1e780504b0b0c55ce8443f16805f27e9f54e3 (patch)
tree8c95ef4e4d16e90141b666c7f4434a89ed38d99d
parent404ca475d4ba4c59a22de4c259a884dc70698e97 (diff)
downloadqtwebengine-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.cpp1
-rw-r--r--src/core/render_widget_host_view_qt_delegate_client.cpp22
-rw-r--r--src/core/render_widget_host_view_qt_delegate_client.h1
-rw-r--r--src/core/web_engine_context.cpp2
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp13
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");