[wpt-sync] Sync PR 48297 - View transitions layered capture
Categories
(Core :: CSS Parsing and Computation, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox132 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 48297 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/48297
Details from upstream follow.
Noam Rosenthal <nrosenthal@chromium.org> wrote:
View transitions layered capture
Instead of baking tree-effects into view transition snapshots,
render the snapshot without these effects and add them as CSS to the
::view-transition-group pseudo-element.This is done by changing the effect order in PaintPropertyTreeBuilder, so that these effects are ancestors of the capture effect. In that way
the effects are not applied inside the capture.Also had to modify draw_property_utils, to ensure some of the surface
computations don't assume that the view-transition capture would later
be painted into an effect surface.See design document with detailed conversation and alternatives:
https://docs.google.com/document/d/1jSkIqqlrI4rzZ34cTWC-6TB81cspvHxTcpBD6nDCbE4/edit?tab=t.0#heading=h.tf5nf0fynnc2Impacted CSS properties:
- opacity
- mask
- clip-path
- filter
The following properties are also affected, will need a follow-up patch to finish this:
- clip
- border-radius (when clipping overflow). This is not entirely set up yet, and will follow up.
Bug: 347947051
Change-Id: I8f24adf0c2be89ff673f111f099eac065fd4bf7f
Reviewed-on: https://chromium-review.googlesource.com/5789282
WPT-Export-Revision: eee6f10fee66cac68b86ceeeda3e891bba1354bf
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Comment 2•1 year ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 34 tests and 1 subtests
Status Summary
Firefox
OK : 1
PASS : 20[GitHub] 22[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt]
FAIL : 6[GitHub] 8[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt]
TIMEOUT: 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 8[GitHub]
Chrome
OK : 1
PASS : 26
FAIL : 8
Safari
OK : 1
PASS : 11
FAIL : 23
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
Firefox-only Failures
- /css/css-view-transitions/element-is-grouping-during-animation.html [wpt.fyi]:
FAIL - /css/css-view-transitions/old-content-captures-different-size.html [wpt.fyi]:
FAILlinked bug:Bug 1819697 - /css/css-view-transitions/transform-origin-view-transition-group.html [wpt.fyi]:
FAIL - /css/css-view-transitions/nested/opacity-resets-after-done.tentative.html [wpt.fyi]:
TIMEOUT - /css/css-view-transitions/nested/opacity-resets-after-skip.tentative.html [wpt.fyi]:
TIMEOUT - /css/css-view-transitions/nested/opacity-computed-style.tentative.html [wpt.fyi]
- Applied opacity should not be observable via getComputedStyle:
FAIL[GitHub],TIMEOUT[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt]
- Applied opacity should not be observable via getComputedStyle:
New Tests That Don't Pass
- /css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main.html [wpt.fyi]:
SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:PASS, Safari:FAIL) - /css/css-view-transitions/element-is-grouping-during-animation.html [wpt.fyi]:
FAIL(Chrome:PASS, Safari:PASS) - /css/css-view-transitions/new-and-old-sizes-match.html [wpt.fyi]:
FAIL[GitHub],PASS[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:PASS, Safari:PASS) - /css/css-view-transitions/new-content-captures-different-size.html [wpt.fyi]:
FAIL[GitHub],PASS[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:PASS, Safari:PASS) - /css/css-view-transitions/old-content-captures-different-size.html [wpt.fyi]:
FAIL(Chrome:PASS, Safari:PASS) - /css/css-view-transitions/transform-origin-view-transition-group.html [wpt.fyi]:
FAIL(Chrome:PASS, Safari:PASS) - [/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask-image&old=linear-gradient(rgb(0 0 0 / 80%), transparent)&new=none](https://wpt.live/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask-image&old=linear-gradient(rgb(0 0 0 / 80%), transparent)&new=none) [[wpt.fyi](https://wpt.fyi/results/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask-image&old=linear-gradient(rgb(0 0 0 / 80%), transparent)&new=none)]:
FAIL[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:FAIL, Safari:FAIL) - /css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=filter&old=blur(3px)&new=blur(10px) [wpt.fyi]:
FAIL[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:FAIL, Safari:FAIL) - /css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=opacity&old=0.3&new=1 [wpt.fyi]:
FAIL[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:FAIL, Safari:FAIL) - [/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=clip-path&old=inset(10px 10px)&new=inset(20px 20px)](https://wpt.live/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=clip-path&old=inset(10px 10px)&new=inset(20px 20px)) [[wpt.fyi](https://wpt.fyi/results/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=clip-path&old=inset(10px 10px)&new=inset(20px 20px))]:
FAIL[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:FAIL, Safari:FAIL) - [/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask&old=linear-gradient(red,blue) luminance&new=none](https://wpt.live/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask&old=linear-gradient(red,blue) luminance&new=none) [[wpt.fyi](https://wpt.fyi/results/css/css-view-transitions/layered-capture/tree-effects.tentative.sub.html?prop=mask&old=linear-gradient(red,blue) luminance&new=none)]:
FAIL[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:FAIL, Safari:FAIL) - /css/css-view-transitions/nested/opacity-resets-after-done.tentative.html [wpt.fyi]:
TIMEOUT(Chrome:PASS, Safari:PASS) - /css/css-view-transitions/nested/opacity-resets-after-skip.tentative.html [wpt.fyi]:
TIMEOUT(Chrome:PASS, Safari:PASS) - /css/css-view-transitions/nested/opacity-computed-style.tentative.html [wpt.fyi]:
OK[GitHub],TIMEOUT[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)- Applied opacity should not be observable via getComputedStyle:
FAIL[GitHub],TIMEOUT[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:PASS, Safari:PASS)
- Applied opacity should not be observable via getComputedStyle:
Tests Disabled in Gecko Infrastructure
- /css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main.html [wpt.fyi]:
SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt],TIMEOUT[GitHub] (Chrome:PASS, Safari:FAIL)
Comment 4•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/0cc45c12f31d
https://hg.mozilla.org/mozilla-central/rev/ca180ab0d79b
Description
•