diff --git a/src/webengine/api/qquickwebenginecontextmenurequest_p.h b/src/webengine/api/qquickwebenginecontextmenurequest_p.h
index d8da35c66128d5b2df9dc57e462783f495f2fccd..245955788b210b140082c2643e62a59733066757 100644
--- a/src/webengine/api/qquickwebenginecontextmenurequest_p.h
+++ b/src/webengine/api/qquickwebenginecontextmenurequest_p.h
@@ -89,7 +89,7 @@ public:
         MediaCanRotate = 0x200,
     };
     Q_DECLARE_FLAGS(MediaFlags, MediaFlag)
-
+    Q_FLAG(MediaFlags)
 
     // Must match QWebEngineCore::WebEngineContextMenuData::EditFlags:
     enum EditFlag {
@@ -104,6 +104,7 @@ public:
         CanEditRichly = 0x100,
     };
     Q_DECLARE_FLAGS(EditFlags, EditFlag)
+    Q_FLAG(EditFlags)
 
     Q_PROPERTY(int x READ x CONSTANT FINAL)
     Q_PROPERTY(int y READ y CONSTANT FINAL)
@@ -139,8 +140,6 @@ private:
     QQuickWebEngineContextMenuRequest(const QtWebEngineCore::WebEngineContextMenuData &data, QObject *parent = nullptr);
     QScopedPointer<QtWebEngineCore::WebEngineContextMenuData> m_data;
     bool m_accepted;
-    Q_FLAGS(MediaFlags)
-    Q_FLAGS(EditFlags)
     friend class QQuickWebEngineView;
     friend class QQuickWebEngineViewPrivate;
     Q_DISABLE_COPY(QQuickWebEngineContextMenuRequest)
diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h
index 76b5c2be947ac5b148d11d35264e973db4977169..ffa468effabecfabd73ef33a0a020812e93ec549 100644
--- a/src/webengine/api/qquickwebengineview_p.h
+++ b/src/webengine/api/qquickwebengineview_p.h
@@ -134,8 +134,6 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem {
     Q_PROPERTY(QQuickWebEngineTestSupport *testSupport READ testSupport WRITE setTestSupport NOTIFY testSupportChanged FINAL)
 #endif
 
-    Q_FLAGS(FindFlags);
-
 public:
     QQuickWebEngineView(QQuickItem *parent = 0);
     ~QQuickWebEngineView();
@@ -296,6 +294,7 @@ public:
         FindCaseSensitively = 2,
     };
     Q_DECLARE_FLAGS(FindFlags, FindFlag)
+    Q_FLAG(FindFlags)
 
     // must match QPageSize::PageSizeId
     enum PrintedPageSizeId {
diff --git a/src/webenginewidgets/api/qwebenginecontextmenudata.h b/src/webenginewidgets/api/qwebenginecontextmenudata.h
index 7c33ee27080e8a7756ab7cf57a0ca8936bee8105..24fbd5c096d7fa968ce44617ebabc5c1feeb0bb0 100644
--- a/src/webenginewidgets/api/qwebenginecontextmenudata.h
+++ b/src/webenginewidgets/api/qwebenginecontextmenudata.h
@@ -52,6 +52,8 @@ class WebEngineContextMenuData;
 QT_BEGIN_NAMESPACE
 
 class QWEBENGINEWIDGETS_EXPORT QWebEngineContextMenuData {
+    Q_GADGET
+
 public:
     QWebEngineContextMenuData();
     QWebEngineContextMenuData(const QWebEngineContextMenuData &other);
@@ -82,6 +84,7 @@ public:
         MediaCanRotate = 0x200,
     };
     Q_DECLARE_FLAGS(MediaFlags, MediaFlag)
+    Q_FLAG(MediaFlags)
 
     // Must match QWebEngineCore::WebEngineContextMenuData::EditFlags:
     enum EditFlag {
@@ -96,6 +99,7 @@ public:
         CanEditRichly = 0x100,
     };
     Q_DECLARE_FLAGS(EditFlags, EditFlag)
+    Q_FLAG(EditFlags)
 
     bool isValid() const;
 
@@ -116,8 +120,6 @@ private:
     typedef QtWebEngineCore::WebEngineContextMenuData QWebEngineContextDataPrivate;
     QWebEngineContextMenuData &operator=(const QWebEngineContextDataPrivate &priv);
     const QWebEngineContextDataPrivate *d;
-    Q_FLAGS(MediaFlags)
-    Q_FLAGS(EditFlags)
 
     friend class QWebEnginePagePrivate;
     friend class QWebEnginePage;