diff options
| author | Michal Klocek <michal.klocek@qt.io> | 2025-09-01 14:14:21 +0200 |
|---|---|---|
| committer | Michal Klocek <michal.klocek@qt.io> | 2025-10-30 12:15:19 +0100 |
| commit | ab20d0c1827b53394bcf53dc925e3ae9708fc491 (patch) | |
| tree | bbc44eebc7f3a0ebdb0e3c3e4fea6a8adf1bf4b4 | |
| parent | 37315e6097c99719ca3a3f0a2ee4e64074a4ecc1 (diff) | |
Minor. Clean up qquickwebengineforeigntypes
Go through all foreign registered types and
cleanup the code.
Divide file into two sections:
* qml object types
* qml value type
Use proper QML_VALUE_TYPE macro for registration,
Add CREATE_DERIVED_FREIGN_NAMESPACE macro.
Remove QML_UNCREATABLE as all value types should
be default constructable.
Note Fixes for QWebEngineDesktopMediaRequest are done
in separete commit.
Pick-to: 6.10
Change-Id: I0dfbcffc28d58c7cf46b7b7805e4ff0623f17f42
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
| -rw-r--r-- | src/webenginequick/api/qquickwebengineforeigntypes_p.h | 231 |
1 files changed, 110 insertions, 121 deletions
diff --git a/src/webenginequick/api/qquickwebengineforeigntypes_p.h b/src/webenginequick/api/qquickwebengineforeigntypes_p.h index 0b370868f..87f6c6982 100644 --- a/src/webenginequick/api/qquickwebengineforeigntypes_p.h +++ b/src/webenginequick/api/qquickwebengineforeigntypes_p.h @@ -46,11 +46,105 @@ QT_BEGIN_NAMESPACE // To prevent the same type from being exported twice into qmltypes // (for value type and for the enums) -struct QWebEngineLoadingInfoDerived : public QWebEngineLoadingInfo +#define CREATE_DERIVED_FOREIGN_NAMESPACE(TYPE) \ + struct TYPE##Derived : public TYPE \ + { \ + Q_GADGET \ + }; + +// QML object types + +struct ForeignWebEngineHistory +{ + Q_GADGET + QML_FOREIGN(QWebEngineHistory) + QML_NAMED_ELEMENT(WebEngineHistory) + QML_ADDED_IN_VERSION(1, 1) + QML_EXTRA_VERSION(2, 0) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineHistoryModel +{ + Q_GADGET + QML_FOREIGN(QWebEngineHistoryModel) + QML_NAMED_ELEMENT(WebEngineHistoryModel) + QML_ADDED_IN_VERSION(1, 1) + QML_EXTRA_VERSION(2, 0) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineNavigationRequest +{ + Q_GADGET + QML_FOREIGN(QWebEngineNavigationRequest) + QML_NAMED_ELEMENT(WebEngineNavigationRequest) + QML_ADDED_IN_VERSION(1, 0) + QML_EXTRA_VERSION(2, 0) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineContextMenuRequest +{ + Q_GADGET + QML_FOREIGN(QWebEngineContextMenuRequest) + QML_NAMED_ELEMENT(ContextMenuRequest) + QML_ADDED_IN_VERSION(1, 7) + QML_EXTRA_VERSION(2, 0) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineNotification +{ + Q_GADGET + QML_FOREIGN(QWebEngineNotification) + QML_NAMED_ELEMENT(WebEngineNotification) + QML_ADDED_IN_VERSION(1, 9) + QML_EXTRA_VERSION(2, 0) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineWebAuthUxRequest +{ + Q_GADGET + QML_FOREIGN(QWebEngineWebAuthUxRequest) + QML_NAMED_ELEMENT(WebEngineWebAuthUxRequest) + QML_ADDED_IN_VERSION(6, 7) + QML_UNCREATABLE("") +}; + +struct ForeignWebEngineDesktopMediaRequest { Q_GADGET + QML_FOREIGN(QWebEngineDesktopMediaRequest) + QML_ANONYMOUS + QML_ADDED_IN_VERSION(6, 10) +}; + +struct ForeignWebEngineClientHints : public QObject +{ + Q_OBJECT + QML_FOREIGN(QWebEngineClientHints) + QML_NAMED_ELEMENT(WebEngineClientHints) + QML_ADDED_IN_VERSION(6, 8) + QML_UNCREATABLE("") }; +#if QT_CONFIG(webengine_extensions) +struct ForeignWebEngineExtensionManager +{ + Q_GADGET + QML_NAMED_ELEMENT(WebEngineExtensionManager) + QML_FOREIGN(QWebEngineExtensionManager) + QML_ADDED_IN_VERSION(6, 10) + QML_UNCREATABLE("") +}; +#endif + +// QML value types + +CREATE_DERIVED_FOREIGN_NAMESPACE(QWebEngineLoadingInfo) + namespace ForeignWebEngineLoadingInfoNamespace { Q_NAMESPACE @@ -64,18 +158,12 @@ struct ForeignWebEngineLoadingInfo { Q_GADGET QML_FOREIGN(QWebEngineLoadingInfo) - QML_NAMED_ELEMENT(webEngineLoadingInfo) + QML_VALUE_TYPE(webEngineLoadingInfo) QML_ADDED_IN_VERSION(1, 1) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; -// To prevent the same type from being exported twice into qmltypes -// (for value type and for the enums) -struct QWebEngineCertificateErrorDerived : public QWebEngineCertificateError -{ - Q_GADGET -}; +CREATE_DERIVED_FOREIGN_NAMESPACE(QWebEngineCertificateError) namespace ForeignWebEngineCertificateErrorNamespace { @@ -90,26 +178,17 @@ struct ForeignWebEngineCertificateError { Q_GADGET QML_FOREIGN(QWebEngineCertificateError) - QML_NAMED_ELEMENT(webEngineCertificateError) + QML_VALUE_TYPE(webEngineCertificateError) QML_ADDED_IN_VERSION(1, 1) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; -struct ForeignWebEngineNavigationRequest -{ - Q_GADGET - QML_FOREIGN(QWebEngineNavigationRequest) - QML_NAMED_ELEMENT(WebEngineNavigationRequest) - QML_ADDED_IN_VERSION(1, 0) - QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") -}; +CREATE_DERIVED_FOREIGN_NAMESPACE(QWebEngineScript) namespace ForeignWebEngineScriptNamespace { Q_NAMESPACE - QML_FOREIGN_NAMESPACE(QWebEngineScript) + QML_FOREIGN_NAMESPACE(QWebEngineScriptDerived) QML_NAMED_ELEMENT(WebEngineScript) QML_ADDED_IN_VERSION(1, 1) QML_EXTRA_VERSION(2, 0) @@ -120,49 +199,18 @@ struct ForeignWebEngineScript Q_GADGET QML_FOREIGN(QWebEngineScript) QML_STRUCTURED_VALUE - QML_NAMED_ELEMENT(webEngineScript) + QML_VALUE_TYPE(webEngineScript) QML_ADDED_IN_VERSION(1, 1) QML_EXTRA_VERSION(2, 0) }; -struct ForeignWebEngineHistory -{ - Q_GADGET - QML_FOREIGN(QWebEngineHistory) - QML_NAMED_ELEMENT(WebEngineHistory) - QML_ADDED_IN_VERSION(1, 1) - QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") -}; - -struct ForeignWebEngineHistoryModel -{ - Q_GADGET - QML_FOREIGN(QWebEngineHistoryModel) - QML_NAMED_ELEMENT(WebEngineHistoryModel) - QML_ADDED_IN_VERSION(1, 1) - QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") -}; - struct ForeignWebEngineFullScreenRequest { Q_GADGET QML_FOREIGN(QWebEngineFullScreenRequest) - QML_NAMED_ELEMENT(fullScreenRequest) + QML_VALUE_TYPE(fullScreenRequest) QML_ADDED_IN_VERSION(1, 1) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") -}; - -struct ForeignWebEngineContextMenuRequest -{ - Q_GADGET - QML_FOREIGN(QWebEngineContextMenuRequest) - QML_NAMED_ELEMENT(ContextMenuRequest) - QML_ADDED_IN_VERSION(1, 7) - QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; #if QT_DEPRECATED_SINCE(6, 5) @@ -170,10 +218,9 @@ struct ForeignWebEngineQuotaRequest { Q_GADGET QML_FOREIGN(QWebEngineQuotaRequest) - QML_NAMED_ELEMENT(webEngineQuotaRequest) + QML_VALUE_TYPE(webEngineQuotaRequest) QML_ADDED_IN_VERSION(1, 7) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; #endif @@ -181,47 +228,29 @@ struct ForeignWebEngineRegisterProtocolHandlerRequest { Q_GADGET QML_FOREIGN(QWebEngineRegisterProtocolHandlerRequest) - QML_NAMED_ELEMENT(registerProtocolHandlerRequest) + QML_VALUE_TYPE(registerProtocolHandlerRequest) QML_ADDED_IN_VERSION(1, 7) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") -}; - -struct ForeignWebEngineNotification -{ - Q_GADGET - QML_FOREIGN(QWebEngineNotification) - QML_NAMED_ELEMENT(WebEngineNotification) - QML_ADDED_IN_VERSION(1, 9) - QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; struct ForeignWebEngineFindTextResult { Q_GADGET QML_FOREIGN(QWebEngineFindTextResult) - QML_NAMED_ELEMENT(findTextResult) + QML_VALUE_TYPE(findTextResult) QML_ADDED_IN_VERSION(1, 10) QML_EXTRA_VERSION(2, 0) - QML_UNCREATABLE("") }; struct ForeginWebEngineFileSystemAccessRequest { Q_GADGET QML_FOREIGN(QWebEngineFileSystemAccessRequest) - QML_NAMED_ELEMENT(webEngineFileSystemAccessRequest) + QML_VALUE_TYPE(webEngineFileSystemAccessRequest) QML_ADDED_IN_VERSION(6, 4) - QML_UNCREATABLE("") }; -// To prevent the same type from being exported twice into qmltypes -// (for value type and for the enums) -struct QWebEngineFileSystemAccessRequestDerived : public QWebEngineFileSystemAccessRequest -{ - Q_GADGET -}; +CREATE_DERIVED_FOREIGN_NAMESPACE(QWebEngineFileSystemAccessRequest) namespace ForeginWebEngineFileSystemAccessRequestNamespace { @@ -231,30 +260,15 @@ namespace ForeginWebEngineFileSystemAccessRequestNamespace QML_ADDED_IN_VERSION(6, 4) }; -struct ForeignWebEngineWebAuthUxRequest -{ - Q_GADGET - QML_FOREIGN(QWebEngineWebAuthUxRequest) - QML_NAMED_ELEMENT(WebEngineWebAuthUxRequest) - QML_ADDED_IN_VERSION(6, 7) - QML_UNCREATABLE("") -}; - struct ForeginWebEngineWebAuthPinRequest { Q_GADGET QML_FOREIGN(QWebEngineWebAuthPinRequest) QML_VALUE_TYPE(webEngineWebAuthPinRequest) QML_ADDED_IN_VERSION(6, 8) - QML_UNCREATABLE("") }; -// To prevent the same type from being exported twice into qmltypes -// (for value type and for the enums) -class QWebEnginePermissionDerived : public QWebEnginePermission -{ - Q_GADGET -}; +CREATE_DERIVED_FOREIGN_NAMESPACE(QWebEnginePermission) namespace ForeignWebEnginePermissionNamespace { @@ -270,24 +284,6 @@ struct ForeignWebEnginePermission QML_FOREIGN(QWebEnginePermission) QML_VALUE_TYPE(webEnginePermission) QML_ADDED_IN_VERSION(6, 8) - QML_UNCREATABLE("") -}; - -struct ForeignWebEngineDesktopMediaRequest -{ - Q_GADGET - QML_FOREIGN(QWebEngineDesktopMediaRequest) - QML_ANONYMOUS - QML_ADDED_IN_VERSION(6, 10) -}; - -struct ForeignWebEngineClientHints : public QObject -{ - Q_OBJECT - QML_FOREIGN(QWebEngineClientHints) - QML_NAMED_ELEMENT(WebEngineClientHints) - QML_ADDED_IN_VERSION(6, 8) - QML_UNCREATABLE("") }; #if QT_CONFIG(webengine_extensions) @@ -298,17 +294,10 @@ struct ForeignWebEngineExtensionInfo QML_FOREIGN(QWebEngineExtensionInfo) QML_ADDED_IN_VERSION(6, 10) }; - -struct ForeignWebEngineExtensionManager -{ - Q_GADGET - QML_NAMED_ELEMENT(WebEngineExtensionManager) - QML_FOREIGN(QWebEngineExtensionManager) - QML_ADDED_IN_VERSION(6, 10) - QML_UNCREATABLE("") -}; #endif +#undef CREATE_DERIVED_FOREIGN_NAMESPACE + QT_END_NAMESPACE #endif // QQUICKWEBENGINEFOREIGNTYPES_H |
