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.

Reply via email to