diff --git a/configure.json b/configure.json
index 76327d9c1087930b53bcdaa64495f1fa03437568..726d151c75a7d91f4427c02c54a99939cf2ea0e3 100644
--- a/configure.json
+++ b/configure.json
@@ -440,6 +440,10 @@
             "section": "WebEngine",
             "output": [ "privateFeature" ]
         },
+        "ui-delegates": {
+            "label": "UI Delegates",
+            "output": [ "privateFeature" ]
+        },
         "webrtc": {
             "label": "WebRTC",
             "purpose": "Provides WebRTC support.",
diff --git a/src/src.pro b/src/src.pro
index d9b57615d9ab54205eff6372f0ec26a9cce61b42..d994fc0e9b5357ad40c94eb037b29659a00eae38 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,3 +1,6 @@
+include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
+QT_FOR_CONFIG += webengine-private
+
 TEMPLATE = subdirs
 
 process.depends = core
@@ -30,7 +33,7 @@ isQMLTestSupportApiEnabled() {
     SUBDIRS += webengine_testsupport_plugin
 }
 
-!contains(WEBENGINE_CONFIG, no_ui_delegates) {
+qtConfig(ui-delegates) {
     SUBDIRS += webengine/ui \
                webengine/ui2
 }
diff --git a/src/webenginewidgets/webenginewidgets.pro b/src/webenginewidgets/webenginewidgets.pro
index ad79c1ef962a6951e776a5738d74c082b1369d82..10791a6ca443fcdba2dd579e70e48dd38ea7d113 100644
--- a/src/webenginewidgets/webenginewidgets.pro
+++ b/src/webenginewidgets/webenginewidgets.pro
@@ -1,3 +1,6 @@
+include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
+QT_FOR_CONFIG += webengine-private
+
 TARGET = QtWebEngineWidgets
 
 # For our export macros
@@ -42,7 +45,7 @@ HEADERS = \
         api/qwebengineview_p.h \
         render_widget_host_view_qt_delegate_widget.h
 
-!contains(WEBENGINE_CONFIG, no_ui_delegates) {
+qtConfig(ui-delegates) {
     SOURCES += ui/messagebubblewidget.cpp
     HEADERS += ui/messagebubblewidget_p.h
     DEFINES += QT_UI_DELEGATES