view-transition: Add paint holding for in-process iframes
This change adds paint holding for in-process subframe navigations when
there is a ViewTransition by doing the following:
-
Assign the effect node which groups all content rendered by the
iframe a ViewTransition resource ID. This ensures that the content
doesn't paint into its target. It also ensures the content is cached
into a texture in Viz. -
Create a ViewTransitionContentLayer to draw the above render pass/
texture after painting the contents of the iframe. This ordering is
important to ensure the PaintLayer for the iframe contents (which uses
the above effect node) is painted before the new foreign layer. -
The resource ID for the subframe contents is included in the
ViewTransitionState for cross-document navigations.
Change-Id: I805847e8a032c2f19d094b270ef57046578a4e69
Bug: 330920521
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5545686
Reviewed-by: Dave Tapuska dtapuska@chromium.org
Reviewed-by: Joe Mason joenotcharles@google.com
Reviewed-by: Vladimir Levin vmpstr@chromium.org
Auto-Submit: Khushal Sagar khushalsagar@chromium.org
Commit-Queue: Khushal Sagar khushalsagar@chromium.org
Cr-Commit-Position: refs/heads/main@{#1305425}