On Fri, Oct 11, 2024 at 2:23 PM Alex Russell <slightly...@chromium.org> wrote:
> Is Apple is pushing back on caret animation for battery life reasons? Do > we share that concern? Fortunately not. The issue for Safari is that they render the caret in a way that defies customization. In the CSS WG discussion the Apple folks were not opposed, they just wanted it to be a "browsers may support this" rather than "must", with @supports to detect the situation. >From a battery perspective using this feature should be a win, or at worst neutral. There will be no invalidation and repainting of the caret due to blinking which would typically save battery. However, the feature is likely to be used with caret-color animation, which does a lot of repainting but the blinking would not add to the cost. Cheers, Stephen. > Best, > > Alex > > On Thursday, October 10, 2024 at 6:17:12 AM UTC-7 Chromestatus wrote: > >> Contact emails schen...@chromium.org >> >> Explainer https://drafts.csswg.org/css-ui/#caret-animation >> https://github.com/w3c/csswg-drafts/issues/9707 >> >> Specification https://drafts.csswg.org/css-ui/#caret-animation >> >> Summary >> >> Chromium supports animation of the caret-color property, but when >> animated the default blinking behavior of the caret interferes with the >> animation. For instance, see the example at >> https://drafts.csswg.org/css-ui/#caret-animation where an animation from >> blue to red and back is rendered as a blinking cursor that is randomly blue >> or red. The CSS caret-animation property has two possible values: auto and >> manual, where auto means browser default (blinking) and manual means the >> page author is controlling the caret animation. In addition, via a user >> stylesheet, it allows users who are disturbed by or have adverse reactions >> to blinking or flashing visuals to disable the blinking. >> >> >> Blink component Blink>CSS >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS> >> >> Search tags caret-color <http:///features#tags:caret-color>, >> caret-animation <http:///features#tags:caret-animation> >> >> TAG review None >> >> TAG review status Not applicable >> >> Risks >> >> >> Interoperability and Compatibility >> >> None >> >> >> *Gecko*: Positive Supported the spec change. >> >> *WebKit*: Neutral In spec discussions, Safari indicated that their caret >> does not support color animation and cannot be customized, so they are >> unlikely to implement this spec feature. >> >> *Web developers*: No signals >> >> *Other signals*: >> >> Ergonomics >> >> Likely to be used with existing support for caret-color animation to >> improve the behavior of that feature. >> >> >> Activation >> >> No risks. >> >> >> Security >> >> None. >> >> >> 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? >> >> No specific Webview risk. >> >> >> Debuggability >> >> Support in DevTools. >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, 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 >> >> Tests will land with the feature. I have confirmed that WPT can be >> created to test the feature. >> >> >> Flag name on chrome://flags Experimental web platform features >> >> Finch feature name CSSCaretAnimation >> >> Requires code in //chrome? False >> >> Tracking bug https://issues.chromium.org/issues/329301988 >> >> Measurement Through usual CSS feature counters. >> >> Availability expectation It's in the spec and relatively easy to >> implement, so I would expect at least Firefox to implement. WebKit maybe >> not due to more complex caret painting. >> >> Adoption expectation I would expect almost anyone animating the caret >> color to use this feature. caret-color itself has over 12% usage per page >> load. It is rarely animated (maybe 0.016% of loads) but that may well be >> due to the issues addressed by this change. So I would expect animated >> caret-color to maybe hit 1% over time. >> >> Adoption plan I would rely on organic adoption once the feature is out >> and publicized. I will publicize it. >> >> Non-OSS dependencies >> >> Does the feature depend on any code or APIs outside the Chromium open >> source repository and its open-source dependencies to function? >> None. >> >> Estimated milestones >> Shipping on desktop 133 >> Shipping on Android 133 >> Shipping on WebView 133 >> >> 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). >> The feature is in the spec draft and was recently discussed and resolved >> in the working group. >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5082469066604544?gate=5119320993300480 >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com>. >> > -- 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/CAGsbWzQLpnH8z6%2BDhvNJjP756Ytku9Vznbs9b5a4yY-cfcpR1Q%40mail.gmail.com.