Title: [216383] releases/WebKitGTK/webkit-2.16
Revision
216383
Author
carlo...@webkit.org
Date
2017-05-08 04:07:40 -0700 (Mon, 08 May 2017)

Log Message

Merge r215805 - Forced page break on :after triggers infinite loop in column balancing
https://bugs.webkit.org/show_bug.cgi?id=171309
rdar://problem/26285884

Reviewed by David Hyatt.

Source/WebCore:

Stop trying to balance the columns when the forced page breaks >= the number of
columns even when this number is 1. Content will always overflow to the next page.
see https://chromium.googlesource.com/chromium/src/+/fbbebf38cefb2712c912581eccb046ef363ec84e%5E%21/#F2

Test: fast/multicol/infinite-loop-when-forced-break.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::calculateBalancedHeight):

LayoutTests:

* fast/multicol/infinite-loop-when-forced-break-expected.txt: Added.
* fast/multicol/infinite-loop-when-forced-break.html: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog (216382 => 216383)


--- releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog	2017-05-08 11:03:54 UTC (rev 216382)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog	2017-05-08 11:07:40 UTC (rev 216383)
@@ -1,3 +1,14 @@
+2017-04-26  Zalan Bujtas  <za...@apple.com>
+
+        Forced page break on :after triggers infinite loop in column balancing
+        https://bugs.webkit.org/show_bug.cgi?id=171309
+        rdar://problem/26285884
+
+        Reviewed by David Hyatt.
+
+        * fast/multicol/infinite-loop-when-forced-break-expected.txt: Added.
+        * fast/multicol/infinite-loop-when-forced-break.html: Added.
+
 2017-04-25  Brent Fulgham  <bfulg...@apple.com>
 
         Relax the event firing ASSERT for Attr changes

Added: releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break-expected.txt (0 => 216383)


--- releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break-expected.txt	2017-05-08 11:07:40 UTC (rev 216383)
@@ -0,0 +1 @@
+Pass if no crash or timeout.

Added: releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break.html (0 => 216383)


--- releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/fast/multicol/infinite-loop-when-forced-break.html	2017-05-08 11:07:40 UTC (rev 216383)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that we handle forced breaks properly</title>
+<style>
+.container {
+    -webkit-column-width: 422px;
+}
+
+.foobar:after {
+	display: block;
+	content:' ';
+	-webkit-column-break-before: always;
+	height: 10px;
+}
+</style>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+</script>
+</head>
+<body>
+<div class=container><div class=foobar>Pass if no crash or timeout.</div></div>
+</body>
+</html>
\ No newline at end of file

Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog (216382 => 216383)


--- releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog	2017-05-08 11:03:54 UTC (rev 216382)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog	2017-05-08 11:07:40 UTC (rev 216383)
@@ -1,3 +1,20 @@
+2017-04-26  Zalan Bujtas  <za...@apple.com>
+
+        Forced page break on :after triggers infinite loop in column balancing
+        https://bugs.webkit.org/show_bug.cgi?id=171309
+        rdar://problem/26285884
+
+        Reviewed by David Hyatt.
+
+        Stop trying to balance the columns when the forced page breaks >= the number of
+        columns even when this number is 1. Content will always overflow to the next page.
+        see https://chromium.googlesource.com/chromium/src/+/fbbebf38cefb2712c912581eccb046ef363ec84e%5E%21/#F2 
+
+        Test: fast/multicol/infinite-loop-when-forced-break.html
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
+
 2017-04-25  Brent Fulgham  <bfulg...@apple.com>
 
         Relax the event firing ASSERT for Attr changes

Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/rendering/RenderMultiColumnSet.cpp (216382 => 216383)


--- releases/WebKitGTK/webkit-2.16/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2017-05-08 11:03:54 UTC (rev 216382)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2017-05-08 11:07:40 UTC (rev 216383)
@@ -234,7 +234,7 @@
         return m_computedColumnHeight;
     }
 
-    if (forcedBreaksCount() > 1 && forcedBreaksCount() >= computedColumnCount()) {
+    if (forcedBreaksCount() >= computedColumnCount()) {
         // Too many forced breaks to allow any implicit breaks. Initial balancing should already
         // have set a good height. There's nothing more we should do.
         return m_computedColumnHeight;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to