LGTM1
On 1/23/23 2:26 PM, Khushal Sagar wrote:
On Mon, Jan 23, 2023 at 1:55 PM Mike Taylor <miketa...@chromium.org>
wrote:
Hi Khushal,
On 1/19/23 3:12 PM, Khushal Sagar wrote:
Contact emails
bo...@chromium.org, hvanops...@chromium.org,
jakearchib...@chromium.org, khushalsa...@chromium.org,
vmp...@chromium.org
Explainer
https://github.com/WICG/view-transitions/blob/main/explainer.md
<https://github.com/WICG/shared-element-transitions/blob/main/explainer.md>
Specification
https://www.w3.org/TR/css-view-transitions-1
<https://www.w3.org/TR/css-view-transitions-1>
Summary
View Transitions
<https://developer.chrome.com/docs/web-platform/view-transitions/>is
an API that enables the creation of polished transitions. Web
developers only need minimal effort to make transitions look
nice. They can choose to use some default animation properties,
or they can customize their own transition effects to achieve a
desired transition experience.
This is accomplished by leveraging user-agents’ ability to
persist visual representations of rendered output (i.e.
snapshots) and blend them with the live DOM state’s rendered
output. The API also allows these animations to be customized via
standard CSS animation properties.
Note that while this intent is limited to shipping an API for
same-document transitions (i.e. by using
document.startViewTransition, as outlined in the spec), there is
ongoing work to provide this feature for same-origin,
cross-document navigations (MPA). MPA support will be added as a
follow up via a separate intent to ship.
Blink component
Blink>ViewTransitions
<https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EViewTransitions&can=2>
TAG review
https://github.com/w3ctag/design-reviews/issues/748
<https://github.com/w3ctag/design-reviews/issues/748>
Can you confirm that all the follow-up issues
<https://github.com/w3ctag/design-reviews/issues/748#issuecomment-1379517669>
filed in response to feedback in this review are
backwards-compatible with what you propose to ship now?
Yes, most follow-up issues filed based on TAG feedback are about
transitions initiated from navigations. This is part of the MPA work
which we plan to ship as a follow up and it can be shipped
independently of the same-document transitions covered by this intent.
The only issue on that review which concerns same-document transitions
is #8319 <https://github.com/w3c/csswg-drafts/issues/8319>, a syntax
which would allow selecting a subset of generated pseudo-elements.
This syntax addition can be made in a backwards-compatible way.
Thanks, SGTM.
TAG review status
Pending
Risks
Interoperability and Compatibility
Low. As a new feature, the primary risk is that other browsers do
not implement it. But since this is a progressive enhancement,
sites should be able to feature-detect and drop usage of the
feature easily in browsers where it is not supported without
breaking any site functionality.
This feature can be feature-detected by checking the existence of
the document.startViewTransition function:
```js
if (!document.startViewTransition) {
/* feature is not available */
} else {
/* start transition */
}
```
Gecko: Under consideration
(https://github.com/mozilla/standards-positions/issues/677
<https://github.com/mozilla/standards-positions/issues/677>)
WebKit: No signal
(https://github.com/WebKit/standards-positions/issues/48
<https://github.com/WebKit/standards-positions/issues/48>)
Web developers: Strongly positive interest in and developer
experimentation with the API:
*
Updated developer.chrome article (Twitter)
<https://twitter.com/jaffathecake/status/1554460598980812809>
*
News about the new SET API (Twitter)
<https://twitter.com/jaffathecake/status/1524782819431555074>
*
Dev-built demo using SET (Twitter)
<https://twitter.com/jh3yy/status/1550675304280035328>
*
I/O Session (Youtube
<https://www.youtube.com/watch?v=JCJUPJ_zDQ4>)
*
Dev-built demo using SET (Reddit)
<https://www.reddit.com/r/webdev/comments/uyoit1/i_played_around_with_chromes_new_shared_element/>
*
Dev-built demo using SET (Twitter)
<https://twitter.com/OliverJAsh/status/1530261401016705026?t=CXqW2yiIMbH6bLfn8ImINw&s=19>
*
Dev-built demo using SET (Twitter)
<https://twitter.com/charca/status/1561830946462384128>
*
Dev-built demo using SET (Twitter)
<https://twitter.com/AdrianBeceDev/status/1567177956199485450>
*
Dev-built demo using SET (Twitter)
<https://twitter.com/charca/status/1570835238359830529>
*
https://twitter.com/dannymoerkerke/status/1597187172783693824
<https://twitter.com/dannymoerkerke/status/1597187172783693824>
*
The Shared Element Transition API is Flipping Cool | Chris
Coyier
<https://chriscoyier.net/2022/10/21/the-shared-element-transition-api-is-fliping-cool/>
*
Every Transition is a Page Transition? | OddBird
<https://www.oddbird.net/2022/06/29/shared-elements/>
*
https://twitter.com/derSchepp/status/1590709783807791104
<https://twitter.com/derSchepp/status/1590709783807791104>
*
Astro stands to benefit highly from View Transitions | Chris
Coyier
<https://chriscoyier.net/2022/11/08/astro-stands-to-benefit-highly-from-view-transitions/>
*
Shared Element Transitions API Part 1 | Smashing Magazine
<https://www.smashingmagazine.com/2022/10/ui-animations-shared-element-transitions-api-part1/>
Ergonomics
None.
Activation
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. That said, this feature is
a progressive enhancement for sites; they can easily use the API
and still function correctly on browsers that do not support the
feature.
Security
The primary security constraint is ensuring isolation of graphics
resources from multiple origins. The design achieves that by
using Chromium's Viz process, similar to site isolation for iframes.
See also the security and privacy self-review questionnaire that
was completed as part of the TAG review
process:https://github.com/WICG/view-transitions/blob/main/security-privacy-questionnaire.md
<https://github.com/WICG/view-transitions/blob/main/security-privacy-questionnaire.md>
The following issues track review from security/privacy
WGs:https://github.com/w3c/security-request/issues/43
<https://github.com/w3c/security-request/issues/43>andhttps://github.com/w3cping/privacy-request/issues/107
<https://github.com/w3cping/privacy-request/issues/107>.
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. This feature is fully available and functional for WebView.
Debuggability
The feature can be debugged using standard tooling in devtools.
Specifically, the animations drawer tab
<https://developer.chrome.com/docs/devtools/css/animations/>can
be used to pause and scrub through all animations on generated
pseudo-elements.
The pseudo DOM structure generated by the user agent can also be
inspected and targeted, like other DOM elements, in the style panel.
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, Chrome OS, 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
DevTrial instructions
https://developer.chrome.com/docs/web-platform/view-transitions
<https://developer.chrome.com/docs/web-platform/view-transitions>
Flag name
ViewTransition
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1405452
Measurement
Usage is tracked via a UseCounter:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/view_transition/view_transition_supplement.idl;l=9;drc=501455e6942313c87a276e8fde93e507786cc51c
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/view_transition/view_transition_supplement.idl;l=9;drc=501455e6942313c87a276e8fde93e507786cc51c>
Sample links
https://developer.chrome.com/docs/web-platform/view-transitions
<https://developer.chrome.com/docs/web-platform/view-transitions>
Previous milestones
OriginTrial desktop last
106
OriginTrial desktop first
104
DevTrial on desktop
104
OriginTrial Android last
106
OriginTrial Android first
104
DevTrial on Android
104
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 following open issues are awaiting resolution in CSSWG:
https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+css-view-transitions+label%3Acss-view-transitions-1+label%3AAgenda%2B
<https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+css-view-transitions+label%3Acss-view-transitions-1+label%3AAgenda%2B>.
We anticipate that any change from a resolution on these issues
has minimal to no compat risk.
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5193009714954240
<https://chromestatus.com/feature/5193009714954240>
Links to previous Intent discussions
Intent to prototype:
https://groups.google.com/a/chromium.org/g/blink-dev/c/7SMI3IklO4g/m/JS-JojxNAwAJ
<https://groups.google.com/a/chromium.org/g/blink-dev/c/7SMI3IklO4g/m/JS-JojxNAwAJ>
Intent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMLuWUyUH0939fLa7xH_EuRtgn0MWBzG8qzLMmH0zJ9GBBTh-A%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMLuWUyUH0939fLa7xH_EuRtgn0MWBzG8qzLMmH0zJ9GBBTh-A%40mail.gmail.com>
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/CAMLuWUxa3FH0pseWhQWg3w0ESfHMhjK3KLyat8G4sQzZ0tmzOA%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMLuWUxa3FH0pseWhQWg3w0ESfHMhjK3KLyat8G4sQzZ0tmzOA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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/de3e2580-8a8c-b15f-5a92-70e21f3999b2%40chromium.org.