I don't understand why TAG review is not applicable for this intent.

On Tuesday, April 4, 2023 at 5:21:16 AM UTC-7 mt...@google.com wrote:

> Thanks to the UseCounter + UKM + M112 hitting Stable, more results are 
> starting to come in. I’ll be collecting public examples of potential 
> incompatibilities here: 
> https://bugs.chromium.org/p/chromium/issues/detail?id=1412729#c11 So far 
> 0 out of the 2 examples cause any actual breakage — fingers crossed that 
> trend continues.
>
> On Mon, Apr 3, 2023 at 10:26 AM Philip Jägenstedt <foo...@chromium.org> 
> wrote:
>
>> I took a look at https://github.com/whatwg/html/pull/7908 and it looks 
>> like there's agreement to merge it, but it's waiting on this intent to be 
>> approved. Normally we block in the other direction, but that's fine, as 
>> long as the spec change is merged.
>>
>> Looks like there's broad support for this change, and it's just a 
>> question of the site compat risk. ~0.04% as an upper bound is quite high. 
>> Can we wait until the use counter is in stable and look at a random set of 
>> sites hitting the use counter to determine what the real-world breakage 
>> looks like?
>>
>> On Fri, Mar 31, 2023 at 5:07 PM 'Mathias Bynens' via blink-dev <
>> blink-dev@chromium.org> wrote:
>>
>>>
>>>
>>> On Fri, Mar 31, 2023 at 4:35 PM Mike Taylor <miketa...@chromium.org> 
>>> wrote:
>>>
>>>> Hey Mathias,
>>>> On 3/31/23 5:56 AM, Mathias Bynens wrote:
>>>>
>>>> Contact emails
>>>>
>>>> math...@chromium.org
>>>>
>>>> Specification 
>>>>
>>>> https://github.com/whatwg/html/pull/7908
>>>>
>>>> Summary 
>>>>
>>>> The <input pattern> attribute allows developers to specify a regular 
>>>> expression pattern against which the input’s values are checked for 
>>>> validity.
>>>>
>>>> <label>
>>>>
>>>>   Part number:
>>>>
>>>>   <input pattern="[0-9][A-Z]{3}" name="part"
>>>>
>>>>          title="A part number is a digit followed by three uppercase 
>>>> letters.">
>>>>
>>>> </label>
>>>>
>>>> When the pattern attribute was first implemented, these regular 
>>>> expressions were compiled without any RegExp flags. In 2014, the HTML 
>>>> Standard changed this by implicitly enabling the u flag for the 
>>>> pattern attribute, enabling better Unicode support (including support for 
>>>> Unicode character properties like \p{Letter}). This change shipped in 
>>>> Chrome 53. <https://chromestatus.com/feature/4753420745441280>
>>>>
>>>> Now, we’re taking this to the next level by enabling the new RegExp v 
>>>> flag <https://v8.dev/features/regexp-v-flag> instead of u, enabling 
>>>> the use of set notation, string literal syntax, and Unicode properties of 
>>>> strings.
>>>>
>>>> (Context: The RegExp v flag is a JavaScript language feature which 
>>>> previously went through the Blink Intents process and shipped in 
>>>> Chrome 112 <https://chromestatus.com/feature/5144156542861312>. This 
>>>> new ChromeStatus entry is specifically about integrating it with the HTML 
>>>> pattern attribute.)
>>>>
>>>> Blink component 
>>>>
>>>> Blink>Forms 
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EForms>
>>>>
>>>> Search tags 
>>>>
>>>> unicode <https://chromestatus.com/features#tags:unicode>, regexp 
>>>> <https://chromestatus.com/features#tags:regexp>, pattern 
>>>> <https://chromestatus.com/features#tags:pattern>, validation 
>>>> <https://chromestatus.com/features#tags:validation>
>>>>
>>>> TAG review 
>>>> TAG review status 
>>>>
>>>> Not applicable
>>>>
>>>> Risks 
>>>> Interoperability and Compatibility 
>>>>
>>>> The spec patch at https://github.com/whatwg/html/pull/7908 lists the 
>>>> potentially breaking changes. Some patterns that previously would compile, 
>>>> now throw an early error with the v flag — specifically those with a 
>>>> character class including either an unescaped special character or a 
>>>> double 
>>>> punctuator.
>>>>
>>>> We expect such patterns to be rare. To validate this assumption we’ve 
>>>> added a UseCounter called 
>>>> HTMLPatternRegExpUnicodeSetIncompatibilitiesWithUnicodeMode 
>>>> <https://chromestatus.com/metrics/feature/popularity#HTMLPatternRegExpUnicodeSetIncompatibilitiesWithUnicodeMode>
>>>>  
>>>> in M112, which tracks patterns in any JavaScript u RegExps generated 
>>>> via the HTML pattern attribute that would throw if they were used with 
>>>> the v flag. 
>>>>
>>>> Importantly, note that any throwing pattern gracefully degrades — it 
>>>> simply behaves as if the pattern attribute wasn’t present, resulting 
>>>> in inputElement.validity.valid === true for any input value. 
>>>> Consequently, the only compatibility risk is that some value/pattern 
>>>> combinations that would previously result in 
>>>> inputElement.validity.valid being false now result in it being true. Thus, 
>>>> for every UseCounter hit, it could still be that there is no actual 
>>>> breakage — the UseCounter just gives us the upper bound. The currently 
>>>> available data from Beta suggests the UseCounter hits for 0.0393% of 
>>>> Chrome page loads.
>>>>
>>>> I'm somewhat curious to see how much that UseCounter will grow (if at 
>>>> all) when 112 goes to stable next week...
>>>>
>>> Me too, and FWIW I'd understand if you and the other API owners prefer 
>>> to wait until there’s some data for Stable before responding to this Intent.
>>>
>>>> Do you have any concerns about certain inputs being sent to a server 
>>>> that might not have any backend validation, that would previously be 
>>>> prevented by the u-vintage validation?
>>>>
>>> That’s indeed the only scenario in which there would be breakage. So far 
>>> we haven’t heard of such cases in the wild. (Arguably, such web pages are 
>>> already broken, since DevTools could easily be used to remove the `pattern` 
>>> attribute, or requests could be made with tools like `curl`.) FWIW, there 
>>> was a similar discussion in this old blink-dev thread: 
>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/XUNMtri0tI4/m/mjPkwXKNAQAJ
>>>
>>> I forgot to mention that we explicitly added a console warning in M112 
>>> for any `pattern` attribute values that would be affected by this change, 
>>> to help developers prepare for the potential change. One developer reported 
>>> seeing the warning and adjusting their `pattern` attribute values 
>>> accordingly, but it’s unclear whether inaction would have really broken 
>>> their web page: 
>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1412729#c7
>>>  
>>>
>>>>
>>>> Gecko: Positive (Mozilla standards position request 
>>>> <https://github.com/mozilla/standards-positions/issues/745>, 
>>>> implementation 
>>>> tracking issue <https://bugzilla.mozilla.org/show_bug.cgi?id=pattern-v>
>>>> )
>>>>
>>>> WebKit: Positive (WebKit standards position request 
>>>> <https://github.com/WebKit/standards-positions/issues/132>, implementation 
>>>> tracking issue <https://bugs.webkit.org/show_bug.cgi?id=pattern-v>)
>>>>
>>>> Web developers: No signals
>>>>
>>>> Other signals:
>>>>
>>>> Debuggability 
>>>>
>>>> The pattern attribute is already well-supported in DevTools and other 
>>>> tooling; no changes are necessary.
>>>>
>>>> Will this feature be supported on all six Blink platforms (Windows, 
>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? 
>>>>
>>>> Yes
>>>>
>>>> Is this feature fully tested by web-platform-tests 
>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>> ? 
>>>>
>>>> Pull Request: https://github.com/web-platform-tests/wpt/pull/38547
>>>>
>>>> Flag name 
>>>>
>>>> N/A
>>>>
>>>> Requires code in //chrome? 
>>>>
>>>> False
>>>>
>>>> Tracking bug 
>>>>
>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1412729
>>>>
>>>> Sample links 
>>>>
>>>> https://mathiasbynens.be/demo/pattern-u-vs-v
>>>>
>>>> Estimated milestones 
>>>>
>>>> M114
>>>>
>>>> Link to entry on the Chrome Platform Status 
>>>>
>>>> https://chromestatus.com/feature/5149507107422208
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgaAq4FwzJbUqLQVo%2BQdd_V0PT7rBr510OGe8fenHA%3D3HQ%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgaAq4FwzJbUqLQVo%2BQdd_V0PT7rBr510OGe8fenHA%3D3HQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c9571b2a-a35b-3824-0f37-c93a9bb522fc%40chromium.org
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c9571b2a-a35b-3824-0f37-c93a9bb522fc%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to blink-dev+unsubscr...@chromium.org.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgYxU2v2ANQgzNiLD%2B4P-qJHxzTYJfRDsKNCtY0Yb_0bdg%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgYxU2v2ANQgzNiLD%2B4P-qJHxzTYJfRDsKNCtY0Yb_0bdg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/51e1e696-5349-423b-88db-ad8237283497n%40chromium.org.

Reply via email to