Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 452e3815223fdac36e001b2721112dc539b4a00d
https://github.com/WebKit/WebKit/commit/452e3815223fdac36e001b2721112dc539b4a00d
Author: Youenn Fablet <[email protected]>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
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/URLPattern.cpp
M Source/WebCore/Modules/url-pattern/URLPatternCanonical.cpp
M Source/WebCore/Modules/url-pattern/URLPatternConstructorStringParser.cpp
Log Message:
-----------
URLPattern should validate IPv6 hostnames correctly
rdar://142950979
https://bugs.webkit.org/show_bug.cgi?id=285979
Reviewed by Anne van Kesteren.
Fix bug in isInvalidIPv6HostCodePoint (check of valid special code points).
To make it clearer we rename isInvalidIPv6HostCodePoint to
isValidIPv6HostCodePoint.
We also remove the use of URL::isIPv6Address in lieu of a routine
isHostnamePatternIPv6 that implements
https://urlpattern.spec.whatwg.org/#hostname-pattern-is-an-ipv6-address to
follow the spec.
We update hostname canonicalization to add a check that the last character of
an IPv6 hostname is ']' as per https://url.spec.whatwg.org/#concept-host-parser.
We update URLPatternConstructorStringParser so that it only checks for non
special pattern character outside of IPv6 hostnames.
Covered by rebased tests.
*
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/URLPattern.cpp:
(WebCore::isHostnamePatternIPv6):
(WebCore::URLPattern::compileAllComponents):
* Source/WebCore/Modules/url-pattern/URLPatternCanonical.cpp:
(WebCore::isValidIPv6HostCodePoint):
(WebCore::canonicalizeHostname):
(WebCore::canonicalizeIPv6Hostname):
(WebCore::isInvalidIPv6HostCodePoint): Deleted.
* Source/WebCore/Modules/url-pattern/URLPatternConstructorStringParser.cpp:
(WebCore::URLPatternConstructorStringParser::updateState):
Canonical link: https://commits.webkit.org/288931@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes