summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/qwebenginepage
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2016-12-19 16:16:53 +0100
committerPeter Varga <pvarga@inf.u-szeged.hu>2017-01-18 13:55:38 +0000
commit4634c2467875e44a5cae5bc1ce015ca7a8115682 (patch)
tree7214e3e43991b3d620a3802628c409f5f26d198b /tests/auto/widgets/qwebenginepage
parent2ccbb8d7a22056cc0ba5c496e5f33536df437ca5 (diff)
Add back SIP (Software Input Panel) widget test
Moreover, update the Chromium SHA1 for enabling virtual keyboard support for macOS. Task-number: QTBUG-55766 Change-Id: Ic50ae79ab13a62a4b9289afedce2d6647e266f86 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/widgets/qwebenginepage')
-rw-r--r--tests/auto/widgets/qwebenginepage/qwebenginepage.pro2
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp79
2 files changed, 2 insertions, 79 deletions
diff --git a/tests/auto/widgets/qwebenginepage/qwebenginepage.pro b/tests/auto/widgets/qwebenginepage/qwebenginepage.pro
index df733c473..6446cdd7a 100644
--- a/tests/auto/widgets/qwebenginepage/qwebenginepage.pro
+++ b/tests/auto/widgets/qwebenginepage/qwebenginepage.pro
@@ -1,4 +1,4 @@
include(../tests.pri)
-QT *= core-private gui-private
+QT *= core-private
contains(WEBENGINE_CONFIG, enable_pdf): DEFINES+=QWEBENGINEPAGE_PDFPRINTINGENABLED
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index 821ab4757..059b20d4c 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -32,17 +32,15 @@
#include <QOpenGLWidget>
#include <QPaintEngine>
#include <QPushButton>
+#include <QScreen>
#include <QStateMachine>
-#include <QStyle>
#include <QtGui/QClipboard>
#include <QtTest/QtTest>
#include <QTextCharFormat>
#include <QWebChannel>
-#include <private/qinputmethod_p.h>
#include <qnetworkcookiejar.h>
#include <qnetworkreply.h>
#include <qnetworkrequest.h>
-#include <qpa/qplatforminputcontext.h>
#include <qwebenginedownloaditem.h>
#include <qwebenginefullscreenrequest.h>
#include <qwebenginehistory.h>
@@ -66,38 +64,6 @@ static void removeRecursive(const QString& dirname)
QDir().rmdir(dirname);
}
-class TestInputContext : public QPlatformInputContext
-{
-public:
- TestInputContext()
- : m_visible(false)
- {
- QInputMethodPrivate* inputMethodPrivate = QInputMethodPrivate::get(qApp->inputMethod());
- inputMethodPrivate->testContext = this;
- }
-
- ~TestInputContext()
- {
- QInputMethodPrivate* inputMethodPrivate = QInputMethodPrivate::get(qApp->inputMethod());
- inputMethodPrivate->testContext = 0;
- }
-
- virtual void showInputPanel()
- {
- m_visible = true;
- }
- virtual void hideInputPanel()
- {
- m_visible = false;
- }
- virtual bool isInputPanelVisible() const
- {
- return m_visible;
- }
-
- bool m_visible;
-};
-
class tst_QWebEnginePage : public QObject
{
Q_OBJECT
@@ -1741,32 +1707,6 @@ void tst_QWebEnginePage::inputMethods()
clickOnPage(page, textInputCenter);
- // This part of the test checks if the SIP (Software Input Panel) is triggered,
- // which normally happens on mobile platforms, when a user input form receives
- // a mouse click.
- int inputPanel = 0;
- if (viewType == "QWebEngineView") {
- if (QWebEngineView* wv = qobject_cast<QWebEngineView*>(view))
- inputPanel = wv->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel);
- } else if (viewType == "QGraphicsWebView") {
- if (QGraphicsWebView* wv = qobject_cast<QGraphicsWebView*>(view))
- inputPanel = wv->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel);
- }
-
- // For non-mobile platforms RequestSoftwareInputPanel event is not called
- // because there is no SIP (Software Input Panel) triggered. In the case of a
- // mobile platform, an input panel, e.g. virtual keyboard, is usually invoked
- // and the RequestSoftwareInputPanel event is called. For these two situations
- // this part of the test can verified as the checks below.
- if (inputPanel)
- QVERIFY(testContext.isInputPanelVisible());
- else
- QVERIFY(!testContext.isInputPanelVisible());
- testContext.hideInputPanel();
-
- clickOnPage(page, textInputCenter);
- QVERIFY(testContext.isInputPanelVisible());
-
//ImMicroFocus
QVariant variant = page->inputMethodQuery(Qt::ImMicroFocus);
QVERIFY(inputs.at(0).geometry().contains(variant.toRect().topLeft()));
@@ -1970,14 +1910,6 @@ void tst_QWebEnginePage::inputMethods()
clickOnPage(page, textInputCenter);
QVERIFY(!(inputMethodHints(view) & Qt::ImhHiddenText));
- page->setHtml("<html><body><p>nothing to input here");
- testContext.hideInputPanel();
-
- QWebEngineElement para = page->mainFrame()->findFirstElement("p");
- clickOnPage(page, para.geometry().center());
-
- QVERIFY(!testContext.isInputPanelVisible());
-
//START - Test for sending empty QInputMethodEvent
page->setHtml("<html><body>" \
"<input type='text' id='input3' value='QtWebEngine2'/>" \
@@ -2300,15 +2232,6 @@ void tst_QWebEnginePage::inputMethods()
anchorPosition = variant.toInt();
QCOMPARE(anchorPosition, 12);
- // Check sending RequestSoftwareInputPanel event
- page->setHtml("<html><body>" \
- "<input type='text' id='input5' value='QtWebEngine inputMethod'/>" \
- "<div id='btnDiv' onclick='i=document.getElementById(&quot;input5&quot;); i.focus();'>abc</div>"\
- "</body></html>");
- QWebEngineElement inputElement = page->mainFrame()->findFirstElement("div");
- clickOnPage(page, inputElement.geometry().center());
-
- QVERIFY(!testContext.isInputPanelVisible());
// START - Newline test for textarea
qApp->processEvents();