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.