diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp b/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp
index 172c669958db1fc4421007f492046c2ef8b11459..f8f987e2c8d0a365221cf3c4a06b7363749b6e01 100644
--- a/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp
+++ b/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp
@@ -54,6 +54,13 @@ QT_BEGIN_NAMESPACE
     \inmodule QtWebEngineWidgets
 */
 
+static void registerMetaTypes()
+{
+    qRegisterMetaType<QWebEngineQuotaPermissionRequest>();
+}
+
+Q_CONSTRUCTOR_FUNCTION(registerMetaTypes)
+
 QWebEngineQuotaPermissionRequest::QWebEngineQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller)
     : d_ptr(controller)
 {
diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.h b/src/webenginewidgets/api/qwebenginequotapermissionrequest.h
index aa0184fadf0b491421d811e94750b1b07b5d30c1..ed6e9edc39cb912831dd35e3e3aa6187b129f2e1 100644
--- a/src/webenginewidgets/api/qwebenginequotapermissionrequest.h
+++ b/src/webenginewidgets/api/qwebenginequotapermissionrequest.h
@@ -52,20 +52,22 @@ QT_BEGIN_NAMESPACE
 
 class QWEBENGINEWIDGETS_EXPORT QWebEngineQuotaPermissionRequest {
     Q_GADGET
-    Q_PROPERTY(QUrl origin READ origin)
-    Q_PROPERTY(qint64 requestedSize READ requestedSize)
+    Q_PROPERTY(QUrl origin READ origin CONSTANT FINAL)
+    Q_PROPERTY(qint64 requestedSize READ requestedSize CONSTANT FINAL)
 public:
+    explicit QWebEngineQuotaPermissionRequest() { Q_UNREACHABLE(); }
+    explicit QWebEngineQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller);
     Q_INVOKABLE void accept();
     Q_INVOKABLE void reject();
     QUrl origin() const;
     qint64 requestedSize() const;
 
 private:
-    QWebEngineQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller);
     QSharedPointer<QtWebEngineCore::QuotaPermissionController> d_ptr;
-    friend class QWebEnginePagePrivate;
 };
 
 QT_END_NAMESPACE
 
+Q_DECLARE_METATYPE(QWebEngineQuotaPermissionRequest)
+
 #endif // QWEBENGINEQUOTAPERMISSIONREQUEST_H