Commit d0314ae
Unify frame constructor append and insertion codepaths.
Having all that duplicated code is kinda useless, since append needs to
deal with insert anyways due to things like `::after` and
`display: contents`. This fixes the issue by virtue of this check:
https://searchfox.org/firefox-main/rev/aee7c0f24f488cd7f5a835803b48dd0c0cb2fd5f/layout/base/nsCSSFrameConstructor.cpp#7009
Which is really what's going on. IsValidSibling is wrong and can go.
Instead let WipeContainingBlock* deal with it, since we run that after
constructing the items.
This unlocks further simplifications but seems like a step in the right
direction and I don't want to get too side tracked into rewriting the
frame constructor.
The fieldset frame change mirrors table captions. Legends are dealt with
properly by the existing check in ConstructFramesFromItemList and / or
WipeContainingBlock. That allows to remove some special cases in
nsFlexContainerFrame and InspectorUtils.
Differential Revision: https://phabricator.services.mozilla.com/D277777
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2008148
gecko-commit: 4dc50e8367a1d9082bc8f8fa8296481ec97a2ba4
gecko-reviewers: TYLin, layout-reviewers1 parent 09f09d0 commit d0314ae
1 file changed
+10
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
0 commit comments