Title: [249083] trunk/Source/WebCore
Revision
249083
Author
[email protected]
Date
2019-08-24 06:24:29 -0700 (Sat, 24 Aug 2019)

Log Message

[LFC][BFC] Non-inline formatting context(table, grid etc) root container should not collapse through.
https://bugs.webkit.org/show_bug.cgi?id=201099
<rdar://problem/54658946>

Reviewed by Antti Koivisto.

I didn't manage to find it in the spec, but surely formatting contexts like table, grid and flex should behave like
block so that their vertical margins are not adjoining, when they have at least one inflow child.

* layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (249082 => 249083)


--- trunk/Source/WebCore/ChangeLog	2019-08-24 13:17:03 UTC (rev 249082)
+++ trunk/Source/WebCore/ChangeLog	2019-08-24 13:24:29 UTC (rev 249083)
@@ -1,5 +1,19 @@
 2019-08-24  Zalan Bujtas  <[email protected]>
 
+        [LFC][BFC] Non-inline formatting context(table, grid etc) root container should not collapse through.
+        https://bugs.webkit.org/show_bug.cgi?id=201099
+        <rdar://problem/54658946>
+
+        Reviewed by Antti Koivisto.
+
+        I didn't manage to find it in the spec, but surely formatting contexts like table, grid and flex should behave like
+        block so that their vertical margins are not adjoining, when they have at least one inflow child.
+
+        * layout/blockformatting/BlockMarginCollapse.cpp:
+        (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough):
+
+2019-08-24  Zalan Bujtas  <[email protected]>
+
         [LFC] Add THEAD/TBODY/TFOOT output to Layout::showLayoutTree
         https://bugs.webkit.org/show_bug.cgi?id=201113
         <rdar://problem/54664134>

Modified: trunk/Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp (249082 => 249083)


--- trunk/Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp	2019-08-24 13:17:03 UTC (rev 249082)
+++ trunk/Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp	2019-08-24 13:24:29 UTC (rev 249083)
@@ -408,8 +408,8 @@
             return true;
         }
 
-        if (establishesBlockFormattingContext(layoutBox))
-            return false;
+        // A root of a non-inline formatting context (table, flex etc) with inflow descendants should not collapse through.
+        return false;
     }
 
     for (auto* inflowChild = downcast<Container>(layoutBox).firstInFlowOrFloatingChild(); inflowChild; inflowChild = inflowChild->nextInFlowOrFloatingSibling()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to