On Tue, Oct 24, 2023 at 1:58 AM Mike Taylor <miketa...@chromium.org> wrote:
> Hey Rune, > On 10/20/23 9:30 AM, Rune Lillesveen wrote: > > Contact emails futh...@chromium.org, andr...@chromium.org > > Explainer None > > 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 component Blink>CSS > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS> > > TAG review None > > TAG review status Not 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 > > These 5 tests have a lot of failures, is that expected? > > - > > https://wpt.fyi/results/css/css-properties-values-api/animation/custom-property-animation-transform-function.html?label=master&label=experimental&aligned > - > > https://wpt.fyi/results/css/css-properties-values-api/animation/custom-property-animation-transform-list-multiple-values.html?label=experimental&label=master&aligned > - > > https://wpt.fyi/results/css/css-properties-values-api/animation/custom-property-animation-transform-list-single-values.html?label=experimental&label=master&aligned > - > > https://wpt.fyi/results/css/css-properties-values-api/animation/custom-property-transition-transform-function.html?label=experimental&label=master&aligned > - > > https://wpt.fyi/results/css/css-properties-values-api/animation/custom-property-transition-transform-list.html?label=experimental&label=master&aligned > > Yes, sorry, interpolation CLs[1][2] are not in yet (but will be before shipping). The remaining failures will be: 1. iterationComposite (we don't ship this for animations in general) 2. Various pre-existing serialization differences for transforms (we serialize translateX(30px) in one test where the test and Safari serializes as translate(30px)) 3. I am adding a tentative test where the mix() function, that none of the browsers implement/ship, is needed. [1] https://chromium-review.googlesource.com/c/chromium/src/+/4952484 [2] https://chromium-review.googlesource.com/c/chromium/src/+/4953299 > - > > > > Flag name on chrome://flags #enable-experimental-web-platform-features > > Finch feature name CSSVariables2TransformValues > > Requires code in //chrome? False > > Tracking bug https://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 > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuPfeRL2cdKk0ES9dJS-CrA7oH-NcnUeJhAZ%2BLnWHkt7dq8yA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- 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/CACuPfeStNr%3DTk%3DTe3DWhG3td%2BNQmk02CMdCk7xDfMsdM6h6bpg%40mail.gmail.com.