[Gecko Bug 1584890] Part 1 - Use nsFrameConstructorState::AddChild() to construct out-of-flow flex or grid container as the root element. #23720
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If
contentFrame
is out-of-flow, nsFrameConstructorState::AddChild() canconstruct a placeholder frame for
contentFrame
and put the placeholder inframeList
.Also, we need to use nsFrameConstructorState::GetGeometricParent() to
get the correct parent when calling InitAndRestoreFrame() for an
out-of-flow
contentFrame
. For example, ifcontentFrame
hasposition:fixed, its parent should be ViewportFrame, not
CanvasFrame (which is mDocElementContainingBlock).
This patch also adds reftests for position:absolute flex & grid root
element. Reftests for position:fixed root element are in the next part.
Differential Revision: https://phabricator.services.mozilla.com/D76205
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1584890
gecko-commit: 84d138356c7699456abf8dc6483b1d49aab86771
gecko-integration-branch: autoland
gecko-reviewers: dholbert