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

Reply via email to