Contact emailsdba...@chromium.org

ExplainerNone

Specificationhttps://www.w3.org/TR/css-values-3/#custom-idents

Summary

The CSS keyword 'default' is not allowed within CSS custom identifiers,
which are used for many types of user-defined names in CSS (for example,
names created by @keyframes rules, counters, @container names, custom
layout or paint names). This adds 'default' to the list of names that are
reserved from being used in custom identifiers, which already reserve
'inherit', 'initial', 'unset', 'revert', and 'revert-layer'.


Note that some existing CSS features that accept custom identifiers check
specifically for 'default' to avoid the risk of worsening the potential
compatibility problem in this deprecation. This means that fixing the
general code for custom identifiers will fix the remaining cases, though
some cases are already fixed.

Blink componentBlink>CSS
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>

Motivation

Keywords that CSS uses (or is likely to use in the future) as values
accepted by any CSS property should not be allowed in custom identifiers
because many custom identifiers are also values of CSS properties. If they
can be custom identifiers, then developers could create content that would
be broken by the addition of these keywords as property values either to
all CSS properties, or to a particular CSS property that already accepts
custom identifiers.


Initial public proposal

TAG review

TAG review statusNot applicable

Risks


Interoperability and Compatibility

There is some compatibility risk if pages are using default as a custom
identifier (for example, as the name of an @keyframes rule that is
referenced in animation-name). This risk is lessened by the fact that Gecko
and WebKit have already shipped this change; thus shipping this deprecation
reduces interoperability risk.


*Gecko*: Shipped/Shipping (
https://searchfox.org/mozilla-central/rev/f816e52d85cdaf0be7c9e1d2297f833e9ef53e2e/servo/components/style/values/mod.rs#462
)

*WebKit*: Shipped/Shipping (
https://github.com/WebKit/WebKit/blob/main/Source/WebCore/css/parser/CSSParserIdioms.h#L77
)

*Web developers*: No signals

*Other signals*:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?



Debuggability

The debuggability matches the debuggability of syntax errors produced for
existing invalid values, which include the reserved names 'inherit',
'initial', etc.


Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?No.

There are tests for some, but not all, of the features that use custom
identifiers. I hope to add a few more as part of landing this. An existing
test that covers this case is:
https://wpt.fyi/results/css/css-properties-values-api/register-property-syntax-parsing.html?label=stable&label=master
and
an existing test that should be expanded is:
https://wpt.fyi/results/css/css-font-loading/fontfaceset-load-css-wide-keywords.html?label=stable&label=master

Flag name

Requires code in //chrome?False

Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=882285

Measurementhttps://chromestatus.com/metrics/feature/timeline/popularity/2628 is
a use counter that is currently around 0.0086% and increasing.
https://github.com/w3c/csswg-drafts/issues/7431#issuecomment-1170371304 has
data from a cluster telemetry run showing one site in the 10K set that
could be affected.

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5096490737860608

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/> and then hand edited.

-- 
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/CAG0MU3gf2ifuNT64OM7nHvo0jnXxkbZ4BmAh%2BYw0UUSq_iG%3D_g%40mail.gmail.com.

Reply via email to