From e7de5cb4d2a3c0208c5665eee3c94eb2755a1cfd Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 12 Jan 2024 12:39:40 +0100 Subject: [PATCH] LibWeb: Bring CSS `line-height` closer to other engines This patch makes a few changes to the way we calculate line-height: - `line-height: normal` is now resolved using metrics from the used font (specifically, round(A + D + lineGap)). - `line-height: calc(...)` is now resolved at style compute time. - `line-height` values are now absolutized at style compute time. As a consequence of the above, we no longer need to walk the DOM ancestor chain looking for line-heights during style computation. Instead, values are inherited, resolved and absolutized locally. This is not only much faster, but also makes our line-height metrics match those of other engines like Gecko and Blink. --- ...abspos-flex-container-with-auto-height.txt | 14 +- .../abspos-flexbox-with-auto-height.txt | 16 +- .../abspos-with-percentage-insets.txt | 16 +- ...continue-to-inherit-style-after-change.txt | 24 +- .../abspos-grid-with-definite-width.txt | 28 +- ...-inline-with-percentage-vertical-align.txt | 12 +- .../atomic-inline-with-white-space-nowrap.txt | 16 +- ...-consider-all-currently-stacked-floats.txt | 40 +- ...lock-level-floating-box-with-clearance.txt | 12 +- ...ock-with-fit-content-width-constraints.txt | 28 +- .../block-with-fit-content-width.txt | 20 +- ...block-with-hidden-overflow-after-float.txt | 36 +- ...th-hidden-overflow-after-sibling-float.txt | 68 ++-- .../block-with-max-content-width.txt | 44 +- .../block-with-min-content-width.txt | 56 +-- ...egative-margin-and-no-intruding-floats.txt | 20 +- .../button-baseline-align.txt | 44 +- ...should-have-vertically-aligned-content.txt | 34 +- .../block-and-inline/button-width.txt | 40 +- .../button-with-after-pseudo.txt | 32 +- .../button-with-before-pseudo.txt | 32 +- ...tton-with-block-content-baseline-align.txt | 52 +-- ...on-with-multiple-words-text-node-label.txt | 24 +- ...ton-with-text-node-label-and-font-size.txt | 24 +- .../button-with-text-node-label.txt | 24 +- ...ar-both-from-inline-formatting-context.txt | 24 +- ...ear-both-without-introducing-clearance.txt | 28 +- .../columns-33-percent-width.txt | 2 +- ...tainer-should-avoid-overlapping-floats.txt | 12 +- .../expected/block-and-inline/float-1.txt | 112 ++--- .../expected/block-and-inline/float-2.txt | 16 +- .../expected/block-and-inline/float-3.txt | 24 +- .../expected/block-and-inline/float-4.txt | 16 +- .../float-clear-by-line-break.txt | 28 +- ...d-right-with-justified-text-in-between.txt | 216 +++++----- ...at-left-and-right-with-text-in-between.txt | 76 ++-- ...-content-containing-block-flex-display.txt | 30 +- .../float-max-content-containing-block.txt | 22 +- .../float-should-avoid-inline-block.txt | 36 +- .../block-and-inline/float-stress-2.txt | 8 +- .../floats-and-negative-margins.txt | 16 +- ...loats-with-negative-percentage-margins.txt | 12 +- ...ed-break-stops-non-whitespace-sequence.txt | 12 +- ...tainer-should-avoid-overlapping-floats.txt | 8 +- ...loat-left-and-sibling-with-margin-left.txt | 12 +- .../inline-block-baseline-1.txt | 38 +- .../inline-block-baseline-2.txt | 42 +- ...line-block-contained-by-abspos-element.txt | 42 +- .../inline-block-percentage-max-width.txt | 20 +- ...nline-block-with-max-width-fit-content.txt | 20 +- ...ht-and-auto-height-of-containing-block.txt | 24 +- .../inline-box-positioned-with-top-left.txt | 10 +- ...th-vertical-margins-vertical-align-top.txt | 6 +- .../inline-box-with-vertical-margins.txt | 10 +- ...e-node-not-inserted-into-generated-box.txt | 24 +- .../list-markers-intruded-by-float.txt | 84 ++-- .../block-and-inline/margin-collapse-1.txt | 8 +- .../block-and-inline/margin-collapse-2.txt | 12 +- .../block-and-inline/margin-collapse-5.txt | 24 +- .../margin-padding-block-inline-start.txt | 20 +- .../margin-padding-block-inline.txt | 20 +- ...max-width-for-box-with-inline-children.txt | 28 +- ...ontributes-to-intrinsic-size-of-parent.txt | 20 +- .../max-width-percentage-100-border-box.txt | 14 +- .../max-width-percentage-100.txt | 14 +- .../max-width-percentage-containing-block.txt | 16 +- .../max-width-wrapped-in-max-content.txt | 48 +-- ...min-width-for-box-with-inline-children.txt | 20 +- ...bfc-width-to-avoid-overlap-with-floats.txt | 32 +- ...n-height-with-containing-block-padding.txt | 4 +- .../percentage-min-height.txt | 16 +- ...ith-max-content-containing-block-width.txt | 16 +- ...-with-indefinite-containing-block-size.txt | 10 +- .../block-and-inline/relpos-block.txt | 24 +- .../block-and-inline/relpos-float.txt | 22 +- .../relpos-inline-element-js-offsets.txt | 52 +-- .../relpos-inline-elements.txt | 14 +- .../single-br-inline-layout.txt | 14 +- .../small-percentage-margin.txt | 16 +- ...ns-set-zero-if-containing-size-smaller.txt | 26 +- ...-box-for-definite-sizes-without-layout.txt | 24 +- .../br-should-not-generate-pseudo-before.txt | 28 +- .../calc-font-size-with-percentages.txt | 16 +- Tests/LibWeb/Layout/expected/calc-with-fr.txt | 36 +- .../LibWeb/Layout/expected/css-all-unset.txt | 6 +- .../Layout/expected/css-dir-selector.txt | 64 +-- .../Layout/expected/css-font-size-calc.txt | 12 +- .../Layout/expected/css-font-size-math.txt | 16 +- .../css-host-selector-gets-parsed.txt | 4 +- .../Layout/expected/css-import-rule.txt | 8 +- .../css-imported-sheet-with-media-rule.txt | 8 +- .../expected/css-namespace-rule-matches.txt | 16 +- .../expected/css-namespace-rule-no-match.txt | 16 +- .../css-namespace-tag-name-selector.txt | 24 +- .../css-pseudo-element-blockification.txt | 32 +- .../Layout/expected/css-quotes-nesting.txt | 132 +++--- Tests/LibWeb/Layout/expected/css-revert.txt | 12 +- .../expected/css-text-transform-math-auto.txt | 16 +- .../LibWeb/Layout/expected/details-closed.txt | 20 +- Tests/LibWeb/Layout/expected/details-open.txt | 28 +- .../display-contents-with-in-children.txt | 8 +- Tests/LibWeb/Layout/expected/div_align.txt | 130 +++--- .../Layout/expected/div_align_nested.txt | 52 +-- ...nt-crash-on-relayout-that-rewraps-text.txt | 32 +- .../expected/element-use-pseudo-element.txt | 20 +- Tests/LibWeb/Layout/expected/flex-auto.txt | 12 +- .../expected/flex-column-constained-wrap.txt | 12 +- .../flex-column-constrained-nowrap.txt | 12 +- ...n-height-constrained-width-constrained.txt | 12 +- .../flex-column-height-constrained.txt | 12 +- .../flex-column-height-unconstrained.txt | 12 +- ...mn-item-with-auto-height-and-max-width.txt | 32 +- ...g-auto-width-with-max-width-constraint.txt | 32 +- ...th-auto-height-depending-on-auto-width.txt | 32 +- .../flex-container-constrained-nowrap.txt | 12 +- .../flex-container-constrained-wrap.txt | 12 +- .../flex-container-width-constrained.txt | 12 +- .../flex-frozen-items-should-be-respected.txt | 20 +- .../Layout/expected/flex-grow-0-column.txt | 36 +- Tests/LibWeb/Layout/expected/flex-grow-1.txt | 12 +- Tests/LibWeb/Layout/expected/flex-grow-2.txt | 12 +- .../flex-item-auto-height-with-wrap.txt | 12 +- ...dding-relative-to-flex-container-width.txt | 4 +- ...lex-item-with-cyclic-percentage-height.txt | 24 +- .../flex-margin-auto-justify-content.txt | 12 +- Tests/LibWeb/Layout/expected/flex-row.txt | 12 +- .../LibWeb/Layout/expected/flex-shrink-1.txt | 24 +- .../LibWeb/Layout/expected/flex-shrink-2.txt | 12 +- .../LibWeb/Layout/expected/flex-shrink-3.txt | 12 +- ...child-static-position-with-align-items.txt | 36 +- ...d-static-position-with-justify-content.txt | 128 +++--- ...osition-with-padding-on-flex-container.txt | 20 +- .../flex/align-keywords-start-and-end.txt | 60 +-- ...x-container-with-max-content-main-size.txt | 4 +- ...ment-does-not-get-blockified-by-itself.txt | 24 +- .../Layout/expected/flex/calc-flex-basis.txt | 16 +- ...-sizing-border-box-and-nonzero-padding.txt | 44 +- ...-column-item-with-percentage-max-width.txt | 8 +- ...-cross-size-with-max-content-main-size.txt | 20 +- .../flex/flex-item-min-width-fit-content.txt | 22 +- ...layout-dependent-containing-block-size.txt | 28 +- ...flex-row-reverse-with-centered-content.txt | 12 +- ...flex-shorthand-flex-basis-zero-percent.txt | 16 +- .../inf-available-space-with-auto-margins.txt | 16 +- ...ith-main-axis-margin-on-flex-container.txt | 20 +- ...mn-items-with-different-kinds-of-width.txt | 92 ++--- .../expected/flex/justify-content-1.txt | 384 +++++++++--------- ...tify-content-space-between-single-item.txt | 16 +- ...justify-content-with-margin-auto-child.txt | 192 ++++----- .../flex/list-container-display-contents.txt | 28 +- ...is-with-indefinite-flex-container-size.txt | 20 +- .../Layout/expected/flex/relpos-flex-item.txt | 24 +- ...ut-with-space-between-and-space-around.txt | 72 ++-- .../Layout/expected/font-fractional-size.txt | 20 +- .../Layout/expected/font-size-legacy.txt | 12 +- .../expected/font-with-many-normal-values.txt | 6 +- ...etComputedStyle-on-unconnected-element.txt | 12 +- .../Layout/expected/grid/abspos-item.txt | 24 +- .../Layout/expected/grid/align-items.txt | 76 ++-- .../Layout/expected/grid/align-self.txt | 76 ++-- .../expected/grid/all-implicit-rows.txt | 16 +- .../expected/grid/anonymous-inline-child.txt | 16 +- .../auto-fill-and-named-line-placement.txt | 20 +- .../Layout/expected/grid/auto-fill-rows.txt | 32 +- .../LibWeb/Layout/expected/grid/auto-fill.txt | 32 +- .../grid/auto-fit-collapse-empty-tracks.txt | 16 +- .../LibWeb/Layout/expected/grid/auto-fit.txt | 32 +- .../grid/auto-flow-column-spanning-item.txt | 20 +- .../Layout/expected/grid/auto-flow-column.txt | 24 +- Tests/LibWeb/Layout/expected/grid/basic-2.txt | 24 +- Tests/LibWeb/Layout/expected/grid/basic.txt | 40 +- Tests/LibWeb/Layout/expected/grid/borders.txt | 200 ++++----- .../Layout/expected/grid/calc-track-size.txt | 20 +- .../grid/columns-auto-fill-with-gap-2.txt | 28 +- .../expected/grid/container-min-height.txt | 8 +- .../expected/grid/different-column-sizes.txt | 40 +- ...bute-extra-space-across-spanned-tracks.txt | 36 +- .../grid/float-container-columns-1fr-1fr.txt | 38 +- .../grid/floating-table-wrapper-width.txt | 64 +-- .../Layout/expected/grid/grid-gap-1.txt | 40 +- .../Layout/expected/grid/grid-gap-2.txt | 24 +- .../Layout/expected/grid/grid-gap-3.txt | 16 +- .../grid/grid-item-fixed-paddings.txt | 44 +- .../expected/grid/grid-item-fixed-size.txt | 4 +- .../grid-item-horizontal-margins-auto.txt | 148 +++---- .../expected/grid/grid-item-min-size.txt | 8 +- .../grid/grid-item-percentage-margins.txt | 20 +- .../grid/grid-item-percentage-width-2.txt | 82 ++-- .../grid/grid-item-percentage-width.txt | 24 +- .../grid/grid-item-with-fit-content-width.txt | 16 +- ...id-row-height-affected-by-item-margins.txt | 16 +- .../Layout/expected/grid/grid-span-4.txt | 24 +- .../grid/grid-template-areas-basics.txt | 32 +- ...template-columns-with-min-css-function.txt | 16 +- .../Layout/expected/grid/grid-template.txt | 16 +- .../expected/grid/grow-beyond-limits.txt | 20 +- .../Layout/expected/grid/implicit-lines.txt | 12 +- .../expected/grid/inline-grid-simple.txt | 20 +- .../expected/grid/intrinsic-sized-column.txt | 20 +- .../expected/grid/intrinsic-sized-grid-2.txt | 26 +- .../expected/grid/intrinsic-sized-grid.txt | 20 +- .../item-align-self-center-and-max-height.txt | 4 +- .../item-align-self-center-and-min-height.txt | 4 +- .../expected/grid/item-column-span-2.txt | 28 +- .../expected/grid/item-fit-content-width.txt | 32 +- .../grid/item-with-box-sizing-border-box.txt | 36 +- ...n-content-size-should-account-paddings.txt | 24 +- .../Layout/expected/grid/justify-content.txt | 124 +++--- .../Layout/expected/grid/justify-items.txt | 52 +-- .../Layout/expected/grid/justify-self.txt | 32 +- .../expected/grid/justify-start-min-width.txt | 20 +- .../grid/line-placement-with-repeat.txt | 24 +- ...-grid-container-wrapper-in-max-content.txt | 48 +-- .../Layout/expected/grid/min-max-content.txt | 32 +- .../LibWeb/Layout/expected/grid/minmax-1.txt | 24 +- .../LibWeb/Layout/expected/grid/minmax-2.txt | 8 +- .../LibWeb/Layout/expected/grid/minmax-3.txt | 32 +- .../Layout/expected/grid/minmax-invalid-1.txt | 24 +- .../grid/minmax-with-max-function-inside.txt | 40 +- .../grid/negative-grid-item-column-index.txt | 84 ++-- Tests/LibWeb/Layout/expected/grid/order.txt | 12 +- .../grid/place-items-center-nested-grids.txt | 36 +- .../expected/grid/place-items-center.txt | 16 +- .../Layout/expected/grid/place-self.txt | 76 ++-- .../Layout/expected/grid/placement-1.txt | 24 +- .../Layout/expected/grid/placement-2.txt | 24 +- .../Layout/expected/grid/placement-3.txt | 8 +- .../Layout/expected/grid/placement-4.txt | 24 +- .../grid/placement-using-named-tracks-1.txt | 24 +- .../grid/placement-using-named-tracks-2.txt | 16 +- .../grid/placement-using-named-tracks-3.txt | 40 +- .../Layout/expected/grid/relpos-grid-item.txt | 24 +- Tests/LibWeb/Layout/expected/grid/repeat.txt | 64 +-- .../Layout/expected/grid/row-height.txt | 32 +- .../expected/grid/row-span-2-maxcontent.txt | 136 +++---- .../expected/grid/row-span-2-mincontent.txt | 244 +++++------ .../expected/grid/row-span-2-with-gaps.txt | 140 +++---- .../Layout/expected/grid/row-span-2.txt | 136 +++---- .../Layout/expected/grid/rows-1fr-1fr.txt | 20 +- ...nfinite-spinning-in-space-distribution.txt | 24 +- .../should-not-hang-in-size-distribution.txt | 20 +- .../Layout/expected/grid/template-areas-1.txt | 8 +- .../Layout/expected/grid/template-areas-2.txt | 8 +- .../Layout/expected/grid/template-areas-3.txt | 20 +- .../grid/template-lines-and-areas.txt | 24 +- .../grid/track-size-calc-with-percentage.txt | 20 +- .../grid/two-items-spanning-one-1fr-row.txt | 8 +- .../grid/unresolvable-percentage-track.txt | 20 +- .../expected/grid/valid-grid-areas-1.txt | 16 +- .../expected/grid/vertical-margins-auto.txt | 8 +- .../expected/height-min-max-fit-content.txt | 14 +- ...-of-absolute-position-box-with-padding.txt | 4 +- ...and-min-content-containing-block-width.txt | 10 +- ...put-no-newline-at-eof-should-not-crash.txt | 8 +- ...nline-block-treat-100pct-width-as-auto.txt | 30 +- Tests/LibWeb/Layout/expected/inline-size.txt | 32 +- .../input-element-with-display-inline.txt | 24 +- ...text-node-invalidation-on-value-change.txt | 28 +- .../expected/inset-shorthand-property.txt | 4 +- .../expected/media-query-resolution.txt | 32 +- .../Layout/expected/negative-max-size.txt | 16 +- .../nowrap-and-no-line-break-opportunity.txt | 16 +- Tests/LibWeb/Layout/expected/ordered-list.txt | 136 +++---- ...containing-block-has-indefinite-height.txt | 96 ++--- .../place-content-shorthand-property.txt | 20 +- Tests/LibWeb/Layout/expected/pre.txt | 8 +- ...seudo-element-with-custom-properties-2.txt | 74 ++-- .../replaced-box-with-vertical-margins.txt | 10 +- ...ero-when-available-size-is-min-content.txt | 62 +-- .../resolve-height-of-containing-block.txt | 12 +- .../expected/set-margin-of-floating-box.txt | 16 +- ...w-tree-removed-from-dom-receives-event.txt | 16 +- .../space-is-soft-line-break-opportunity.txt | 16 +- .../expected/svg-preserve-aspect-ratio.txt | 30 +- .../expected/svg-transforms-and-viewboxes.txt | 12 +- ...with-indefinite-containing-block-width.txt | 10 +- ...ith-zero-intrinsic-size-and-no-viewbox.txt | 8 +- .../expected/table/align-top-and-bottom.txt | 56 +-- .../Layout/expected/table/auto-height.txt | 60 +-- .../Layout/expected/table/auto-margins.txt | 28 +- .../avoid-div-by-zero-in-table-measures.txt | 28 +- Tests/LibWeb/Layout/expected/table/basic.txt | 72 ++-- .../border-attribute-overridden-by-css.txt | 28 +- .../expected/table/border-attribute.txt | 28 +- .../table/border-collapse-is-inherited.txt | 176 ++++---- .../border-conflict-resolution-with-cell.txt | 72 ++-- .../border-conflict-resolution-with-col.txt | 72 ++-- .../border-conflict-resolution-with-row.txt | 76 ++-- ...rder-conflict-resolution-with-rowgroup.txt | 80 ++-- ...border-spacing-and-borders-table-width.txt | 36 +- .../expected/table/border-spacing-colspan.txt | 156 +++---- .../expected/table/border-spacing-rowspan.txt | 156 +++---- .../border-spacing-with-percentage-width.txt | 40 +- .../Layout/expected/table/border-spacing.txt | 164 ++++---- .../LibWeb/Layout/expected/table/borders.txt | 300 +++++++------- .../Layout/expected/table/bottom-caption.txt | 76 ++-- ...-auto-max-width-table-percentage-width.txt | 52 +-- ...cell-relative-to-specified-table-width.txt | 72 ++-- .../expected/table/cell-with-max-width.txt | 64 +-- .../table/clip-spans-to-table-end.txt | 76 ++-- .../table/colspan-percentage-width.txt | 64 +-- .../colspan-weighted-width-distribution.txt | 48 +-- .../table/colspan-width-distribution.txt | 56 +-- .../colspan-with-trailing-characters.txt | 104 ++--- .../table/columns-width-distribution-1.txt | 56 +-- ...ed-layout-percentage-width-all-columns.txt | 88 ++-- .../table/fixed-layout-percentage-width.txt | 88 ++-- .../fixed-layout-pixel-width-all-columns.txt | 88 ++-- .../table/fixed-layout-pixel-width.txt | 96 ++--- .../Layout/expected/table/fixed-layout.txt | 88 ++-- .../Layout/expected/table/fixed-margins.txt | 32 +- .../table/in-auto-height-flex-item.txt | 32 +- .../expected/table/inline-table-width.txt | 64 +-- .../expected/table/internal-alignment.txt | 10 +- ...eyword-value-does-not-constrain-column.txt | 32 +- .../expected/table/line-breaking-in-cells.txt | 48 +-- .../table/long-caption-increases-width.txt | 104 ++--- .../table/missing-cells-with-span.txt | 80 ++-- .../Layout/expected/table/missing-cells.txt | 72 ++-- .../Layout/expected/table/multi-line-cell.txt | 48 +-- .../expected/table/nested-table-alignment.txt | 6 +- .../expected/table/nested-table-box-width.txt | 92 ++--- .../table/percentage-width-columns.txt | 44 +- ...ge-width-for-nested-table-is-like-auto.txt | 56 +-- .../percentage-width-max-width-columns.txt | 44 +- .../row-outer-size-with-computed-size.txt | 40 +- .../table/row-span-and-nested-tables.txt | 104 ++--- .../table/rows-height-distribution-3.txt | 12 +- .../table/rows-height-distribution-4.txt | 12 +- .../rowspan-with-trailing-characters.txt | 176 ++++---- .../LibWeb/Layout/expected/table/rowspan.txt | 128 +++--- Tests/LibWeb/Layout/expected/table/size.txt | 32 +- ...percentage-column-widths-less-than-100.txt | 44 +- .../table/table-align-center-with-margin.txt | 6 +- .../expected/table/table-align-center.txt | 6 +- .../table/table-cell-not-paintable.txt | 6 +- .../expected/table/table-cellpadding.txt | 18 +- ...e-formation-with-rowspan-in-the-middle.txt | 100 ++--- .../table/table-header-and-footer-groups.txt | 12 +- .../Layout/expected/table/td-valign.txt | 18 +- .../table/top-caption-with-padding.txt | 36 +- ...strained-columns-increased-size-on-col.txt | 36 +- ...on-and-constrained-columns-size-on-col.txt | 36 +- ...h-distribution-and-constrained-columns.txt | 36 +- ...th-distribution-of-max-width-increment.txt | 44 +- .../text-align-justify-with-forced-break.txt | 76 ++-- .../Layout/expected/text-align-overflow.txt | 20 +- Tests/LibWeb/Layout/expected/text-indent.txt | 48 +-- .../Layout/expected/textarea-content.txt | 48 +-- ...-be-xhtml-file-should-decode-correctly.txt | 20 +- .../vertical-padding-relative-to-cb-width.txt | 16 +- .../images/input-placeholder-ref.png | Bin 1612 -> 1614 bytes .../LibWeb/Ref/reference/images/meter-ref.png | Bin 1047 -> 1045 bytes .../reference/images/object-fit-position.png | Bin 518776 -> 561379 bytes .../Ref/reference/images/text-shadow-ref.png | Bin 46089 -> 46095 bytes .../FileAPI/Blob-empty-constructor.txt | 2 +- ...zed-with-strings-read-from-arrayBuffer.txt | 2 +- ...intialized-with-strings-read-from-text.txt | 2 +- .../HTML/HTMLInputElement-valueAsNumber.txt | 2 +- .../StructuredClone-object-primitives.txt | 2 +- .../HTML/StructuredClone-primitives.txt | 2 +- .../HTML/Window-named-properties-elements.txt | 2 +- .../HTML/Window-named-properties-iframe.txt | 2 +- .../Text/expected/HTML/Window-prototype.txt | 2 +- Tests/LibWeb/Text/expected/SVG/svg-href.txt | 2 +- .../expected/Wasm/WebAssembly-instantiate.txt | 2 +- ...XMLHttpRequest-response-gives-Document.txt | 2 +- .../XHR/XMLHttpRequest-response-is-blob.txt | 2 +- .../Text/expected/XML/parser-namespace.txt | 1 - ...nchor-element-with-javascript-url-href.txt | 2 +- .../get-bounding-client-rect-display-none.txt | 2 +- .../expected/get-bounding-client-rect.txt | 2 +- .../expected/navigation/history-pushstate.txt | 2 +- .../iframe-navigate-javascript-url.txt | 2 +- .../Text/expected/scroll-into-view-end.txt | 2 +- .../Text/expected/scroll-into-view-start.txt | 2 +- .../Text/expected/scroll-to-fragment.txt | 2 +- Userland/Libraries/LibWeb/CSS/Length.cpp | 10 +- Userland/Libraries/LibWeb/CSS/Length.h | 2 +- Userland/Libraries/LibWeb/CSS/MediaQuery.cpp | 2 +- .../Libraries/LibWeb/CSS/StyleComputer.cpp | 48 +-- Userland/Libraries/LibWeb/CSS/StyleComputer.h | 3 +- .../Libraries/LibWeb/CSS/StyleProperties.cpp | 23 +- .../Libraries/LibWeb/CSS/StyleProperties.h | 9 +- Userland/Libraries/LibWeb/Layout/Node.cpp | 2 +- 385 files changed, 6889 insertions(+), 6893 deletions(-) diff --git a/Tests/LibWeb/Layout/expected/abspos-flex-container-with-auto-height.txt b/Tests/LibWeb/Layout/expected/abspos-flex-container-with-auto-height.txt index 9cced02978..b0a1134fa3 100644 --- a/Tests/LibWeb/Layout/expected/abspos-flex-container-with-auto-height.txt +++ b/Tests/LibWeb/Layout/expected/abspos-flex-container-with-auto-height.txt @@ -1,14 +1,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline BlockContainer at (1,1) content-size 798x0 [BFC] children: not-inline - Box at (9,9) content-size 512.859375x19.46875 positioned flex-container(column) [FFC] children: not-inline - BlockContainer
at (10,10) content-size 510.859375x17.46875 flex-item [BFC] children: inline - line 0 width: 510.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125 - frag 0 from TextNode start: 0, length: 60, rect: [10,10 510.859375x17.46875] + Box at (9,9) content-size 512.859375x19 positioned flex-container(column) [FFC] children: not-inline + BlockContainer
at (10,10) content-size 510.859375x17 flex-item [BFC] children: inline + line 0 width: 510.859375, height: 17, bottom: 17, baseline: 13.296875 + frag 0 from TextNode start: 0, length: 60, rect: [10,10 510.859375x17] "Diese Website nutzt Cookies und vergleichbare Funktionen zur" TextNode <#text> ViewportPaintable (Viewport<#document>) [0,0 800x600] - PaintableWithLines (BlockContainer) [0,0 800x2] overflow: [8,8 514.859375x21.46875] - PaintableBox (Box) [8,8 514.859375x21.46875] - PaintableWithLines (BlockContainer
) [9,9 512.859375x19.46875] + PaintableWithLines (BlockContainer) [0,0 800x2] overflow: [8,8 514.859375x21] + PaintableBox (Box) [8,8 514.859375x21] + PaintableWithLines (BlockContainer
) [9,9 512.859375x19] TextPaintable (TextNode<#text>) diff --git a/Tests/LibWeb/Layout/expected/abspos-flexbox-with-auto-height.txt b/Tests/LibWeb/Layout/expected/abspos-flexbox-with-auto-height.txt index 2e271a6308..a50eed4304 100644 --- a/Tests/LibWeb/Layout/expected/abspos-flexbox-with-auto-height.txt +++ b/Tests/LibWeb/Layout/expected/abspos-flexbox-with-auto-height.txt @@ -1,16 +1,16 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline BlockContainer at (1,1) content-size 798x18 [BFC] children: not-inline BlockContainer at (10,10) content-size 780x0 children: not-inline - Box