Primary eng (and PM) emails
smcg...@chromium.org, fla...@chromium.org
Summary
Web Animations is a set of un-shipped web features (in all browsers), hidden behind --enable-blink-features=WebAnimationsAPI in Chrome. CompositeOperation is an enum defined by the spec and used in various places, with three values: 'replace', 'add', and 'accumulate'. Chrome today supports only 'replace' in stable, or 'replace' and 'add' when WebAnimationsAPI is enabled. Unfortunately Chrome also has a mixture of behaviors where in some situations it will accept 'add'/'accumulate' and silently turn them into 'replace', and in some situations it will throw a NotSupportedException upon seeing 'add'/'accumulate'. We plan to consolidate this behavior to always silently fallback to 'replace' when an unsupported (but valid) value is specified.
Motivation
This aligns Chrome with other browsers (Firefox), and allows developers to remove Chrome-specific workarounds.
Interoperability and Compatibility Risk
Low. To be clear, no behavior that is currently visible in Chrome stable will change. The only places that Chrome currently throws (and we wish to change) require the developer to be running with --enable-blink-features=WebAnimationsAPI (or --enable-blink-features=CSSAdditiveAnimations, which is a related flag).
Edge: Unknown.
Firefox: Supported; Firefox does not throw for valid composite values even when it doesn't implement them.
Safari: Unknown.
Alternative implementation suggestion for web developers
As in Firefox today, developers will be able to test for what composite value is being used as follows:
const anim = target.animate(keyframes, { composite: 'accumulate' });
if (!anim.effect) {
// No KeyframeEffect exposed; composite mode will be 'replace'.
} else {
// Will return the composite mode being used.
console.log(anim.effect.composite);
}
Usage information from UseCounter
No UseCounter implemented.
OWP launch tracking bug
http://crbug.com/806139 (note that this bug got conflated with a separate bug relating to Chrome stable, so it's a bit of a confusing read).
Entry on the feature dashboard
No entry. Change is believed to be too small to merit one.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d91185ae-23ec-4bbd-99a9-ed5d67cf520f%40chromium.org.