Open Bug 2002160 Opened 7 months ago Updated 7 months ago

native anonymous content in the custom content container gets the wrong ASR if the root is captured by a view transition

Categories

(Core :: Web Painting, defect)

defect

Tracking

()

People

(Reporter: tnikkel, Unassigned)

References

Details

This isn't necessarily an issue we need to fix, but getting it on file.

We build the display list for the native anonymous content that is inside the custom content container in ViewportFrame::BuildDisplayListForViewTransitionsAndNACTopLayer. That gets called from ScrollContainerFrame::MaybeCreateTopLayerAndWrapRootItems

https://searchfox.org/firefox-main/rev/ac83682a4bb79a331262395ba5237ee621454275/layout/generic/ScrollContainerFrame.cpp#3670

which notably is outside of the nsDisplayViewTransitionCapture item created further up that function. These frames in the custom content container are abs pos children of the canvas frame, and the canvas frame being a child of the root scroll frame, means that when we call MarkAbsoluteFramesForDisplayList for the canvas frame we are building a display list that is marked as being inside the view transition capture, so the ASR and saved OutOfFlowData will be computed as such. So then later when we fetch this saved OutOfFlowData that was computing inside the view transition catpure to use for the frames in the custom content container that are outside of the view tranistion capture we run into this disconnect.

(I ran into this in bug 1988030 where it tripped up some asserts I had that ASRs were as we expected.)

You need to log in before you can comment on or make changes to this bug.