Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use kUnicodeSets (v regexp flag) in URLPattern #43014

Merged
merged 1 commit into from
Nov 8, 2023

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Nov 8, 2023

This CL follows the recent spec update in [1]. After this CL, the
regular expression works with the unicodeSet mode, which allows the API
to interpret set notations, multi-codepoint properties etc.

Actually, this CL ends up only adding the support for set notations. At
the moment the API doesn't accept unicode character class escape (\p{},
\P{}) [2], thus we wouldn't add the multi-codepoint match functionarity.

There are some incompatibility between "u" and "v", some patterns are
privously valid but now errors. However, from UMA the impact looks very
limited, it's only around 0.3% of the total constructor calls.

So this CL changes the default flag to "v". Also add a kill switch.

[1] whatwg/urlpattern#178
[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape

Change-Id: I14cc3420d57cca44c0c25867d05802a8a666cd8c
Bug: 1482263
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4861342
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1221823}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

This CL follows the recent spec update in [1]. After this CL, the
regular expression works with the unicodeSet mode, which allows the API
to interpret set notations, multi-codepoint properties etc.

Actually, this CL ends up only adding the support for set notations. At
the moment the API doesn't accept unicode character class escape (\p{},
\P{}) [2], thus we wouldn't add the multi-codepoint match functionarity.

There are some incompatibility between "u" and "v", some patterns are
privously valid but now errors. However, from UMA the impact looks very
limited, it's only around 0.3% of the total constructor calls.

So this CL changes the default flag to "v". Also add a kill switch.

[1] whatwg/urlpattern#178
[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape

Change-Id: I14cc3420d57cca44c0c25867d05802a8a666cd8c
Bug: 1482263
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4861342
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1221823}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants