Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c6cc7c6ea52a3ff6d9b94e0d5e8353afc7473d9b
https://github.com/WebKit/WebKit/commit/c6cc7c6ea52a3ff6d9b94e0d5e8353afc7473d9b
Author: Chris Dumez <[email protected]>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/resources/urlpatterntestdata.json
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.serviceworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.worker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.serviceworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.worker-expected.txt
M Source/WebCore/Modules/url-pattern/URLPatternParser.cpp
M Source/WebCore/Modules/url-pattern/URLPatternParser.h
Log Message:
-----------
URLPattern fails to accept non-BMP code points in named groups
https://bugs.webkit.org/show_bug.cgi?id=316067
Reviewed by Anne van Kesteren.
isValidNameCodepoint() declared its `codepoint` parameter as char16_t,
silently narrowing supplementary-plane code points before the
ID_Start / ID_Continue check. As a result, a named group like `:𠀀`
(U+20000, a CJK Unified Ideograph that is ID_Start) was rejected by
the strict tokenizer with "Name position equals name start", so
`new URLPattern({ pathname: "/:𠀀" })` threw TypeError instead of
producing a pattern with a `𠀀` named group. The same narrowing
affected generatePatternString()'s grouping decision in two spots.
The three call sites already pass char32_t (Tokenizer::m_codepoint and
the StringView code-point iterator), so widening the parameter is the
only change needed.
This aligns our behavior with both Blink and Gecko.
No new tests, updated existing WPT test.
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/resources/urlpatterntestdata.json:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.serviceworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.sharedworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.any.worker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.serviceworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.sharedworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/urlpattern/urlpattern.https.any.worker-expected.txt:
* Source/WebCore/Modules/url-pattern/URLPatternParser.cpp:
(WebCore::URLPatternUtilities::isValidNameCodepoint):
* Source/WebCore/Modules/url-pattern/URLPatternParser.h:
Canonical link: https://commits.webkit.org/314360@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications