github web-platform-tests/wpt merge_pr_47494

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

Nested view transition: reparent & render

This tracks the view-transition-group for the captured elements
as "containing group". Those values are filtered to only include
ancestors.

  • When a captured element has a valid containing group, the
    pseudo-element is reparented to the containing group when the
    view transition starts.

  • Note that when capturing the old element, we don't deal with nesting
    at all. The tree for the purpose of allowing the compositor to
    capture the old state is flat. This can be revisited iteratively,
    it's done for implementation simplicity.

  • When building styles, the (inverse) parent transform is adjusted
    so that it's not applied twice.

  • Changed all the recursive functions to retrieve pseudo-elements
    to adapt to nested containers.

Currently, by default mismatches here are handled by
"last capture wins", however this is to be resolved in the CSSWG so it's not tested yet: w3c/csswg-drafts#10631

Note also that with the current implementation, after capturing the
old state and before starting might appear broken, as
clipping/opacity/etc are not applied to the generated pseudo-element.

Bug: 347947051
Change-Id: I49e4f7ea6c8d82b6ad34b50f8cda92eb3f074612
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5749090
Commit-Queue: Noam Rosenthal nrosenthal@chromium.org
Reviewed-by: Chris Harrelson chrishtr@chromium.org
Reviewed-by: David Bokan bokan@chromium.org
Cr-Commit-Position: refs/heads/main@{#1338296}

Don't miss a new wpt release

NewReleases is sending notifications on new releases.