Title: [189307] branches/safari-601-branch

Diff

Modified: branches/safari-601-branch/LayoutTests/ChangeLog (189306 => 189307)


--- branches/safari-601-branch/LayoutTests/ChangeLog	2015-09-03 23:03:59 UTC (rev 189306)
+++ branches/safari-601-branch/LayoutTests/ChangeLog	2015-09-03 23:05:13 UTC (rev 189307)
@@ -1,5 +1,26 @@
 2015-09-03  Babak Shafiei  <[email protected]>
 
+        Merge r187564.
+
+    2015-07-29  Zalan Bujtas  <[email protected]>
+
+            Remove the spanner placeholder from m_spannerMap when the placeholder object
+            gets transferred to a descendant flow.
+            https://bugs.webkit.org/show_bug.cgi?id=147380
+            rdar://problem/21981078
+
+            Reviewed by David Hyatt.
+
+            Before r180328, the spanner placeholder was removed from m_spannerMap through
+            RenderMultiColumnFlowThread::removeFlowChildInfo() by calling flowThreadRelativeWillBeRemoved()
+            when the placeholder renderer got transferred to the descendant flow.
+            Now we just remove it from the map when the renderer is being detached.
+
+            * fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Added.
+            * fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Added.
+
+2015-09-03  Babak Shafiei  <[email protected]>
+
         Merge r186984.
 
     2015-07-17  Zalan Bujtas  <[email protected]>

Copied: branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt (from rev 187564, trunk/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt) (0 => 189307)


--- branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt	2015-09-03 23:05:13 UTC (rev 189307)
@@ -0,0 +1 @@
+PASS if no crash or assert.

Copied: branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html (from rev 187564, trunk/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html) (0 => 189307)


--- branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html	2015-09-03 23:05:13 UTC (rev 189307)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This test that moving a spanner from one flow to another does not end up in a crash.</title>
+<style>
+    html, body { 
+    	-webkit-column-width: 200px; 
+    } 
+</style>
+<script>
+    if (window.testRunner) {
+      testRunner.dumpAsText();
+      testRunner.waitUntilDone();
+    }
+	function runTest() {
+        setTimeout(function() { 
+            document.documentElement.style.webkitColumnWidth = "auto";
+            document.body.style.webkitColumnWidth = "auto";
+	        if (window.testRunner)
+      		    testRunner.notifyDone();
+        }, 0);
+    }
+</script>
+</head>
+<body _onload_="runTest()">
+<div style="-webkit-column-span: all"></div>
+PASS if no crash or assert.
+</body>
+</html>

Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (189306 => 189307)


--- branches/safari-601-branch/Source/WebCore/ChangeLog	2015-09-03 23:03:59 UTC (rev 189306)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog	2015-09-03 23:05:13 UTC (rev 189307)
@@ -1,5 +1,28 @@
 2015-09-03  Babak Shafiei  <[email protected]>
 
+        Merge r187564.
+
+    2015-07-29  Zalan Bujtas  <[email protected]>
+
+            Remove the spanner placeholder from m_spannerMap when the placeholder object
+            gets transferred to a descendant flow.
+            https://bugs.webkit.org/show_bug.cgi?id=147380
+            rdar://problem/21981078
+
+            Reviewed by David Hyatt.
+
+            Before r180328, the spanner placeholder was removed from m_spannerMap through
+            RenderMultiColumnFlowThread::removeFlowChildInfo() by calling flowThreadRelativeWillBeRemoved()
+            when the placeholder renderer got transferred to the descendant flow.
+            Now we just remove it from the map when the renderer is being detached.
+
+            Test: fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html
+
+            * rendering/RenderMultiColumnFlowThread.cpp:
+            (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
+
+2015-09-03  Babak Shafiei  <[email protected]>
+
         Merge r186984.
 
     2015-07-17  Zalan Bujtas  <[email protected]>

Modified: branches/safari-601-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (189306 => 189307)


--- branches/safari-601-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-09-03 23:03:59 UTC (rev 189306)
+++ branches/safari-601-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-09-03 23:05:13 UTC (rev 189307)
@@ -376,10 +376,11 @@
                 
                 // We have to nuke the placeholder, since the ancestor already lost the mapping to it when
                 // we shifted the placeholder down into this flow thread.
+                placeholder.flowThread()->m_spannerMap.remove(spanner);
+                placeholder.parent()->removeChild(placeholder);
+
                 if (subtreeRoot == descendant)
                     subtreeRoot = spanner;
-                placeholder.parent()->removeChild(placeholder);
-
                 // Now we process the spanner.
                 descendant = processPossibleSpannerDescendant(subtreeRoot, spanner);
                 continue;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to