github web-platform-tests/wpt merge_pr_48297

latest releases: merge_pr_49470, epochs/three_hourly/2024-12-03_06H, epochs/six_hourly/2024-12-03_06H...
6 months ago

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.tf5nf0fynnc2

Impacted 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/c/chromium/src/+/5789282
Reviewed-by: Arthur Sonzogni arthursonzogni@chromium.org
Reviewed-by: Khushal Sagar khushalsagar@chromium.org
Commit-Queue: Noam Rosenthal nrosenthal@chromium.org
Reviewed-by: Vladimir Levin vmpstr@chromium.org
Reviewed-by: Kentaro Hara haraken@chromium.org
Cr-Commit-Position: refs/heads/main@{#1358591}

Don't miss a new wpt release

NewReleases is sending notifications on new releases.