haikuwebkit/LayoutTests/fast/layoutformattingcontext/block-only
Zalan Bujtas 3d60d2f631 [LFC][BFC] Do not assume float avoiders have pre-computed vertical positions
https://bugs.webkit.org/show_bug.cgi?id=219326

Reviewed by Antti Koivisto.

Source/WebCore:

Move the final vertical position computation from computeHeightAndMargin() (it does not really belong in there) to
layoutInFlowContent(). This patch also ensures that we only adjust the vertical position when needed.

Test: fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

LayoutTests:

* fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders-expected.html: Added.
* fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html: Added.


Canonical link: https://commits.webkit.org/231939@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-29 20:50:20 +00:00
..
abs-pos-with-border-padding-and-float-child-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
abs-pos-with-border-padding-and-float-child.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-auto-with-sibling-margin-bottom-expected.txt [LFC] Unreviewed test gardening. 2020-02-17 21:06:48 +00:00
absolute-auto-with-sibling-margin-bottom.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-height-stretch-expected.txt
absolute-height-stretch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-left-auto-expected.txt
absolute-left-auto.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-left-right-top-bottom-auto-expected.txt
absolute-left-right-top-bottom-auto.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-nested-expected.txt
absolute-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-nested2-expected.txt
absolute-nested2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-left-right-margin-expected.html
absolute-position-left-right-margin.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-min-max-height-expected.txt
absolute-position-min-max-height.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-min-max-width-expected.txt
absolute-position-min-max-width.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-when-containing-block-is-not-in-the-formatting-context-expected.txt
absolute-position-when-containing-block-is-not-in-the-formatting-context.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-when-containing-block-is-not-in-the-formatting-context2-expected.txt
absolute-position-when-containing-block-is-not-in-the-formatting-context2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-with-margin-auto-simple-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-with-margin-auto-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-with-margin-auto-simple2-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-position-with-margin-auto-simple2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-positioned-min-max-percentage-with-parent-padding-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-positioned-min-max-percentage-with-parent-padding.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-simple-expected.txt
absolute-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-width-shrink-to-fit-expected.txt
absolute-width-shrink-to-fit.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-width-stretch-expected.txt
absolute-width-stretch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-with-static-block-position-nested-expected.txt
absolute-with-static-block-position-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
almost-intruding-left-float-simple-expected.txt
almost-intruding-left-float-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
block-replaced-with-vertical-margins-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
block-replaced-with-vertical-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
block-root-top-should-start-from-float-top-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
block-root-top-should-start-from-float-top.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
body-height-with-auto-html-height-quirk-expected.txt
body-height-with-auto-html-height-quirk.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
body-height-with-auto-html-height-quirk2-expected.txt
body-height-with-auto-html-height-quirk2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
body-height-with-non-auto-html-height-quirk-expected.txt
body-height-with-non-auto-html-height-quirk.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
body-height-with-non-auto-html-height-quirk2-expected.txt
body-height-with-non-auto-html-height-quirk2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
border-simple-expected.txt
border-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
box-sizing-inflow-out-of-flow-simple-expected.txt
box-sizing-inflow-out-of-flow-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
child-containing-block-margin-collapse-when-float-avoiders-expected.html [LFC][BFC] Do not assume float avoiders have pre-computed vertical positions 2020-11-29 20:50:20 +00:00
child-containing-block-margin-collapse-when-float-avoiders.html [LFC][BFC] Do not assume float avoiders have pre-computed vertical positions 2020-11-29 20:50:20 +00:00
collapsed-margin-with-min-height-expected.txt
collapsed-margin-with-min-height.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
collapsed-through-siblings-expected.txt
collapsed-through-siblings.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
collapsed-through-with-parent-expected.txt
collapsed-through-with-parent.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
fixed-nested-expected.txt
fixed-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-and-siblings-with-margins-expected.txt
float-and-siblings-with-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-avoider-multiple-roots-expected.txt
float-avoider-multiple-roots.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-avoider-simple-left-expected.txt
float-avoider-simple-left.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-avoider-simple-right-expected.txt
float-avoider-simple-right.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-avoider-with-margins-expected.txt
float-avoider-with-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-clear-with-auto-width-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-clear-with-auto-width.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-left-when-container-has-padding-margin-expected.txt
float-left-when-container-has-padding-margin.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-min-max-height-expected.txt
float-min-max-height.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
float-min-max-width-expected.txt
float-min-max-width.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-and-next-previous-inflow-with-margin-expected.txt
floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt
floating-and-next-previous-inflow-with-margin-with-no-border.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-and-next-previous-inflow-with-margin.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-clear-both-simple-expected.txt
floating-box-clear-both-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-clear-right-simple-expected.txt
floating-box-clear-right-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-left-and-right-multiple-expected.txt
floating-box-left-and-right-multiple-with-top-offset-expected.txt
floating-box-left-and-right-multiple-with-top-offset.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-left-and-right-multiple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-right-simple-expected.txt
floating-box-right-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-with-clear-siblings-expected.txt
floating-box-with-clear-siblings.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-with-clear-simple-expected.txt
floating-box-with-clear-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-with-new-formatting-context-expected.txt
floating-box-with-new-formatting-context.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-box-with-relative-positioned-sibling-expected.txt
floating-box-with-relative-positioned-sibling.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-left-and-right-with-clearance-expected.txt
floating-left-and-right-with-clearance.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-left-right-simple-expected.txt
floating-left-right-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-left-right-with-all-margins-expected.txt
floating-left-right-with-all-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-lefts-and-rights-simple-expected.txt
floating-lefts-and-rights-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-multiple-lefts-expected.txt
floating-multiple-lefts-in-body-expected.txt
floating-multiple-lefts-in-body.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-multiple-lefts-multiple-lines-expected.txt
floating-multiple-lefts-multiple-lines.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-multiple-lefts.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floating-with-new-block-formatting-context-expected.txt
floating-with-new-block-formatting-context.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floats-and-block-formatting-roots-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
floats-and-block-formatting-roots.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
inflow-min-max-height-expected.txt
inflow-min-max-height.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
inflow-min-max-width-expected.txt
inflow-min-max-width.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-bottom-bottom-expected.txt
margin-collapse-bottom-bottom.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-bottom-nested-expected.txt
margin-collapse-bottom-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-first-last-are-floating-expected.txt
margin-collapse-first-last-are-floating.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-simple-expected.txt
margin-collapse-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-top-nested-expected.txt
margin-collapse-top-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-when-child-has-padding-border-expected.txt
margin-collapse-when-child-has-padding-border.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-with-block-formatting-context-expected.txt
margin-collapse-with-block-formatting-context.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-with-block-formatting-context2-expected.txt
margin-collapse-with-block-formatting-context2.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-collapse-with-clearance-expected.txt
margin-collapse-with-clearance.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-left-right-sizing-expected.txt
margin-left-right-sizing-out-of-flow-expected.txt
margin-left-right-sizing-out-of-flow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-left-right-sizing.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-propagation-simple-content-height-expected.txt
margin-propagation-simple-content-height.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-sibling-collapse-propagated-expected.txt
margin-sibling-collapse-propagated.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
margin-simple-expected.txt
margin-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
min-max-and-preferred-width-simple-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
min-max-and-preferred-width-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
min-max-height-percentage-expected.txt
min-max-height-percentage.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
negative-margin-simple-expected.txt
negative-margin-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
non-auto-top-bottom-height-with-auto-margins-expected.txt
non-auto-top-bottom-height-with-auto-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
non-auto-top-bottom-height-with-margins-expected.txt
non-auto-top-bottom-height-with-margins.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt
non-auto-top-bottom-left-right-widht-height-out-of-flow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
out-of-flow-is-never-float-box-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
out-of-flow-is-never-float-box.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
out-of-flow-with-containing-block-border-padding-expected.txt
out-of-flow-with-containing-block-border-padding.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
padding-nested-expected.txt
padding-nested.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
padding-simple-expected.txt
padding-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-auto-expected.txt
relative-auto-with-parent-offset-expected.txt
relative-auto-with-parent-offset.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-auto.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-bottom-expected.txt
relative-bottom.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-position-when-containing-block-is-not-in-the-formatting-context-expected.txt
relative-position-when-containing-block-is-not-in-the-formatting-context.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-right-expected.txt
relative-right.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-siblings-expected.txt
relative-siblings.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
relative-simple-expected.txt
relative-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
replaced-as-inline-block-simple-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
replaced-as-inline-block-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
replaced-intrinsic-width-simple-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
replaced-intrinsic-width-simple.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00