[LFC][IFC] Add support for out-of-flow positioned boxes
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Nov 2018 14:51:36 +0000 (14:51 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Nov 2018 14:51:36 +0000 (14:51 +0000)
commit28174609cf62c71c49190f525fcc3cdfec7689f1
treedba7dea18ed75ff67f7c2ab0f39268711844098b
parent0c2713b88ff4b762b46e89db81897041d3dd596d
[LFC][IFC] Add support for out-of-flow positioned boxes
https://bugs.webkit.org/show_bug.cgi?id=191726

Reviewed by Antti Koivisto.

Source/WebCore:

While laying out formatting context roots (inline-block, floats) in an inline formatting context, we need to make sure
that their out-of-flow descendants get laid out as well.

Test: fast/inline/simple-inline-with-out-of-flow-descendant.html

* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot const):
* layout/layouttree/LayoutTreeBuilder.cpp: This was returning the wrong context root when the container was also a context root.
(WebCore::Layout::TreeBuilder::createSubTree):

Tools:

* LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

* fast/inline/simple-inline-with-out-of-flow-descendant-expected.txt: Added.
* fast/inline/simple-inline-with-out-of-flow-descendant.html: Added.
* platform/ios/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/inline/simple-inline-with-out-of-flow-descendant-expected.txt [new file with mode: 0644]
LayoutTests/fast/inline/simple-inline-with-out-of-flow-descendant.html [new file with mode: 0644]
LayoutTests/platform/ios/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp
Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
Tools/ChangeLog
Tools/LayoutReloaded/misc/LFC-passing-tests.txt