RESOLVED FIXED300684
REGRESSION(301229@main): [WPE] Broke the build
https://bugs.webkit.org/show_bug.cgi?id=300684
Summary REGRESSION(301229@main): [WPE] Broke the build
Philippe Normand
Reported 2025-10-14 01:50:34 PDT
/var/home/phil/WebKit/Source/WebKit/UIProcess/API/glib/WebKitWebExtension.cpp:492:110: error: too few arguments to function call, expected 2, have 1 492 | newResources.add(it.key, API::Data::createWithoutCopying(std::move<WTF::CheckMoveParameter>(it.value))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ /var/home/phil/WebKit/Source/WebKit/Shared/API/APIData.h:51:22: note: 'createWithoutCopying' declared here 51 | static Ref<Data> createWithoutCopying(std::span<const uint8_t> bytes, FreeDataFunction&& freeDataFunction) | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/home/phil/WebKit/Source/WebKit/UIProcess/API/glib/WebKitWebExtension.cpp:778:18: error: no member named 'icon' in 'WebCore::Icon' 778 | return icon->icon(); | ~~~~~~^ /var/home/phil/WebKit/Source/WebKit/UIProcess/API/glib/WebKitWebExtension.cpp:806:18: error: no member named 'icon' in 'WebCore::Icon' 806 | return icon->icon(); | ~~~~~~^ 3 errors generated.
Attachments
Philippe Normand
Comment 1 2025-10-14 01:57:47 PDT
In file included from /var/home/phil/WebKit/WebKitBuild/WPE/Release/DerivedSources/WebKit/unified-sources/UnifiedSource-50d0d8dd-13.cpp:5: /var/home/phil/WebKit/Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:31:10: fatal error: 'WPEToplevelPrivate.h' file not found 31 | #include "WPEToplevelPrivate.h" | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated.
Philippe Normand
Comment 2 2025-10-14 02:01:13 PDT
In file included from /var/home/phil/WebKit/WebKitBuild/WPE/Release/DerivedSources/WebKit/unified-sources/UnifiedSource-50d0d8dd-13.cpp:5: /var/home/phil/WebKit/Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:43:66: error: use of undeclared identifier 'toplevel' 43 | auto* display = WPE_DISPLAY_DRM(wpe_toplevel_get_display(toplevel)); | ^ 1 error generated.
Philippe Normand
Comment 3 2025-10-14 02:19:04 PDT
mold: error: undefined symbol: WebKit::WebExtension::recordError(WTF::Ref<API::Error, WTF::RawPtrTraits<API::Error>, WTF::DefaultRefDerefTraits<API::Error> >) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::parseManifest(WTF::StringView)) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::parseManifest(WTF::StringView)) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::parseManifest(WTF::StringView)) >>> referenced 44 more times mold: error: undefined symbol: WebKit::WebExtension::WebExtension(_GFile*, WTF::RefPtr<API::Error, WTF::RawPtrTraits<API::Error>, WTF::DefaultRefDerefTraits<API::Error> >&) >>> referenced by WebKitWebExtension.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/API/glib/WebKitWebExtension.cpp.o:(webkitWebExtensionInitableInit(_GInitable*, _GCancellable*, _GError**)) mold: error: undefined symbol: WebKit::WebExtension::iconForPath(WTF::String const&, WebCore::FloatSize, std::optional<double>) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::populateActionPropertiesIfNeeded()) mold: error: undefined symbol: WebKit::WebExtension::bestIcon(WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object> >, WebCore::FloatSize, WTF::Function<void (WTF::Ref<API::Error, WTF::RawPtrTraits<API::Error>, WTF::DefaultRefDerefTraits<API::Error> >)> const&) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::bestIconForManifestKey(WTF::JSONImpl::Object const&, WTF::String const&, WebCore::FloatSize, WTF::HashMap<WTF::String, mpark::variant<WTF::RefPtr<WebCore::Icon, WTF::RawPtrTraits<WebCore::Icon>, WTF::DefaultRefDerefTraits<WebCore::Icon> >, WTF::Vector<double, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<mpark::variant<WTF::RefPtr<WebCore::Icon, WTF::RawPtrTraits<WebCore::Icon>, WTF::DefaultRefDerefTraits<WebCore::Icon> >, WTF::Vector<double, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>&, WebKit::WebExtension::Error, WTF::String const&)) mold: error: undefined symbol: WebKit::WebExtension::resourceDataForPath(WTF::String const&, WebKit::WebExtension::CacheResult, WebKit::WebExtension::SuppressNotFoundErrors) >>> referenced by UnifiedSource-88d1702b-25.cpp >>> Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-25.cpp.o:(WebKit::WebExtension::resourceStringForPath(WTF::String const&, WebKit::WebExtension::CacheResult, WebKit::WebExtension::SuppressNotFoundErrors)) clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Philippe Normand
Comment 4 2025-10-14 02:29:52 PDT
Philippe Normand
Comment 5 2025-10-14 02:30:59 PDT
Jamie, can you finish this patch please? I had to stop at the link errors, I think glib-specific parts of Source/WebKit/UIProcess/Extensions/gtk/WebExtensionGtk.cpp should be moved to a dedicated cpp file.
Philippe Normand
Comment 6 2025-10-14 03:12:13 PDT
Also, WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WK_WEB_EXTENSIONS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) is missing in OptionsWPE.cmake
Adrian Perez
Comment 7 2025-10-14 03:27:10 PDT
(In reply to Philippe Normand from comment #6) > Also, WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WK_WEB_EXTENSIONS PRIVATE > ${ENABLE_EXPERIMENTAL_FEATURES}) is missing in OptionsWPE.cmake Indeed, this is the reason why the EWS didn't catch the issues, I am in favor of adding it for the WPE port.
Jamie Murphy
Comment 8 2025-10-14 08:01:38 PDT
Thanks for all the work here, yeah, I'll finish the patch and add the WKWebExtensions feature to OptionsWPE
Jamie Murphy
Comment 9 2025-10-15 08:25:12 PDT
EWS
Comment 10 2025-10-21 14:37:53 PDT
Committed 301906@main (224689d07870): <https://commits.webkit.org/301906@main> Reviewed commits have been landed. Closing PR #52394 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.