Intent to Prototype & Ship: activeViewTransition property on document

358 views
Skip to first unread message

Vladimir Levin

unread,
Jul 30, 2025, 11:31:16 AM Jul 30
to blink-dev

Contact emails

vmp...@google.com

Explainer

https://github.com/WICG/view-transitions/blob/main/active-view-transition.md

Specification

https://drafts.csswg.org/css-view-transitions-2

Summary

View Transitions API allows developers to start visual transitions between different states. The primary SPA entry point to this is `startViewTransition()` which returns a transition object. This object contains several promises and functionality to track the transition progress, as well as allow manipulations such as skipping the transition or modifying its types. The proposal here is ergonomic in nature: instead of requiring that users store this object in some sort of way for easy access, provide a `document.activeViewTransition` property that represents this object, or null if there is no transition ongoing. Note this similarly applies to MPA transitions, where the object is only available via `pageswap` and `pagereveal` events. In this proposal `document.activeViewTransition` would be set to this object for the duration of the transition.



Blink component

Blink>ViewTransitions>SPA

TAG review

https://github.com/w3ctag/design-reviews/issues/1124

TAG review status

Pending

Risks



Interoperability and Compatibility

This is a new addition that doesn't pose interop or compat risks. The availability of this feature is detectable via the presence of the property



Gecko : No signal ( https://github.com/mozilla/standards-positions/issues/1278 ) Discussed at  https://github.com/w3c/csswg-drafts/issues/12407

WebKit : No signal ( https://github.com/WebKit/standards-positions/issues/536 ) Discussed at  https://github.com/w3c/csswg-drafts/issues/12407

Web developers : No signals

Other signals :

Ergonomics

This is an ergonomic improvement



Activation

none



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?

None



Debuggability

This is debuggable via ways similar to other document properties



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 ?

Yes

Will add tests as part of the implementation



Flag name on about://flags

None

Finch feature name

DocumentActiveViewTransition

Rollout plan

Will ship enabled for all users

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/434949972

Estimated milestones

Shipping on desktop 141
Shipping on Android 141
Shipping on WebView 141


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/5067126381215744?gate=5627959184195584

This intent message was generated by  Chrome Platform Status .

Dan Clark

unread,
Aug 4, 2025, 2:13:21 PM Aug 4
to blink-dev, vmp...@chromium.org
Does this still need to be added to a spec? "activeViewTransition" doesn't appear anywhere in  https://drafts.csswg.org/css-view-transitions-2  or at  https://dom.spec.whatwg.org/#interface-document .

-- Dan

Vladimir Levin

unread,
Aug 20, 2025, 11:05:19 AM Aug 20
to blink-dev, dan...@microsoft.com, Vladimir Levin
Yes, there's a resolution on CSSWG  https://github.com/w3c/csswg-drafts/issues/12407#issuecomment-3129024378

We're working on the spec PR to add this to the spec

Thanks,
Vlad

Alex Russell

unread,
Aug 20, 2025, 11:11:57 AM Aug 20
to blink-dev, Vladimir Levin, dan...@microsoft.com
Given the plans for scoped view transitions (which I'm very excited about!), can there be more than one of these? Should it be an array or an interable?

Best,

Alex

Vladimir Levin

unread,
Aug 21, 2025, 9:54:35 AM Aug 21
to Alex Russell, blink-dev, dan...@microsoft.com
Here is the spec PR  https://github.com/w3c/csswg-drafts/pull/12635

Re multiple transitions, there is currently only one possible transition on the document. You're right that with scoped view transitions there will be a possibility of multiple transitions, but only one per scope. We plan to add Element.activeViewTransition for this purpose as well. We haven't considered exposing all transitions within the document, but it's certainly possible via some other property (e.g. activeSubtreeTransitions). I think that's somewhat orthogonal and there is still value in getting the specific transition that is currently ongoing on the scope as opposed to all transitions happening within the document.

Thanks!
Vlad

--
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+...@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a66de8b9-d042-496f-972c-9a5696d80dcdn%40chromium.org .

Alex Russell

unread,
Aug 25, 2025, 2:13:10 PM (13 days ago)  Aug 25
to blink-dev, Vladimir Levin, blink-dev, dan...@microsoft.com, Alex Russell
Is there a reason not to make this an array or iterable now?

Best,

Alex

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org .

Steve Kobes

unread,
Aug 25, 2025, 2:49:53 PM (13 days ago)  Aug 25
to Alex Russell, blink-dev, Vladimir Levin, dan...@microsoft.com
Given that the plan for scoped is to expose this property on the scope element, it seems better to have symmetry between the meanings of  element.activeViewTransition and document.activeViewTransition , and I don't think we'll ever want more than one active transition for the same scope.

If there's a need to iterate over all active transitions, let's call that something else?

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org .
--
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+...@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5231be74-902b-4697-b54b-63da7097668an%40chromium.org .

Alex Russell

unread,
Aug 27, 2025, 11:17:22 AM (11 days ago)  Aug 27
to blink-dev, Steve Kobes, blink-dev, Vladimir Levin, dan...@microsoft.com, Alex Russell
If that's the pun, wouldn't the right location be document.documentElement, rather than document?

Best,

Alex

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org .
--
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+unsubscribe@chromium.org .

Vladimir Levin

unread,
Aug 27, 2025, 11:21:51 AM (11 days ago)  Aug 27
to blink-dev, Alex Russell, Steve Kobes, blink-dev, Vladimir Levin, dan...@microsoft.com
On Wednesday, August 27, 2025 at 11:17:22 AM UTC-4 Alex Russell wrote:
If that's the pun, wouldn't the right location be document.documentElement, rather than document?

There's a subtle difference between a document transition and an element level transition. For example, cross-doc transitions are really document level transitions, so we'd like to have this on the document (and for scoped view transitions then support it on element as well)

Thanks,
Vlad

Best,

Alex

Rollout plan Will ship enabled for all users


Requires code in //chrome? False

Tracking bug https://issues.chromium.org/434949972

Estimated milestones Shipping on desktop 141 Shipping on Android 141 Shipping on WebView 141

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



This intent message was generated by  Chrome Platform Status .
--
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+unsubscribe@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a66de8b9-d042-496f-972c-9a5696d80dcdn%40chromium.org .
--
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+unsubscribe@chromium.org .

Alex Russell

unread,
Aug 27, 2025, 11:22:45 AM (11 days ago)  Aug 27
to blink-dev, Vladimir Levin, Alex Russell, Steve Kobes, blink-dev, dan...@microsoft.com
Alrighty, I am both educated and convinced. Thank you!

LGTM1

Philip Jägenstedt

unread,
Aug 27, 2025, 11:24:59 AM (11 days ago)  Aug 27
to Alex Russell, blink-dev, Vladimir Levin, Steve Kobes, dan...@microsoft.com
LGTM2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/220e58d7-3af1-48c9-87ef-99b54e91fa3bn%40chromium.org .

Yoav Weiss (@Shopify)

unread,
Aug 27, 2025, 11:43:57 AM (11 days ago)  Aug 27
to Philip Jägenstedt, Alex Russell, blink-dev, Vladimir Levin, Steve Kobes, dan...@microsoft.com
Reply all
Reply to author
Forward
0 new messages