Title: [109400] branches/chromium/1025
Revision
109400
Author
[email protected]
Date
2012-03-01 12:50:33 -0800 (Thu, 01 Mar 2012)

Log Message

Merge 107987
BUG=113799
Review URL: https://chromiumcodereview.appspot.com/9562023

Modified Paths

Added Paths

Diff

Copied: branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash-expected.txt (from rev 107987, trunk/LayoutTests/fast/multicol/span/table-multi-column-crash-expected.txt) (0 => 109400)


--- branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash-expected.txt	                        (rev 0)
+++ branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash-expected.txt	2012-03-01 20:50:33 UTC (rev 109400)
@@ -0,0 +1,2 @@
+Test passes if it does not crash.
+

Copied: branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash.html (from rev 107987, trunk/LayoutTests/fast/multicol/span/table-multi-column-crash.html) (0 => 109400)


--- branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash.html	                        (rev 0)
+++ branches/chromium/1025/LayoutTests/fast/multicol/span/table-multi-column-crash.html	2012-03-01 20:50:33 UTC (rev 109400)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<body>
+Test passes if it does not crash.
+<style>
+.table_span { -webkit-column-span: all;}
+.table_container { -webkit-column-count: 2; }
+</style>
+<script>
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+
+document.body.offsetTop;
+table_span = document.createElement('table');
+table_span.setAttribute('class', 'table_span');
+table_container = document.createElement('table');
+table_container.setAttribute('class', 'table_container');
+table_caption = document.createElement('caption');
+table_caption.appendChild(table_span);
+table_container.appendChild(table_caption);
+document.body.appendChild(table_container);
+document.body.offsetTop;
+
+table_caption.parentNode.removeChild(table_caption);
+</script>
+</body>
+</html>

Modified: branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp (109399 => 109400)


--- branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp	2012-03-01 20:49:14 UTC (rev 109399)
+++ branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp	2012-03-01 20:50:33 UTC (rev 109400)
@@ -434,6 +434,12 @@
         if (!curr->isRenderBlock() || curr->isFloatingOrPositioned() || curr->isTableCell() || curr->isRoot() || curr->isRenderView() || curr->hasOverflowClip()
             || curr->isInlineBlockOrInlineTable())
             return 0;
+
+        // FIXME: Table manages its own table parts, most of which are RenderBoxes.
+        // Multi-column code cannot handle splitting the flow in table. Disabling it
+        // to prevent crashes.
+        if (curr->isTable())
+            return 0;
         
         RenderBlock* currBlock = toRenderBlock(curr);
         if (!currBlock->createsAnonymousWrapper())
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to