diff options
Diffstat (limited to 'src/webengine/plugin/plugin.cpp')
-rw-r--r-- | src/webengine/plugin/plugin.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/webengine/plugin/plugin.cpp b/src/webengine/plugin/plugin.cpp index 2408e5c8e..811f85dde 100644 --- a/src/webengine/plugin/plugin.cpp +++ b/src/webengine/plugin/plugin.cpp @@ -41,12 +41,17 @@ #include <QtQml/qqmlextensionplugin.h> +#include "qtwebengineversion.h" #include "qquickwebengineview_p.h" #include "qquickwebengineloadrequest_p.h" #include "qquickwebenginenewviewrequest_p.h" QT_BEGIN_NAMESPACE +class QQuickWebEngineVersionBumper : public QObject { + Q_OBJECT +}; + class QtWebEnginePlugin : public QQmlExtensionPlugin { Q_OBJECT @@ -56,9 +61,17 @@ public: { Q_ASSERT(QLatin1String(uri) == QLatin1String("QtWebEngine")); - qmlRegisterType<QQuickWebEngineView>(uri, 1, 0, "WebEngineView"); - qmlRegisterUncreatableType<QQuickWebEngineLoadRequest>(uri, 1, 0, "WebEngineLoadRequest", QObject::tr("Cannot create separate instance of WebEngineLoadRequest")); - qmlRegisterUncreatableType<QQuickWebEngineNewViewRequest>(uri, 1, 0, "WebEngineNewViewRequest", QObject::tr("Cannot create separate instance of WebEngineNewViewRequest")); + qmlRegisterType<QQuickWebEngineView>(uri, 0, 9, "WebEngineView"); + qmlRegisterUncreatableType<QQuickWebEngineLoadRequest>(uri, 0, 9, "WebEngineLoadRequest", QObject::tr("Cannot create separate instance of WebEngineLoadRequest")); + qmlRegisterUncreatableType<QQuickWebEngineNewViewRequest>(uri, 0, 9, "WebEngineNewViewRequest", QObject::tr("Cannot create separate instance of WebEngineNewViewRequest")); + + // The QML type loader relies on the minimum and maximum minor version of registered types + // to validate imports. We want to tie our import version to the module version, so register + // a dummy type in order to allow importing the latest version even if it didn't include + // an API update that would appear here in a registered type. + int major = QTWEBENGINE_VERSION >> 16; + int minor = QTWEBENGINE_VERSION >> 8; + qmlRegisterUncreatableType<QQuickWebEngineVersionBumper>(uri, major, minor, "WebEngineVersionBumper", QObject::tr("This is a dummy type and cannot be created.")); } }; |