Contact emailsfuth...@chromium.org, andr...@chromium.org

ExplainerNone

Specification
https://drafts.css-houdini.org/css-properties-values-api-1/#syntax-strings

Summary

Supports using the <transform-function> and <transform-list> syntaxes for
custom properties registered with @property or registerProperty(). The
syntax can be used to restrict values of the custom property to represent
transforms. This also makes it possible to use transitions and animations
directly on these registered custom properties.


<transform-list> and <transform-function> can have computed values that
contain both pixel and percentage values. They are interpolated as pixels
and percentages respectively. However, if transforms cannot be interpolated
on a function by function basis because the function types do not match,
they need to be interpolated by matrices which cannot represent percentage
values. For instance when interpolating between a translate and a rotate
with a percentage component in the translate function.

For those cases a mix() function is necessary to represent intermediate
values. Chrome does not yet implement a mix() function. Instead we fall
back to discrete interpolations to avoid non-representable computed values.
This is only a problem for the standard 'transform' property in the typed
om interfaces since getComputedStyle() returns the resolved value for the
'transform' property.

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

TAG reviewNone

TAG review statusNot applicable

Risks


Interoperability and Compatibility

None


*Gecko*: Positive Implementation behind a flag.

*WebKit*: Shipped/Shipping

*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?

None


Debuggability

No additional devtools support necessary compared to existing syntaxes.


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>
?Yes

https://wpt.fyi/css/css-properties-values-api/animation/custom-property-animation-list-type-mismatch.html
https://wpt.fyi/css/css-properties-values-api/animation/custom-property-animation-transform-function.html
https://wpt.fyi/css/css-properties-values-api/animation/custom-property-animation-transform-list-multiple-values.html
https://wpt.fyi/css/css-properties-values-api/animation/custom-property-animation-transform-list-single-values.html
https://wpt.fyi/css/css-properties-values-api/animation/custom-property-transition-transform-function.html
https://wpt.fyi/css/css-properties-values-api/animation/custom-property-transition-transform-list.html
https://wpt.fyi/css/css-properties-values-api/at-property.html
https://wpt.fyi/css/css-properties-values-api/registered-property-computation.html
https://wpt.fyi/css/css-properties-values-api/registered-property-initial.html
https://wpt.fyi/css/css-properties-values-api/register-property-syntax-parsing.html
https://wpt.fyi/css/css-properties-values-api/typedom.html


Flag name on chrome://flags#enable-experimental-web-platform-features

Finch feature nameCSSVariables2TransformValues

Requires code in //chrome?False

Tracking bughttps://crbug.com/911156

Estimated milestones
Shipping on desktop 120
DevTrial on desktop 115
Shipping on Android 120
DevTrial on Android 115
Shipping on WebView 120

Anticipated spec changes

Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github issues
in the project for the feature specification) whose resolution may
introduce web compat/interop risk (e.g., changing to naming or structure of
the API in a non-backward-compatible way).
None

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

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


-- 
Rune Lillesveen

-- 
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/CACuPfeRL2cdKk0ES9dJS-CrA7oH-NcnUeJhAZ%2BLnWHkt7dq8yA%40mail.gmail.com.

Reply via email to