haikuwebkit/LayoutTests/fast/inline
Alan Bujtas cf7785414a [LFC][IFC] Add support for out-of-flow box static positioning
https://bugs.webkit.org/show_bug.cgi?id=229103

Reviewed by Antti Koivisto.

Source/WebCore:

This patch is in preparation for enabling positioned content for IFC handling.

In this patch we compute the static position for out-of-flow content inside the inline formatting context.
As per spec, the static position of an out-of-flow box is computed as if the position was set to static.
However it does not mean that the out-of-flow box should be involved in the inline layout process.
Instead we figure out this static position after the inline layout by looking at
the previous sibling (or parent) box's geometry and place the out-of-flow box at the logical right position.

* layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayoutForIntergration):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::collectContentIfNeeded):
(WebCore::Layout::InlineFormattingContext::collectInlineContentIfNeeded): Deleted.
* layout/formattingContexts/inline/InlineFormattingContext.h:

LayoutTests:

* fast/inline/out-of-flow-with-static-position-in-ifc-expected.html: Added.
* fast/inline/out-of-flow-with-static-position-in-ifc.html: Added.


Canonical link: https://commits.webkit.org/240814@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 00:03:10 +00:00
..
resources
001.html
002.html
25277-2.html
25277.html
absolute-positioned-block-in-centred-block-expected.png
absolute-positioned-block-in-centred-block-expected.txt
absolute-positioned-block-in-centred-block.html
absolute-positioned-inline-in-centred-block.html
anonymous-block-with-empty-inline-expected.txt
anonymous-block-with-empty-inline.html
boundingBox-with-continuation-expected.txt
boundingBox-with-continuation.html
bpm-inline-ancestors-expected.html
bpm-inline-ancestors.html
br-text-decoration.html
break-between-nobr-expected.html
break-between-nobr.html
clean-after-removing-temp-boxes-expected.txt
clean-after-removing-temp-boxes.html
continuation-crash-with-anon-ancestors-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
continuation-crash-with-anon-ancestors.html
continuation-outlines-with-layers-2.html
continuation-outlines-with-layers.html
continuation-outlines.html
continuation-positioned-reparenting-expected.txt
continuation-positioned-reparenting.html
continuation-with-anon-wrappers-expected.txt Continuations with anonymous wrappers inside misplaces child renderers. 2015-11-10 23:18:52 +00:00
continuation-with-anon-wrappers.html
crash-new-continuation-with-outline-expected.txt
crash-new-continuation-with-outline.html
crash-when-child-renderer-is-removed-and-line-stays-clean-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
crash-when-child-renderer-is-removed-and-line-stays-clean.html
crash-when-inline-box-has-invalid-float-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
crash-when-inline-box-has-invalid-float.html Remove invalid float from RootInlineBox. 2014-10-29 21:13:12 +00:00
crash-when-negative-spacing-produce-nan-expected.txt [LFC][IFC] LineStatus::availableWidth should always be a valid number 2021-03-04 22:16:16 +00:00
crash-when-negative-spacing-produce-nan.html [LFC][IFC] LineStatus::availableWidth should always be a valid number 2021-03-04 22:16:16 +00:00
crash-when-position-property-is-changed-and-no-longer-in-continuation-expected.txt
crash-when-position-property-is-changed-and-no-longer-in-continuation.html
crash-when-revert-has-trailing-line-break-expected.txt [LFC][IFC] LineCandidate.inlineContent should be ignored when reverting 2021-04-19 20:09:04 +00:00
crash-when-revert-has-trailing-line-break.html [LFC][IFC] LineCandidate.inlineContent should be ignored when reverting 2021-04-19 20:09:04 +00:00
dirtyLinesForInline-expected.txt
dirtyLinesForInline.html
drawStyledEmptyInlines.html Remove unneeded whitespace between content and <br> 2020-10-25 19:52:34 +00:00
drawStyledEmptyInlinesWithWS.html
emptyInlinesWithinLists.html
fixed-pos-moves-with-abspos-inline-parent-expected.txt
fixed-pos-moves-with-abspos-inline-parent.html
fixed-pos-moves-with-abspos-parent-expected.txt Nested fixed position element not staying with parent 2013-01-17 20:20:11 +00:00
fixed-pos-moves-with-abspos-parent-relative-ancestor-expected.txt
fixed-pos-moves-with-abspos-parent-relative-ancestor.html Nested fixed position element not staying with parent 2013-01-17 20:20:11 +00:00
fixed-pos-moves-with-abspos-parent.html
fixed-pos-with-transform-container-moves-with-abspos-parent-expected.txt
fixed-pos-with-transform-container-moves-with-abspos-parent.html
hidpi-inline-block-is-subpixel-while-line-is-not-expected.html [Subpixel layout] Bad scrolling on mercurynews.com article 2020-05-25 16:41:40 +00:00
hidpi-inline-block-is-subpixel-while-line-is-not.html [Subpixel layout] Bad scrolling on mercurynews.com article 2020-05-25 16:41:40 +00:00
hidpi-inline-selection-leaves-gap-expected.html Subpixel rendering: InlineTextBox mistakenly rounds offset value before painting. 2014-08-04 22:01:04 +00:00
hidpi-inline-selection-leaves-gap.html
hidpi-inline-text-decoration-with-subpixel-value-expected.html
hidpi-inline-text-decoration-with-subpixel-value.html
hidpi-legacy-integral-rounding-on-hard-line-break-expected.html Content moves up when hovering over a link on Hacker News 2021-06-16 13:44:23 +00:00
hidpi-legacy-integral-rounding-on-hard-line-break.html Content moves up when hovering over a link on Hacker News 2021-06-16 13:44:23 +00:00
hidpi-legacy-integral-rounding-on-inline-boxes-expected.html Content moves up when hovering over a link on Hacker News 2021-06-16 13:44:23 +00:00
hidpi-legacy-integral-rounding-on-inline-boxes.html Content moves up when hovering over a link on Hacker News 2021-06-16 13:44:23 +00:00
hidpi-outline-auto-negative-offset-with-border-radius-expected.html
hidpi-outline-auto-negative-offset-with-border-radius.html
hidpi-outline-auto-with-border-radius-horizontal-ltr-expected.html
hidpi-outline-auto-with-border-radius-horizontal-ltr.html [Forms: focus] focus rings around text fields do not follow contour (border-radius) 2016-03-12 17:24:21 +00:00
hidpi-outline-auto-with-border-radius-horizontal-rtl-expected.html
hidpi-outline-auto-with-border-radius-horizontal-rtl.html [Forms: focus] focus rings around text fields do not follow contour (border-radius) 2016-03-12 17:24:21 +00:00
hidpi-outline-auto-with-border-radius-vertical-ltr-expected.html
hidpi-outline-auto-with-border-radius-vertical-ltr.html
hidpi-outline-auto-with-border-radius-vertical-rtl-expected.html
hidpi-outline-auto-with-border-radius-vertical-rtl.html
hidpi-outline-auto-with-fractional-radius-expected.html
hidpi-outline-auto-with-fractional-radius.html
hidpi-outline-auto-with-one-focusring-rect-expected.html Outline: auto has sharp corners with single line contenteditable. 2016-03-14 17:22:54 +00:00
hidpi-outline-auto-with-one-focusring-rect.html Outline: auto has sharp corners with single line contenteditable. 2016-03-14 17:22:54 +00:00
hidpi-pixel-gap-between-adjacent-selection-inlines-expected.html
hidpi-pixel-gap-between-adjacent-selection-inlines.html
hidpi-root-inlinebox-integral-rounding-table-simple-expected.html [Legacy line layout] Inline content on subpixel position makes the table cell scroll 2021-07-07 21:35:19 +00:00
hidpi-root-inlinebox-integral-rounding-table-simple.html [Legacy line layout] Inline content on subpixel position makes the table cell scroll 2021-07-07 21:35:19 +00:00
hidpi-rtl-text-does-not-fit-line-and-gets-cut-off-expected.html
hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html
hidpi-select-inline-on-subpixel-position-expected.html
hidpi-select-inline-on-subpixel-position.html Updating more tests after r177774 2015-02-28 00:28:12 +00:00
hidpi-selection-gap-and-inline-selection-have-gap-rtl-expected.html
hidpi-selection-gap-and-inline-selection-have-gap-rtl.html
hidpi-selection-gap-on-subpixel-position-expected.html
hidpi-selection-gap-on-subpixel-position.html Unreviewed hidpi test gardening. 2014-07-21 17:30:29 +00:00
hidpi-selection-gap-overlaps-inline-selection-expected.html
hidpi-selection-gap-overlaps-inline-selection.html
hidpi-slow-path-text-on-subpixel-position-expected.html
hidpi-slow-path-text-on-subpixel-position.html
hyphenation-when-overflow-wrap-is-break-word-expected.html word-wrap/overflow-wrap "overwrite" hyphens 2021-03-05 22:31:07 +00:00
hyphenation-when-overflow-wrap-is-break-word.html word-wrap/overflow-wrap "overwrite" hyphens 2021-03-05 22:31:07 +00:00
incorrect-middle-alignment-with-line-height-expected.html [LFC][IFC] Incorrect middle alignment for inline boxes when line-height is present 2021-04-29 13:22:12 +00:00
incorrect-middle-alignment-with-line-height.html [LFC][IFC] Incorrect middle alignment for inline boxes when line-height is present 2021-04-29 13:22:12 +00:00
incorrect-middle-baseline-alignment-with-line-height-expected.html REGRESSION(r275515): wpt/quirks/blocks-ignore-line-height.html 2021-05-11 15:33:13 +00:00
incorrect-middle-baseline-alignment-with-line-height.html [LFC][IFC] Incorrect middle alignment for inline boxes when line-height is present 2021-04-29 13:22:12 +00:00
incorrect-sizing-with-calc-expected.html REGRESSION(r269745) Google Developers maps does not fully load 2021-07-22 16:37:56 +00:00
incorrect-sizing-with-calc.html REGRESSION(r269745) Google Developers maps does not fully load 2021-07-22 16:37:56 +00:00
incorrect-tab-position-expected.html [Inline] Overlapping content when margin-right is present 2020-06-26 04:17:47 +00:00
incorrect-tab-position.html [Inline] Overlapping content when margin-right is present 2020-06-26 04:17:47 +00:00
incorrect-vertical-alignment-inside-inline-block-expected.html paypal.com: text at the bottom of the page is not aligned properly 2021-01-08 04:38:05 +00:00
incorrect-vertical-alignment-inside-inline-block.html paypal.com: text at the bottom of the page is not aligned properly 2021-01-08 04:38:05 +00:00
inline-block-baseline-with-overflow-not-visible-expected.html play.google.com: App preview images are clipped 2021-01-09 13:14:18 +00:00
inline-block-baseline-with-overflow-not-visible.html play.google.com: App preview images are clipped 2021-01-09 13:14:18 +00:00
inline-block-no-wrap-expected.html REGRESSION: apple.com sign-in page footer does not wrap, "Site Map" option renders offscreen. 2020-12-15 15:07:04 +00:00
inline-block-no-wrap.html REGRESSION: apple.com sign-in page footer does not wrap, "Site Map" option renders offscreen. 2020-12-15 15:07:04 +00:00
inline-body-crash-expected.txt
inline-body-crash.html
inline-body-with-scrollbar-crash-expected.txt
inline-body-with-scrollbar-crash.html
inline-borders-with-bidi-override.html
inline-box-adjust-position-crash-expected.txt
inline-box-adjust-position-crash.html
inline-box-adjust-position-crash2-expected.txt
inline-box-adjust-position-crash2.html
inline-box-append-child-crash-expected.txt
inline-box-append-child-crash.html
inline-box-background-long-image.html
inline-box-background-repeat-x.html
inline-box-background-repeat-y.html
inline-box-background.html
inline-child-height-width-calc-crash-expected.txt
inline-child-height-width-calc-crash.html
inline-containing-collapsed-whitespace-treated-as-empty-expected.html
inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl-expected.html
inline-containing-collapsed-whitespace-treated-as-empty-vertical-rl.html
inline-containing-collapsed-whitespace-treated-as-empty.html
inline-content-and-nested-formatting-root-with-margin-left-right-expected.txt
inline-content-and-nested-formatting-root-with-margin-left-right.html
inline-content-should-fit-the-line-expected.html Source/WebCore: 2021-07-07 22:07:57 +00:00
inline-content-should-fit-the-line.html Source/WebCore: 2021-07-07 22:07:57 +00:00
inline-content-with-border-left-right-expected.txt
inline-content-with-border-left-right.html
inline-content-with-float-and-margin-expected.txt
inline-content-with-float-and-margin.html
inline-content-with-image-simple-expected.txt [LFC][IFC] Add support for variable height runs. 2018-11-23 17:05:43 +00:00
inline-content-with-image-simple.html
inline-content-with-margin-left-right-expected.txt
inline-content-with-margin-left-right.html
inline-content-with-padding-left-right-expected.txt
inline-content-with-padding-left-right.html
inline-continuation-borders.html
inline-destroy-dirty-lines-crash-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
inline-destroy-dirty-lines-crash.html
inline-empty-block-continuation-remove-expected.html
inline-empty-block-continuation-remove.html
inline-fixed-position-boundingbox-expected.txt
inline-fixed-position-boundingbox.html
inline-flex-on-replaced-crash-expected.txt Web process assert when loading slack 2020-12-04 13:35:23 +00:00
inline-flex-on-replaced-crash.html Web process assert when loading slack 2020-12-04 13:35:23 +00:00
inline-focus-ring.html
inline-marquee-crash-expected.txt
inline-marquee-crash.html
inline-padding-disables-text-quirk.html
inline-position-top-align-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
inline-position-top-align.html
inline-relative-offset-boundingbox-expected.txt REGRESSION: RenderInline boundingBox ignores relative position offset 2012-07-14 01:08:07 +00:00
inline-relative-offset-boundingbox.html
inline-root-with-negative-margin-and-sibling-float-expected.html REGRESSION: Safari v14.1 computes element height to be 33,554,432 pixels 2021-05-26 13:28:02 +00:00
inline-root-with-negative-margin-and-sibling-float.html REGRESSION: Safari v14.1 computes element height to be 33,554,432 pixels 2021-05-26 13:28:02 +00:00
inline-text-quirk-bpm.html
inline-with-column-span-and-remove-block-child-crash-expected.txt
inline-with-column-span-and-remove-block-child-crash.html Make inline continuation style change logic consistent. 2015-04-15 04:24:14 +00:00
inline-with-empty-inline-children-expected.txt
inline-with-empty-inline-children.html
inline-with-empty-inline-continuations-expected.txt
inline-with-empty-inline-continuations.html
inline-with-img-dynamic-expected.html [LFC][Integration] Replaced elements in newly created line layout should always be updated 2020-10-24 13:46:57 +00:00
inline-with-img-dynamic.html [LFC][Integration] Replaced elements in newly created line layout should always be updated 2020-10-24 13:46:57 +00:00
inline-with-outline-offset-expected.html
inline-with-outline-offset.html
inline-wrap-with-parent-padding.html
intrusive-left-right-floats-assert-expected.txt [LFC][IFC] ASSERT(constraints.left->x <= constraints.right->x) when left and right floats run out of space 2021-02-08 02:11:42 +00:00
intrusive-left-right-floats-assert.html [LFC][IFC] ASSERT(constraints.left->x <= constraints.right->x) when left and right floats run out of space 2021-02-08 02:11:42 +00:00
justify-emphasis-inline-box.html
layout-after-inserting-nested-br-expected.html
layout-after-inserting-nested-br.html
left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
line-height-in-non-standards-mode-expected.html REGRESSION(r275515): wpt/quirks/blocks-ignore-line-height.html 2021-05-11 15:33:13 +00:00
line-height-in-non-standards-mode.html REGRESSION(r275515): wpt/quirks/blocks-ignore-line-height.html 2021-05-11 15:33:13 +00:00
line-rect-from-point-expected.txt VisiblePosition::absoluteSelectionBoundsForLine fails on multiline vertical-rl content 2021-07-01 13:29:07 +00:00
line-rect-from-point.html VisiblePosition::absoluteSelectionBoundsForLine fails on multiline vertical-rl content 2021-07-01 13:29:07 +00:00
long-continuation-crash-expected.txt Long continuation chain could lead to stack exhaustion 2020-01-15 06:32:01 +00:00
long-continuation-crash.html
long-wrapped-line.html
marker-list-item-move-should-not-crash-expected.txt
marker-list-item-move-should-not-crash.html
nested-text-descendants-expected.html
nested-text-descendants.html
nested-top-alignment.html
new-float-needs-layout-when-line-is-dirty-expected.txt
new-float-needs-layout-when-line-is-dirty.html
out-of-flow-objects-and-whitespace-after-empty-inline-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
out-of-flow-objects-and-whitespace-after-empty-inline.html
out-of-flow-positioned-line-break-expected.txt
out-of-flow-positioned-line-break.html
out-of-flow-positioned-render-replaced-box-moves-expected.html
out-of-flow-positioned-render-replaced-box-moves.html
out-of-flow-quotation-text-with-multicolumn-expected.html [MultiCol] Render tree should be all clean by the end of FrameView::layout(). 2016-11-15 16:02:44 +00:00
out-of-flow-quotation-text-with-multicolumn.html
out-of-flow-with-static-position-in-ifc-expected.html [LFC][IFC] Add support for out-of-flow box static positioning 2021-08-23 00:03:10 +00:00
out-of-flow-with-static-position-in-ifc.html [LFC][IFC] Add support for out-of-flow box static positioning 2021-08-23 00:03:10 +00:00
outline-continuations.html
outline-corners-with-offset-expected.html
outline-corners-with-offset.html
outline-with-continuation-assert-expected.txt Setup cloned continuation renderer properly. 2016-03-28 18:39:21 +00:00
outline-with-continuation-assert.html
padding-before-leading-positioned-element-contributes-width-expected.txt
padding-before-leading-positioned-element-contributes-width.html
padding-ellipsis-right-expected.html
padding-ellipsis-right.html
parent-inline-element-padding-contributes-width-expected.txt
parent-inline-element-padding-contributes-width.html
percentage-margins.html
positioned-element-padding-contributes-width-expected.txt Padding in a parent inline preceding an empty inline child should be counted towards width 2013-02-01 18:45:27 +00:00
positioned-element-padding-contributes-width.html
positioned-object-between-replaced-elements.html
positionedLifetime.html
quotation-text-changes-dynamically-expected.txt Mark the line dirty when RenderQuote's text changes. 2015-10-05 19:55:24 +00:00
quotation-text-changes-dynamically.html
redundant-ellipsis-triggers-assert-incorrectly-expected.txt
redundant-ellipsis-triggers-assert-incorrectly.html
relative-positioned-overflow-expected.txt
relative-positioned-overflow.html
simple-inline-block-expected.txt
simple-inline-block.html
simple-inline-inflow-positioned-expected.txt [LFC][IFC] Add support for in-flow positioned inline boxes. 2018-11-15 14:42:22 +00:00
simple-inline-inflow-positioned.html
simple-inline-with-out-of-flow-descendant-expected.txt
simple-inline-with-out-of-flow-descendant.html
simple-inline-with-out-of-flow-descendant2-expected.txt
simple-inline-with-out-of-flow-descendant2.html [LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules. 2018-11-17 16:11:24 +00:00
simple-intruding-float1-expected.txt
simple-intruding-float1.html
simple-intruding-floats2-expected.txt
simple-intruding-floats2.html
simple-intruding-floats3-expected.txt
simple-intruding-floats3.html
simple-line-layout-16bit-content-expected.html Show legacy line layout visual coverage instead of "simple line" layout. 2020-11-12 10:50:44 +00:00
simple-line-layout-16bit-content.html Show legacy line layout visual coverage instead of "simple line" layout. 2020-11-12 10:50:44 +00:00
simple-shrink-to-fit-inline-block-expected.txt
simple-shrink-to-fit-inline-block.html
skipped-whitespace-boundingBox-expected.txt
skipped-whitespace-boundingBox.html
skipped-whitespace-client-rect-expected.txt https://bugs.webkit.org/show_bug.cgi?id=60040 2011-05-03 18:00:23 +00:00
skipped-whitespace-client-rect.html
styledEmptyInlinesWithBRs.html
trailing-floats-inline-crash-expected.txt
trailing-floats-inline-crash.html
trailing-floats-inline-crash2-expected.txt
trailing-floats-inline-crash2.html
unexpected-line-wrap-with-calc-expected.html Calculated width percent loses the floating point and cause line wrap 2021-05-19 18:17:57 +00:00
unexpected-line-wrap-with-calc.html Calculated width percent loses the floating point and cause line wrap 2021-05-19 18:17:57 +00:00
update-always-create-line-boxes-full-layout-crash-expected.txt
update-always-create-line-boxes-full-layout-crash.html
vertical-align-text-bottom.html
vertical-top-on-subpixel-makes-inline-box-overflow-expected.txt Difficult to scroll calcalist.co.il webpage, scrolling gets 'stuck' 2021-05-18 13:23:44 +00:00
vertical-top-on-subpixel-makes-inline-box-overflow.html Difficult to scroll calcalist.co.il webpage, scrolling gets 'stuck' 2021-05-18 13:23:44 +00:00