Title: [239991] trunk
Revision
239991
Author
[email protected]
Date
2019-01-15 10:27:06 -0800 (Tue, 15 Jan 2019)

Log Message

[LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
https://bugs.webkit.org/show_bug.cgi?id=193448

Reviewed by Antti Koivisto.

Source/WebCore:

Add missing check. We should only resolve auto values.

Test: fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html

* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):

Tools:

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

LayoutTests:

* fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt: Added.
* fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (239990 => 239991)


--- trunk/LayoutTests/ChangeLog	2019-01-15 18:03:05 UTC (rev 239990)
+++ trunk/LayoutTests/ChangeLog	2019-01-15 18:27:06 UTC (rev 239991)
@@ -1,3 +1,13 @@
+2019-01-15  Zalan Bujtas  <[email protected]>
+
+        [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
+        https://bugs.webkit.org/show_bug.cgi?id=193448
+
+        Reviewed by Antti Koivisto.
+
+        * fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt: Added.
+        * fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html: Added.
+
 2019-01-15  Devin Rousso  <[email protected]>
 
         Unreviewed, test fix after r239976.

Added: trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt (0 => 239991)


--- trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt	2019-01-15 18:27:06 UTC (rev 239991)
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+layer at (8,8) size 110x110
+  RenderBlock (relative positioned) {DIV} at (0,0) size 110x110 [border: (5px solid #008000)]
+layer at (13,23) size 50x50
+  RenderBlock (positioned) {DIV} at (5,15) size 50x50 [bgcolor=#0000FF]
+layer at (8,118) size 110x110
+  RenderBlock (relative positioned) {DIV} at (0,110) size 110x110 [border: (5px solid #008000)]
+layer at (23,123) size 50x50
+  RenderBlock (positioned) {DIV} at (15,5) size 50x50 [bgcolor=#0000FF]

Added: trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html (0 => 239991)


--- trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html	                        (rev 0)
+++ trunk/LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html	2019-01-15 18:27:06 UTC (rev 239991)
@@ -0,0 +1,18 @@
+<style>
+.container {
+	border: 5px solid green;
+    height: 100px;
+    width: 100px;
+    position: relative;
+}
+
+div div {
+	background: blue;
+    position: absolute;
+
+    height: 50px;
+    width: 50px;
+}
+</style>
+<div class=container><div style="top: 10px; bottom: 10px;"></div></div>
+<div class=container><div style="left: 10px; right: 10px"></div></div>

Modified: trunk/Source/WebCore/ChangeLog (239990 => 239991)


--- trunk/Source/WebCore/ChangeLog	2019-01-15 18:03:05 UTC (rev 239990)
+++ trunk/Source/WebCore/ChangeLog	2019-01-15 18:27:06 UTC (rev 239991)
@@ -1,3 +1,17 @@
+2019-01-15  Zalan Bujtas  <[email protected]>
+
+        [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
+        https://bugs.webkit.org/show_bug.cgi?id=193448
+
+        Reviewed by Antti Koivisto.
+
+        Add missing check. We should only resolve auto values. 
+
+        Test: fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
+
 2019-01-15  Devin Rousso  <[email protected]>
 
         Web Inspector: Audit: provide a way to determine whether a give node has event listeners

Modified: trunk/Source/WebCore/layout/FormattingContextGeometry.cpp (239990 => 239991)


--- trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2019-01-15 18:03:05 UTC (rev 239990)
+++ trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2019-01-15 18:27:06 UTC (rev 239991)
@@ -301,13 +301,13 @@
         } else if (!computedVerticalMargin.before) {
             usedVerticalMargin.after = *computedVerticalMargin.after;
             usedVerticalMargin.before = containingBlockHeight - (*top + borderTop + paddingTop + contentHeight() + paddingBottom + borderBottom + usedVerticalMargin.after + *bottom);
-        } else {
+        } else if (!computedVerticalMargin.after) {
             usedVerticalMargin.before = *computedVerticalMargin.before;
             usedVerticalMargin.after = containingBlockHeight - (*top + usedVerticalMargin.before + borderTop + paddingTop + contentHeight() + paddingBottom + borderBottom + *bottom);
         }
         // Over-constrained?
         auto boxHeight = *top + usedVerticalMargin.before + borderTop + paddingTop + contentHeight() + paddingBottom + borderBottom + usedVerticalMargin.after + *bottom;
-        if (boxHeight > containingBlockHeight)
+        if (boxHeight != containingBlockHeight)
             bottom = containingBlockHeight - (*top + usedVerticalMargin.before + borderTop + paddingTop + contentHeight() + paddingBottom + borderBottom + usedVerticalMargin.after);
     }
 

Modified: trunk/Tools/ChangeLog (239990 => 239991)


--- trunk/Tools/ChangeLog	2019-01-15 18:03:05 UTC (rev 239990)
+++ trunk/Tools/ChangeLog	2019-01-15 18:27:06 UTC (rev 239991)
@@ -1,3 +1,12 @@
+2019-01-15  Zalan Bujtas  <[email protected]>
+
+        [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
+        https://bugs.webkit.org/show_bug.cgi?id=193448
+
+        Reviewed by Antti Koivisto.
+
+        * LayoutReloaded/misc/LFC-passing-tests.txt:
+
 2019-01-15  Jonathan Bedard  <[email protected]>
 
         webkitpy: Implement device type specific expected results (Part 1)

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


--- trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt	2019-01-15 18:03:05 UTC (rev 239990)
+++ trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt	2019-01-15 18:27:06 UTC (rev 239991)
@@ -78,6 +78,7 @@
 fast/block/block-only/relative-simple.html
 fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html
 fast/block/block-only/out-of-flow-with-containing-block-border-padding.html
+fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html
 fast/block/basic/002.html
 fast/block/basic/003.html
 fast/block/basic/006.html
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to