Title: [126673] branches/chromium/1229
- Revision
- 126673
- Author
- [email protected]
- Date
- 2012-08-24 18:57:14 -0700 (Fri, 24 Aug 2012)
Log Message
Merge 125234
BUG=137147
Review URL: https://chromiumcodereview.appspot.com/10875066
Modified Paths
Added Paths
Diff
Copied: branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash-expected.txt (from rev 125234, trunk/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash-expected.txt) (0 => 126673)
--- branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash-expected.txt (rev 0)
+++ branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash-expected.txt 2012-08-25 01:57:14 UTC (rev 126673)
@@ -0,0 +1,2 @@
+Bug 91160: Crash in WebCore::RenderTable::cellBefore
+PASS. WebKit didn't crash
Copied: branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash.html (from rev 125234, trunk/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash.html) (0 => 126673)
--- branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash.html (rev 0)
+++ branches/chromium/1229/LayoutTests/fast/table/split-anonymous-boxes-around-table-repaint-crash.html 2012-08-25 01:57:14 UTC (rev 126673)
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<style>
+.table {
+ display: table;
+ border-collapse: collapse;
+}
+.tableCell {
+ display: table-cell;
+}
+.tableRowGroup {
+ border-style: solid solid solid none;
+ display: table-row-group;
+}
+</style>
+<body style="-webkit-writing-mode: vertical-rl;">
+<div class="table">
+ A
+ <span id="span1"></span>
+ <span class="tableCell"></span>
+<div>
+</div>
+<div class="tableRowGroup">B</div>
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+
+document.body.offsetTop;
+span1.style.display = "table-footer-group";
+
+document.body.offsetTop;
+document.body.innerHTML = "Bug <a href=''>91160</a>: Crash in WebCore::RenderTable::cellBefore<br>PASS. WebKit didn't crash";
+</script>
+</body>
+</html>
Modified: branches/chromium/1229/Source/WebCore/rendering/RenderBox.cpp (126672 => 126673)
--- branches/chromium/1229/Source/WebCore/rendering/RenderBox.cpp 2012-08-25 01:41:15 UTC (rev 126672)
+++ branches/chromium/1229/Source/WebCore/rendering/RenderBox.cpp 2012-08-25 01:57:14 UTC (rev 126673)
@@ -3994,6 +3994,10 @@
RenderBox* postBox = boxToSplit->createAnonymousBoxWithSameTypeAs(this);
postBox->setChildrenInline(boxToSplit->childrenInline());
RenderBox* parentBox = toRenderBox(boxToSplit->parent());
+ // We need to invalidate the |parentBox| before inserting the new node
+ // so that the table repainting logic knows the structure is dirty.
+ // See for example RenderTableCell:clippedOverflowRectForRepaint.
+ markBoxForRelayoutAfterSplit(parentBox);
parentBox->virtualChildren()->insertChildNode(parentBox, postBox, boxToSplit->nextSibling());
boxToSplit->moveChildrenTo(postBox, beforeChild, 0, true);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes