Intent to Continue Experimenting: Shared Element Transitions

Skip to first unread message

Vladimir Levin

Aug 30, 2021, 1:09:44 PM8/30/21
to blink-dev

Contact emails



Shared Element Transitions is a proposal for a new script API that allows a simple set of transitions in both Single-Page Applications (SPAs) and Multi-Page Applications (MPAs). This feature enhances the visual polish of pages without requiring a large development effort from developers to make transitions look nice. By selecting from a set of user-agent implemented transition effects, the developers can achieve a polished transition look with minimal effort.

Blink component


TAG review

TAG review status



Interoperability and Compatibility

Low. As a new feature, the risk here is that other browsers do not implement it, but since this is a progressive enhancement, sites should be able to drop usage of the feature easily in browsers where it is not supported.

Gecko: No signal

WebKit: No signal

Web developers: Positive Interest in the feature: Main feedback is requests to provide more customizability and power:




Low. As with interop/compat risks, the difficulty stems from this being a new feature without support in other browsers. A polyfill for the SPA case would be beneficial, but it will not be possible to polyfill MPA behavior. That said, dropping the customized transition should not impact the usability of a site, fundamentally, so this can easily be dropped on browsers that do not support the feature.


The current implementation handles transitions in Viz in anticipation of MPA scenarios. More details on this are outlined in the design doc. See also the security and privacy self-review questionnaire that was completed as part of the TAG review process:

Goals for experimentation

The API shape is currently limited, providing only a stock set of transition types. We've already seen engagement on the WICG and a desire for more customization (see web developer response). We hope to learn more about the utility of the default transition types and experiences partners would like to create, but are unable to achieve with the limited API (we have two external partners who have indicated interest). Based on that feedback, we may make changes to the API to add more customization. We also want to know how easy it is to adopt this API on an existing site.

Reason this experiment is being extended

We have gathered feedback from partners, but some amendments to the feature are needed in order for them to utilize the feature. Specifically, easing function, duration, and delay controls for shared elements is needed to better animation control. We are working on adding the controls and would like to extend the experiment. Original experiment start date: M92 Original experiment end date: M94 Proposed new end date: M96

Ongoing technical constraints



It is possible to set breakpoints inside post-preparation and post-transition handlers, but beyond this there is no way, presently, to debug an unexpected transition. Specifically, there currently is no way to scrub through a transition, or to inspect the shared/transitioned elements. These are potential areas for improvement if we get developer feedback that these would be helpful.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?


Currently no support for Android WebView. WebView presents challenges due to its rendering architecture.

Is this feature fully tested by web-platform-tests?


Flag name


Requires code in //chrome?


Tracking bug

Estimated milestones

OriginTrial desktop first92
OriginTrial desktop last96
OriginTrial android first92
OriginTrial android last96

Link to entry on the Chrome Platform Status

Links to previous Intent discussions

Intent to prototype:
Intent to Experiment:

This intent message was generated by Chrome Platform Status.

Yoav Weiss

Sep 1, 2021, 10:32:59 AM9/1/21
to Vladimir Levin, blink-dev
LGTM to extend the experiment till M96 (inclusive)

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
To view this discussion on the web visit

Arthur Sonzogni

Sep 7, 2021, 10:33:46 AM9/7/21
to Yoav Weiss, Vladimir Levin, blink-dev
Hi Vladimir,
Could you confirm this is a continuation of the OriginTrial supporting only Single-Page transitions? We weren't sure by reading this intent.
Arthur @arthursonzogni

Vladimir Levin

Sep 7, 2021, 11:20:56 AM9/7/21
to Arthur Sonzogni, Yoav Weiss, blink-dev
On Tue, Sep 7, 2021 at 10:33 AM Arthur Sonzogni <> wrote:
Hi Vladimir,
Could you confirm this is a continuation of the OriginTrial supporting only Single-Page transitions? We weren't sure by reading this intent.
Arthur @arthursonzogni

Yes, I can confirm that this is a request for continuation of OT for Single-Page App transition API only.  We intend to file a separate origin trial request, if needed, for any version of the API that includes the Multi-Page transitions.


Khushal Sagar

Oct 25, 2021, 12:11:42 PM10/25/21
to Vladimir Levin, Arthur Sonzogni, Yoav Weiss, blink-dev, Hannah Van Opstal

We want to request an extension to the end date of this OT from December 14 (current) to Jan 4. An engaged partner is running field experiments and they can use the extension to collect more data. The end milestone is still the same (M96), the new date aligns with the stable release of the next milestone.

Please let me know if this requires a new Intent or if we could get a quick LGTM here.


Chris Harrelson

Oct 25, 2021, 12:13:47 PM10/25/21
to Khushal Sagar, Vladimir Levin, Arthur Sonzogni, Yoav Weiss, blink-dev, Hannah Van Opstal
Reply all
Reply to author
0 new messages