[LFC][Floating] Move containing block constraint logic from FloatAvoider to FloatingC...
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 14:32:29 +0000 (14:32 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 14:32:29 +0000 (14:32 +0000)
commit1bf8566601158a0dbe47d3f3fbc1dace4c3f8bd4
treef84e3d914b4c483af2092170acecb11fcfe9f24b
parent1e6abaf07e31289d096c551041472fa004c9ffb2
[LFC][Floating] Move containing block constraint logic from FloatAvoider to FloatingContext
https://bugs.webkit.org/show_bug.cgi?id=189145

Reviewed by Antti Koivisto.

When the float avoider is constrained horizontally, simply align it with the left/right edge of its containing block (with the combination of the constraints)
and check the overflow as part of the FloatingContext::floatingPosition() logic. It simplifies the constraint logic/helps implementing the non-float avoider
case.

* layout/floats/FloatAvoider.cpp:
(WebCore::Layout::FloatAvoider::setHorizontalConstraints):
(WebCore::Layout::FloatAvoider::overflowsContainingBlock const):
* layout/floats/FloatAvoider.h:
* layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::floatingPosition const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/layout/floats/FloatAvoider.cpp
Source/WebCore/layout/floats/FloatAvoider.h
Source/WebCore/layout/floats/FloatingContext.cpp