diff options
author | Pierre Rossi <pierre.rossi@theqtcompany.com> | 2015-03-20 12:03:09 +0100 |
---|---|---|
committer | Pierre Rossi <pierre.rossi@theqtcompany.com> | 2015-03-20 14:20:41 +0000 |
commit | a2f1431eb25596931e6da97df2c48a9df3f94942 (patch) | |
tree | be7774a669bb874a8f36e8878dfecce0e42c62ee /src/webengine | |
parent | aaa2ecff7e52a52ccd2e9c9c71a7703222341318 (diff) |
Introduce mock UIDelegates for testing.
Switch JS dialogs test to using this over the testsupport
plugin.
This is a less intrusive approach that lives as self contained qml
modules within the test infrastructure. As an added benefit, it
covers the UI delegation logic from end to end, including what
happens in ui_delegates_manager.cpp.
Change-Id: I1cc0afaf5514d53e1f3b4b0682379dd2d8d8a913
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/webengine')
-rw-r--r-- | src/webengine/api/qquickwebenginetestsupport.cpp | 50 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginetestsupport_p.h | 25 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 6 | ||||
-rw-r--r-- | src/webengine/plugin/testsupport/plugin.cpp | 2 |
4 files changed, 0 insertions, 83 deletions
diff --git a/src/webengine/api/qquickwebenginetestsupport.cpp b/src/webengine/api/qquickwebenginetestsupport.cpp index 0bb16ae14..d85e56e59 100644 --- a/src/webengine/api/qquickwebenginetestsupport.cpp +++ b/src/webengine/api/qquickwebenginetestsupport.cpp @@ -39,34 +39,6 @@ #include "qquickwebengineloadrequest_p.h" QT_BEGIN_NAMESPACE -using namespace QtWebEngineCore; - -QQuickWebEngineJavaScriptDialog::QQuickWebEngineJavaScriptDialog(QSharedPointer<JavaScriptDialogController> controller) -{ - m_dialogController = controller; -} - -QString QQuickWebEngineJavaScriptDialog::message() const -{ - return m_dialogController->message(); -} - -QString QQuickWebEngineJavaScriptDialog::defaultValue() const -{ - return m_dialogController->defaultPrompt(); -} - -void QQuickWebEngineJavaScriptDialog::reject() -{ - QMetaObject::invokeMethod(m_dialogController.data(), "reject"); -} - -void QQuickWebEngineJavaScriptDialog::accept(const QString &input) -{ - if (!input.isNull()) - QMetaObject::invokeMethod(m_dialogController.data(), "textProvided", Q_ARG(QString, input)); - QMetaObject::invokeMethod(m_dialogController.data(), "accept"); -} QQuickWebEngineErrorPage::QQuickWebEngineErrorPage() { @@ -98,28 +70,6 @@ QQuickWebEngineErrorPage *QQuickWebEngineTestSupport::errorPage() const return m_errorPage.data(); } -void QQuickWebEngineTestSupport::testDialog(QSharedPointer<JavaScriptDialogController> dialogController) -{ - Q_ASSERT(!dialogController.isNull()); - - QQuickWebEngineJavaScriptDialog dialog(dialogController); - switch (dialogController->type()) { - case WebContentsAdapterClient::AlertDialog: - Q_EMIT alertDialog(&dialog); - break; - case WebContentsAdapterClient::ConfirmDialog: - Q_EMIT confirmDialog(&dialog); - break; - case WebContentsAdapterClient::PromptDialog: - Q_EMIT promptDialog(&dialog); - break; - case WebContentsAdapterClient::InternalAuthorizationDialog: - break; - default: - Q_UNREACHABLE(); - } -} - QT_END_NAMESPACE #include "moc_qquickwebenginetestsupport_p.cpp" diff --git a/src/webengine/api/qquickwebenginetestsupport_p.h b/src/webengine/api/qquickwebenginetestsupport_p.h index 06950e416..832ac2803 100644 --- a/src/webengine/api/qquickwebenginetestsupport_p.h +++ b/src/webengine/api/qquickwebenginetestsupport_p.h @@ -39,7 +39,6 @@ #include <private/qtwebengineglobal_p.h> -#include "javascript_dialog_controller.h" #include <QObject> #include <QUrl> @@ -47,24 +46,6 @@ QT_BEGIN_NAMESPACE class QQuickWebEngineLoadRequest; -class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineJavaScriptDialog : public QObject { - Q_OBJECT - Q_PROPERTY(QString message READ message CONSTANT) - Q_PROPERTY(QString defaultValue READ defaultValue CONSTANT) - -public: - QQuickWebEngineJavaScriptDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController>); - QString message() const; - QString defaultValue() const; - -public Q_SLOTS: - void reject(); - void accept(const QString &input = QString()); - -private: - QSharedPointer<QtWebEngineCore::JavaScriptDialogController> m_dialogController; -}; - class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineErrorPage : public QObject { Q_OBJECT @@ -85,12 +66,6 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineTestSupport : public QObject { public: QQuickWebEngineTestSupport(); QQuickWebEngineErrorPage *errorPage() const; - void testDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController> dialog); - -Q_SIGNALS: - void alertDialog(QQuickWebEngineJavaScriptDialog *dialog); - void confirmDialog(QQuickWebEngineJavaScriptDialog *dialog); - void promptDialog(QQuickWebEngineJavaScriptDialog *dialog); private: QScopedPointer<QQuickWebEngineErrorPage> m_errorPage; diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 72ccb128a..bbab3a66f 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -229,12 +229,6 @@ void QQuickWebEngineViewPrivate::navigationRequested(int navigationType, const Q void QQuickWebEngineViewPrivate::javascriptDialog(QSharedPointer<JavaScriptDialogController> dialog) { -#ifdef ENABLE_QML_TESTSUPPORT_API - if (m_testSupport) { - m_testSupport->testDialog(dialog); - return; - } -#endif ui()->showDialog(dialog); } diff --git a/src/webengine/plugin/testsupport/plugin.cpp b/src/webengine/plugin/testsupport/plugin.cpp index 667ffffd6..60e56062c 100644 --- a/src/webengine/plugin/testsupport/plugin.cpp +++ b/src/webengine/plugin/testsupport/plugin.cpp @@ -55,8 +55,6 @@ public: qmlRegisterType<QQuickWebEngineTestSupport>(uri, 1, 0, "WebEngineTestSupport"); qmlRegisterUncreatableType<QQuickWebEngineErrorPage>(uri, 1, 0, "WebEngineErrorPage", QObject::tr("Cannot create a separate instance of WebEngineErrorPage")); - qmlRegisterUncreatableType<QQuickWebEngineJavaScriptDialog>(uri, 1, 0, "WebEngineJavaScriptDialog", - QObject::tr("Cannot create a separate instance of WebEngineJavaScriptDialog")); } }; |