WebKit Bugzilla
Attachment 359422 Details for
Bug 193555
: [LFC][BFC] Check for inflow children while computing height for block formatting context roots.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193555-20190117161545.patch (text/plain), 4.41 KB, created by
zalan
on 2019-01-17 16:15:46 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
zalan
Created:
2019-01-17 16:15:46 PST
Size:
4.41 KB
patch
obsolete
>Subversion Revision: 240111 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 408b1b473d375e4eb7b20376e9f84e21059926ca..4af37efc164d540cef6bb09a73f89e9371451029 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2019-01-17 Zalan Bujtas <zalan@apple.com> >+ >+ [LFC][BFC] Check for inflow children while computing height for block formatting context roots. >+ https://bugs.webkit.org/show_bug.cgi?id=193555 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This patch also extends areEssentiallyEqual to 0.125px to be able to match (essentially equal) inline runs. >+ >+ * layout/FormattingContextGeometry.cpp: >+ (WebCore::Layout::contentHeightForFormattingContextRoot): >+ * layout/Verification.cpp: >+ (WebCore::Layout::areEssentiallyEqual): >+ * page/FrameViewLayoutContext.cpp: >+ (WebCore::layoutUsingFormattingContext): >+ > 2019-01-17 Zalan Bujtas <zalan@apple.com> > > [LFC][BFC] An element with transform is a containing block for positioned descendants. >diff --git a/Source/WebCore/layout/FormattingContextGeometry.cpp b/Source/WebCore/layout/FormattingContextGeometry.cpp >index 6c3102ce89c9f2cc771e21b4c595b92f5b79859b..93396f0d35a51ccf0c4114553222d12c3579f83f 100644 >--- a/Source/WebCore/layout/FormattingContextGeometry.cpp >+++ b/Source/WebCore/layout/FormattingContextGeometry.cpp >@@ -114,10 +114,12 @@ static LayoutUnit contentHeightForFormattingContextRoot(const LayoutState& layou > bottom = inlineRuns.last().logicalBottom(); > } > } else if (formattingRootContainer.establishesBlockFormattingContext() || layoutBox.isDocumentBox()) { >- auto& firstDisplayBox = layoutState.displayBoxForLayoutBox(*formattingRootContainer.firstInFlowChild()); >- auto& lastDisplayBox = layoutState.displayBoxForLayoutBox(*formattingRootContainer.lastInFlowChild()); >- top = firstDisplayBox.rectWithMargin().top(); >- bottom = lastDisplayBox.rectWithMargin().bottom(); >+ if (formattingRootContainer.hasInFlowChild()) { >+ auto& firstDisplayBox = layoutState.displayBoxForLayoutBox(*formattingRootContainer.firstInFlowChild()); >+ auto& lastDisplayBox = layoutState.displayBoxForLayoutBox(*formattingRootContainer.lastInFlowChild()); >+ top = firstDisplayBox.rectWithMargin().top(); >+ bottom = lastDisplayBox.rectWithMargin().bottom(); >+ } > } > > auto* formattingContextRoot = &layoutBox; >diff --git a/Source/WebCore/layout/Verification.cpp b/Source/WebCore/layout/Verification.cpp >index 4f26c4f7ed3c7cc53a1ba24e7dd97b4317600423..361c478755c9dfc3553b32c65d93a2b30de53c74 100644 >--- a/Source/WebCore/layout/Verification.cpp >+++ b/Source/WebCore/layout/Verification.cpp >@@ -46,7 +46,7 @@ static bool areEssentiallyEqual(float a, LayoutUnit b) > if (a == b.toFloat()) > return true; > >- return fabs(a - b.toFloat()) <= 4 * LayoutUnit::epsilon(); >+ return fabs(a - b.toFloat()) <= 8 * LayoutUnit::epsilon(); > } > > static bool outputMismatchingSimpleLineInformationIfNeeded(TextStream& stream, const LayoutState& layoutState, const RenderBlockFlow& blockFlow, const Container& inlineFormattingRoot) >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index abbe4c1dc148c60b967d182f84d36a791a88bd91..bda0744a7d99967fcc1ba20ae9eccb18dd221372 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,12 @@ >+2019-01-17 Zalan Bujtas <zalan@apple.com> >+ >+ [LFC][BFC] Check for inflow children while computing height for block formatting context roots. >+ https://bugs.webkit.org/show_bug.cgi?id=193555 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * LayoutReloaded/misc/LFC-passing-tests.txt: >+ > 2019-01-17 Zalan Bujtas <zalan@apple.com> > > [LFC][BFC] An element with transform is a containing block for positioned descendants. >diff --git a/Tools/LayoutReloaded/misc/LFC-passing-tests.txt b/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >index a8b8e0755ff3c7d503d1b9e12d770cfb386ebe36..814c92f454ab89dbc4ae3c463064b84e1bde6826 100644 >--- a/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >+++ b/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >@@ -105,6 +105,7 @@ fast/block/float/008.html > fast/block/float/009.html > fast/block/float/013.html > fast/block/float/019.html >+fast/block/float/030.html > fast/block/float/negative-margin-clear.html > fast/block/float/overhanging-after-height-decrease-offsets.html > fast/block/float/overhanging-after-height-decrease.html
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193555
: 359422