The current finished promise timing happens within the rendering lifecycle steps. This means that code that runs as a result of promise resolution happens after the visual frame that removes the view transition has been produced. This can cause a flicker at the end of the animation if script moves some styles around in an attempt to preserve visually similar state (e.g. https://vmpstr.github.io/htmldemos/vt/flicker.html) This change rectifies the situation by moving the ViewTransition clean up steps to run asynchronously after the lifecycle is completed. This ensures that visual frame produced at finished promise resolution still maintains the View Transition structure, allowing developers to avoid the flicker. More info: https://github.com/w3c/csswg-drafts/issues/12442
None
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
None
Test is being added in the implementation.
Shipping on desktop | 140 |
Shipping on Android | 140 |
Shipping on WebView | 140 |
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