1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:18:12 +00:00
serenity/Tests/LibWeb/Layout/expected
Andreas Kling 5af02a914c LibWeb: Let parent formatting context determine size of flex containers
Until now, we had implemented flex container sizing by awkwardly doing
exactly what the spec said (basically having FFC size the container)
despite that not really making sense in the big picture. (Parent
formatting contexts should be responsible for sizing and placing their
children)

This patch moves us away from the Flexbox spec text a little bit, by
removing the logic for sizing the flex container in FFC, and instead
making sure that all formatting contexts can set both width and height
of flex container children.

This required changes in BFC and IFC, but it's actually quite simple!
Width was already not a problem, and it turns out height isn't either,
since the automatic height of a flex container is max-content.
With this in mind, we can simply determine the height of flex containers
before transferring control to FFC, and everything flows nicely.

With this change, we can remove all the virtuals and FFC logic for
negotiating container size with the parent formatting context.
We also don't need the "available space for flex container" stuff
anymore either, so that's gone as well.

There are some minor diffs in layout test results from this, but the
new results actually match other browsers more closely, so that's fine.

This should make flex layout, and indeed layout in general, easier to
understand, since this was the main weird special case outside of
BFC/IFC where a formatting context delegates work to its parent instead
of the other way around. :^)
2024-01-10 16:28:12 +01:00
..
block-and-inline LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
css-values LibWeb/CSS: Resolve percentages in NumericCalculationNode 2024-01-08 15:57:42 +00:00
flex LibWeb: Let parent formatting context determine size of flex containers 2024-01-10 16:28:12 +01:00
grid LibWeb: Add support for implicit grid lines formed by grid areas in GFC 2024-01-08 09:28:37 +01:00
misc Tests/LibWeb: Remove the "scroll.html" layout test for now 2023-11-06 09:42:41 +01:00
svg LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
table LibWeb: Improve style propagation to anonymous wrappers 2024-01-07 14:24:38 +01:00
abspos-box-with-replaced-element.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
abspos-flex-container-with-auto-height.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
abspos-flexbox-with-auto-height.txt LibWeb/Tests: Port height:auto abspos flex container test to layout test 2023-08-21 13:51:12 +02:00
abspos-image-with-min-height-constraint.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
abspos-not-replaced-multiple-auto-variants.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
abspos-with-percentage-insets.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
acid1.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
anonymous-wrappers-continue-to-inherit-style-after-change.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
aspect-ratio-auto-and-ratio.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
aspect-ratio-auto.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
aspect-ratio-ratio.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
automatic-height-of-non-replaced-abspos-element-must-not-be-negative.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
automatic-width-of-non-replaced-abspos-element-must-not-be-negative.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
blank.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
blockify-layout-internal-box-without-crashing.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
box-sizing-border-box-for-definite-sizes-without-layout.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
br-should-not-generate-pseudo-before.txt LibWeb: Don't generate ::before/::after for BR elements 2023-09-14 21:46:28 +02:00
calc-font-size-with-percentages.txt LibWeb: Resolve percentages in calc() for font-size 2023-10-06 08:23:03 +02:00
calc-negate-length.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
calc-with-fr.txt LibWeb/CSS: Parser should treat calc() with flex values as invalid 2023-10-11 07:07:29 +02:00
css-all-unset.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-calc-border-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-dir-selector.txt LibWeb: Implement the :dir() selector pseudo-class 2023-08-21 13:51:56 +02:00
css-ex-unit.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-font-size-calc.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-font-size-math.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
css-host-selector-gets-parsed.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-import-rule.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-imported-sheet-with-media-rule.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-invalid-psuedo-compound-selector.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-line-height-percentage-inheritance.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-logical-inset-properties.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-namespace-rule-matches.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-namespace-rule-no-match.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-namespace-tag-name-selector.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
css-namespace-universal-selector.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-pseudo-element-blockification.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-pseudo-element-should-not-be-affected-by-inline-style.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-pseudo-element-should-not-be-affected-by-presentational-hints.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-quotes-nesting.txt LibWeb: Track quote-nesting level while building the layout tree 2023-09-28 14:49:10 +02:00
css-revert.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-snap-a-length-as-a-border-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
css-text-transform-math-auto.txt LibWeb: Implement text-transform: math-auto 2023-09-11 17:03:22 +01:00
css-var-in-calc-block.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
details-closed.txt LibWeb: Remove special handling of disclosure-open/closed markers 2023-11-24 08:37:19 +01:00
details-open.txt LibWeb: Remove special handling of disclosure-open/closed markers 2023-11-24 08:37:19 +01:00
display-contents-with-in-children.txt LibWeb: Ignore "display: contents" boxes while inserting inline nodes 2023-12-23 20:52:42 +01:00
display-table-inline-children.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
div_align.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
div_align_nested.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
dont-crash-on-relayout-that-rewraps-text.txt LibWeb: Prune old paintable pointers from layout tree after relayout 2023-08-29 17:05:16 +02:00
element-use-pseudo-element.txt LibWeb: Move use pseudo element styles from TreeBuilder to StyleComputer 2023-12-17 23:12:34 +01:00
flex-abspos-item-with-preceding-whitespace.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-auto.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-constained-wrap.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-constrained-nowrap.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-height-constrained-width-constrained.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-height-constrained.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-height-unconstrained.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-item-with-auto-height-and-max-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-item-with-auto-height-depending-auto-width-with-max-width-constraint.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-column-item-with-auto-height-depending-on-auto-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-container-constrained-nowrap.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-container-constrained-wrap.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-container-width-constrained.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-frozen-items-should-be-respected.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-grow-0-column.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-grow-1.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-grow-2.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-item-auto-height-with-wrap.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-item-on-row-with-intrinsic-aspect-ratio.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-item-vertical-padding-relative-to-flex-container-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-item-with-cyclic-percentage-height.txt LibWeb: Let parent formatting context determine size of flex containers 2024-01-10 16:28:12 +01:00
flex-item-with-intrinsic-aspect-ratio.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-margin-auto-justify-content.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-row.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-shrink-1.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-shrink-2.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
flex-shrink-3.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
floating-non-replaced-element-percentage-padding-against-indefinite-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
floating-replaced-element-percentage-padding-against-indefinite-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
font-fractional-size.txt LibWeb: Allow fractional font sizes in CSS 2023-09-15 18:26:37 +02:00
font-size-legacy.txt LibWeb: Support size attribute on font elements 2023-11-21 16:54:02 +01:00
font-size-zero.txt LibWeb: Allow font-size: 0 2023-09-05 14:23:35 +02:00
font-with-many-normal-values.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
getComputedStyle-on-unconnected-element.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
height-min-max-fit-content.txt LibWeb: Accept height: {min,max,fit}-content 2023-08-20 19:37:50 +02:00
height-of-absolute-position-box-with-padding.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
html-encoding-detection-crash.txt LibWeb: Fix crash in HTML encoding detection when handling non-ASCII 2023-12-30 13:49:50 +01:00
image-display-block-margin-auto.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
image-with-multiple-constraint-violations.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
img-with-box-sizing-border-box-and-padding.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
img-with-percentage-max-width-and-indefinite-containing-block-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
img-with-percentage-max-width-and-min-content-containing-block-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
incomplete-input-no-newline-at-eof-should-not-crash.txt LibWeb: Prevent OOB access in HTMLEncodingDetection for input of '</' 2024-01-08 23:35:09 +01:00
inline-block-treat-100pct-width-as-auto.txt LibWeb/Tests: Move unresolvable % width on inline-block to layout test 2023-08-21 13:51:12 +02:00
inline-size.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
input-element-with-display-inline.txt LibWeb: Hide input placeholder when input already has a value 2023-12-10 20:56:19 +01:00
input-text-node-invalidation-on-value-change.txt LibWeb: Add input number up down UI buttons 2023-12-09 21:49:38 +01:00
inset-shorthand-property.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
lh-1.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
lh-2.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
line-height-calc-number.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
link-sheet.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
media-query-resolution.txt LibWeb: Support media queries with the resolution feature 2023-08-25 20:10:47 +02:00
negative-max-size.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
non-floating-non-replaced-element-percentage-padding-against-indefinite-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
nowrap-and-no-line-break-opportunity.txt LibWeb: Improve the line breaking algorithm 2023-08-21 19:31:00 +02:00
ordered-list.txt LibWeb: Add ol start and li value attributes support 2023-11-09 16:10:54 +01:00
overflow-x-hidden-with-border-radius.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
percentage-max-height-when-containing-block-has-indefinite-height.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
picture-source-media-query.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
place-content-shorthand-property.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
position-absolute-from-edges.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
position-absolute-ignores-padding-of-position-relative-floating-parent.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
position-absolute-top-left.txt LibWeb: Skip out-of-flow boxes when wrapping inlines in anonymous block 2023-12-11 13:19:12 +01:00
position-empty-pseudo-elements.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
pre.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
pseudo-element-with-custom-properties-2.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
pseudo-element-with-custom-properties.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
replaced-box-with-vertical-margins.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
replaced-within-max-content.txt LibWeb: Only propagate CSS overflow to the viewport once per tree build 2023-11-02 20:50:48 +01:00
resolve-cyclic-percentage-against-zero-when-available-size-is-min-content.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
resolve-height-of-containing-block.txt LibWeb: Skip out-of-flow boxes when wrapping inlines in anonymous block 2023-12-11 13:19:12 +01:00
set-margin-of-floating-box.txt LibWeb: Skip out-of-flow boxes when wrapping inlines in anonymous block 2023-12-11 13:19:12 +01:00
shadow-tree-removed-from-dom-receives-event.txt LibWeb: Do not assume a shadow root has a host 2023-12-04 01:33:57 +01:00
space-is-soft-line-break-opportunity.txt LibWeb: Improve the line breaking algorithm 2023-08-21 19:31:00 +02:00
style-invalidation-line-height-propagation.txt LibWeb: Improve style propagation to anonymous wrappers 2024-01-07 14:24:38 +01:00
svg-preserve-aspect-ratio.txt LibWeb: Support transforms, stroking, gradients, etc for SVG <text> 2023-11-05 02:46:46 +01:00
svg-text-with-viewbox.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
svg-transforms-and-viewboxes.txt LibWeb: Remove rounding division for CSSPixels 2024-01-06 21:40:27 +01:00
text-align-justify-with-forced-break.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
text-align-overflow.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
text-indent.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
textarea-content.txt LibWeb: Add textarea placeholder 2024-01-07 10:22:32 +01:00
textnode-width-bitmap-font.txt LibWeb: Don't add an extra glyph spacing to width of TextNode 2023-11-04 17:39:04 +01:00
tolerate-css-percentage-overshoot.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
transform-calc-length-values.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
utf-16-be-xhtml-file-should-decode-correctly.txt LibWeb: Fix utf16-be check in HTMLEncodingDetection 2024-01-08 23:35:09 +01:00
vertical-padding-relative-to-cb-width.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
viewport-overflow-propagation-1.txt LibWeb: Add ViewportPaintable to represent viewports in the paint tree 2023-08-20 05:02:59 +02:00
viewport-overflow-propagation-2.txt LibWeb: Bring html element height calculation closer to the spec 2023-08-31 21:43:58 +02:00