Bug 300684
| Summary: | REGRESSION(301229@main): [WPE] Broke the build | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Philippe Normand <philn> |
| Component: | WPE WebKit | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | aperez, bugs-noreply, jmurphy |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Philippe Normand
/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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Philippe Normand
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
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
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
WIP in https://github.com/philn/WebKit/tree/eng/300684
Philippe Normand
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
Also, WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WK_WEB_EXTENSIONS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) is missing in OptionsWPE.cmake
Adrian Perez
(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
Thanks for all the work here, yeah, I'll finish the patch and add the WKWebExtensions feature to OptionsWPE
Jamie Murphy
Pull request: https://github.com/WebKit/WebKit/pull/52394
EWS
Committed 301906@main (224689d07870): <https://commits.webkit.org/301906@main>
Reviewed commits have been landed. Closing PR #52394 and removing active labels.