Title: [240144] trunk
Revision
240144
Author
[email protected]
Date
2019-01-18 06:25:08 -0800 (Fri, 18 Jan 2019)

Log Message

[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 Antti Koivisto.

Source/WebCore:

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):

Tools:

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (240143 => 240144)


--- trunk/Source/WebCore/ChangeLog	2019-01-18 14:12:53 UTC (rev 240143)
+++ trunk/Source/WebCore/ChangeLog	2019-01-18 14:25:08 UTC (rev 240144)
@@ -1,3 +1,19 @@
+2019-01-18  Zalan Bujtas  <[email protected]>
+
+        [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 Antti Koivisto.
+
+        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-18  Yacine Bandou  <[email protected]>
 
         [WebAudio] Release the AudioDestination when uninitializing DefaultAudioDestinationNode

Modified: trunk/Source/WebCore/layout/FormattingContextGeometry.cpp (240143 => 240144)


--- trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2019-01-18 14:12:53 UTC (rev 240143)
+++ trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2019-01-18 14:25:08 UTC (rev 240144)
@@ -114,10 +114,12 @@
             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;

Modified: trunk/Source/WebCore/layout/Verification.cpp (240143 => 240144)


--- trunk/Source/WebCore/layout/Verification.cpp	2019-01-18 14:12:53 UTC (rev 240143)
+++ trunk/Source/WebCore/layout/Verification.cpp	2019-01-18 14:25:08 UTC (rev 240144)
@@ -46,7 +46,7 @@
     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)

Modified: trunk/Tools/ChangeLog (240143 => 240144)


--- trunk/Tools/ChangeLog	2019-01-18 14:12:53 UTC (rev 240143)
+++ trunk/Tools/ChangeLog	2019-01-18 14:25:08 UTC (rev 240144)
@@ -1,3 +1,12 @@
+2019-01-18  Zalan Bujtas  <[email protected]>
+
+        [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 Antti Koivisto.
+
+        * LayoutReloaded/misc/LFC-passing-tests.txt:
+
 2019-01-18  Philippe Normand  <[email protected]>
 
         [WPE] Add Qt extension

Modified: trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt (240143 => 240144)


--- trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt	2019-01-18 14:12:53 UTC (rev 240143)
+++ trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt	2019-01-18 14:25:08 UTC (rev 240144)
@@ -105,6 +105,7 @@
 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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to