Title: [173915] releases/WebKitGTK/webkit-2.6
Revision
173915
Author
[email protected]
Date
2014-09-24 06:35:09 -0700 (Wed, 24 Sep 2014)

Log Message

Merge r173843 - ASSERT in RenderMultiColumnSet::requiresBalancing.
https://bugs.webkit.org/show_bug.cgi?id=136376.

Reviewed by David Kilzer.

Source/WebCore:

Added fast/multicol/multicol-selection.html.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
Don't allow an object to become a spanner if it does not have the flow
thread as its containing block. Otherwise the flow thread won't get notified
of spanner placeholder insertions, and so the spanner ends up orphaned.

LayoutTests:

* fast/multicol/multicol-selection-expected.txt: Added.
* fast/multicol/multicol-selection.html: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog (173914 => 173915)


--- releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog	2014-09-24 13:33:45 UTC (rev 173914)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog	2014-09-24 13:35:09 UTC (rev 173915)
@@ -1,3 +1,13 @@
+2014-09-22  David Hyatt  <[email protected]>
+
+        ASSERT in RenderMultiColumnSet::requiresBalancing.
+        https://bugs.webkit.org/show_bug.cgi?id=136376.
+
+        Reviewed by David Kilzer.
+
+        * fast/multicol/multicol-selection-expected.txt: Added.
+        * fast/multicol/multicol-selection.html: Added.
+
 2014-09-22  Mihnea Ovidenie  <[email protected]>
 
         [CSS Regions] Assertion failure and null dereference crash when using animations and regions

Added: releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection-expected.txt (0 => 173915)


--- releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection-expected.txt	2014-09-24 13:35:09 UTC (rev 173915)
@@ -0,0 +1,2 @@
+This test passes if it doesn't crash.
+

Added: releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection.html (0 => 173915)


--- releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/fast/multicol/multicol-selection.html	2014-09-24 13:35:09 UTC (rev 173915)
@@ -0,0 +1,19 @@
+<head>
+<script>
+if (window.testRunner)
+        testRunner.dumpAsText();
+</script>
+</head>
+This test passes if it doesn't crash.
+<style id="style">
+#elm::before, #elm::after { display:block; -webkit-column-span:all; content:".........."; }
+:last-of-type { position: absolute;}
+</style>
+<div id="div" style="visibility:hidden; -webkit-columns:4; columns:4;">
+   <span id="elm">&nbsp;</span>
+</div>
+<script>
+document.execCommand("SelectAll");
+var elem = document.getElementById("style");
+elem.innerHTML="%a%b3%bf%5c";
+</script>

Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog (173914 => 173915)


--- releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog	2014-09-24 13:33:45 UTC (rev 173914)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog	2014-09-24 13:35:09 UTC (rev 173915)
@@ -1,3 +1,18 @@
+2014-09-22  David Hyatt  <[email protected]>
+
+        ASSERT in RenderMultiColumnSet::requiresBalancing.
+        https://bugs.webkit.org/show_bug.cgi?id=136376.
+
+        Reviewed by David Kilzer.
+
+        Added fast/multicol/multicol-selection.html.
+
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        (WebCore::isValidColumnSpanner):
+        Don't allow an object to become a spanner if it does not have the flow
+        thread as its containing block. Otherwise the flow thread won't get notified
+        of spanner placeholder insertions, and so the spanner ends up orphaned.
+
 2014-09-22  Eva Balazsfalvi  <[email protected]>
 
         REGRESSION(r173631): It broke the !ENABLE(VIDEO) build

Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (173914 => 173915)


--- releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2014-09-24 13:33:45 UTC (rev 173914)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2014-09-24 13:35:09 UTC (rev 173915)
@@ -257,6 +257,11 @@
         // Needs to be block-level.
         return false;
     }
+    
+    // We need to have the flow thread as the containing block. A spanner cannot break out of the flow thread.
+    RenderFlowThread* enclosingFlowThread = descendant->flowThreadContainingBlock();
+    if (enclosingFlowThread != flowThread)
+        return false;
 
     // This looks like a spanner, but if we're inside something unbreakable, it's not to be treated as one.
     for (RenderBox* ancestor = toRenderBox(descendant)->parentBox(); ancestor; ancestor = ancestor->parentBox()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to