RESOLVED FIXED284216
Create WebKitWebExtensionMatchPattern API for WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=284216
Summary Create WebKitWebExtensionMatchPattern API for WebKitGTK
Jamie Murphy
Reported 2024-12-06 20:39:51 PST
This API exposes WebExtensionMatchPattern support to WebKitGtk, which can then be used by future implementations of WebExtension and WebExtensionContext.
Attachments
Jamie Murphy
Comment 1 2024-12-06 20:42:05 PST
EWS
Comment 2 2025-01-03 16:45:11 PST
Committed 288424@main (b2a4be47a0aa): <https://commits.webkit.org/288424@main> Reviewed commits have been landed. Closing PR #37582 and removing active labels.
Diego Pino
Comment 3 2025-01-04 03:17:24 PST
After this patch, the 'GTK-Linux-64-bit-Release-Debian-Stable-Build' bot is failing with the following error: https://build.webkit.org/#/builders/46/builds/46081 ``` /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp:641:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE’ was not declared in this scope; did you mean ‘WEBKIT_TYPE_WEB_EXTENSION_MATCH_PATTERN_OPTIONS’? 641 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE, "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE", "none" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | WEBKIT_TYPE_WEB_EXTENSION_MATCH_PATTERN_OPTIONS /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp:642:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES’ was not declared in this scope; did you mean ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_SCHEME’? 642 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES, "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES", "ignore-schemes" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_SCHEME /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp:643:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS’ was not declared in this scope; did you mean ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_PATH’? 643 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS, "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS", "ignore-paths" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_PATH /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp:644:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY’ was not declared in this scope 644 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY, "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY", "match-bidirectionally" }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ```
Diego Pino
Comment 4 2025-01-04 03:17:55 PST
EWS
Comment 5 2025-01-04 03:51:16 PST
Committed 288434@main (1ddcb1544050): <https://commits.webkit.org/288434@main> Reviewed commits have been landed. Closing PR #38530 and removing active labels.
Diego Pino
Comment 6 2025-01-04 05:14:26 PST
After landing the patch before, there was another build error reported by 'GTK-Linux-64-bit-Release-Ubuntu-LTS-Build': https://build.webkit.org/#/builders/68/builds/39352 ``` /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/Source/WebKit/UIProcess/API/glib/WebKitWebExtensionMatchPattern.cpp:393:12: error: return-statement with a value, in function returning ‘void’ [-fpermissive] 393 | return nullptr; | ^~~~~~~ ```
Diego Pino
Comment 7 2025-01-04 05:15:08 PST
EWS
Comment 8 2025-01-04 05:24:59 PST
Committed 288435@main (d812f50c13b6): <https://commits.webkit.org/288435@main> Reviewed commits have been landed. Closing PR #38531 and removing active labels.
Philippe Normand
Comment 9 2025-01-05 03:34:39 PST
(In reply to Diego Pino from comment #3) > After this patch, the 'GTK-Linux-64-bit-Release-Debian-Stable-Build' bot is > failing with the following error: > > https://build.webkit.org/#/builders/46/builds/46081 > > ``` > /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/ > WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp: > 641:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE’ was not > declared in this scope; did you mean > ‘WEBKIT_TYPE_WEB_EXTENSION_MATCH_PATTERN_OPTIONS’? > 641 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE, > "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_NONE", "none" }, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | WEBKIT_TYPE_WEB_EXTENSION_MATCH_PATTERN_OPTIONS > /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/ > WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp: > 642:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES’ > was not declared in this scope; did you mean > ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_SCHEME’? > 642 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES, > "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_SCHEMES", > "ignore-schemes" }, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_SCHEME > /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/ > WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp: > 643:11: error: ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS’ was > not declared in this scope; did you mean > ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_PATH’? > 643 | { WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS, > "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_IGNORE_PATHS", "ignore-paths" }, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | WEBKIT_WEB_EXTENSION_MATCH_PATTERN_ERROR_INVALID_PATH > /home/buildbot/worker/GTK-Linux-64-bit-Release-Debian-12-Build/build/ > WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit/WebKitEnumTypes.cpp: > 644:11: error: > ‘WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY’ was not > declared in this scope > 644 | { > WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY, > "WEBKIT_WEB_EXTENSION_MATCH_PATTERN_OPTIONS_MATCH_BIDIRECTIONALLY", > "match-bidirectionally" }, > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ``` That happens because there's a spurious WK_WEB_EXTENSIONS ifdef in Source/WebKit/UIProcess/API/glib/webkit.h.in...
Philippe Normand
Comment 10 2025-01-05 03:35:35 PST
Re-opening for another PR.
Philippe Normand
Comment 11 2025-01-05 03:38:38 PST
EWS
Comment 12 2025-01-05 03:40:54 PST
Committed 288441@main (2df70530c94c): <https://commits.webkit.org/288441@main> Reviewed commits have been landed. Closing PR #38541 and removing active labels.
Philippe Normand
Comment 13 2025-01-05 03:55:55 PST
WebKitWebExtensionMatchPattern.h is GTK-specific, shouldn't be included in WPE's webkit.h. Re-opening for follow-up.
Philippe Normand
Comment 14 2025-01-05 04:00:02 PST
EWS
Comment 15 2025-01-05 04:02:25 PST
Committed 288442@main (42a7911be14f): <https://commits.webkit.org/288442@main> Reviewed commits have been landed. Closing PR #38542 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.