Title: [109436] branches/chromium/963

Diff

Copied: branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.png (from rev 109140, trunk/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.png) (0 => 109436)


--- branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.png	                        (rev 0)
+++ branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.png	2012-03-01 22:56:02 UTC (rev 109436)
@@ -0,0 +1,5 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksumb9e509570b3ae5a2447adbb3fdd9d91b\xB4+\xF5o\x85IDATx\x9C\xEDٱ
+AA\x8C\xE8\xBFe\x93\xA1\xCFy\xED?S\x80\xE5\xCCZyvw_\x81\xF7\xE9\x80\xE7 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80\x99Ͽf\xE6\x8E=~v\xF7\xD6y\x9C\xE5Np\xE5d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @fvwO/<\x83\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80\x99/C\xDC\xA993\xEAIEND\xAEB`\x82
\ No newline at end of file

Copied: branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.txt (from rev 109140, trunk/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.txt) (0 => 109436)


--- branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.txt	                        (rev 0)
+++ branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block-expected.txt	2012-03-01 22:56:02 UTC (rev 109436)
@@ -0,0 +1,20 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (16,16) size 768x20
+layer at (16,16) size 768x20
+  RenderBlock {DIV} at (0,0) size 768x20
+    RenderBlock (anonymous multi-column span) at (0,0) size 768x0
+      RenderBlock {DIV} at (0,0) size 768x0
+layer at (16,16) size 768x20
+  RenderBlock (anonymous multi-column) at (0,0) size 768x20
+    RenderBlock {DIV} at (0,0) size 374x20
+      RenderText {#text} at (0,0) size 20x20
+        text run at (0,0) width 20: "3"
+    RenderTable at (0,20) size 20x20
+      RenderTableSection {DIV} at (0,0) size 20x20
+        RenderTableRow (anonymous) at (0,0) size 20x20
+          RenderTableCell (anonymous) at (0,0) size 20x20 [r=0 c=0 rs=1 cs=1]
+            RenderText {#text} at (0,0) size 20x20
+              text run at (0,0) width 20: "4"

Copied: branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block.html (from rev 109140, trunk/LayoutTests/fast/multicol/span/before-child-anonymous-column-block.html) (0 => 109436)


--- branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block.html	                        (rev 0)
+++ branches/chromium/963/LayoutTests/fast/multicol/span/before-child-anonymous-column-block.html	2012-03-01 22:56:02 UTC (rev 109436)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html style="font-family: ahem; font-size: 10px; -webkit-font-smoothing: none;">
+<body>
+<style>
+#test1 { -webkit-column-count: 2; }
+#test2 { -webkit-column-span: all; }
+#test3 { content: counter(c); }
+</style>
+<script>
+_onload_ = function() {
+test1 = document.createElement('div');
+test1.setAttribute('id', 'test1');
+document.body.appendChild(test1);
+test2 = document.createElement('div');
+test2.setAttribute('id', 'test2');
+test1.appendChild(test2);
+test3 = document.createElement('div');
+test3.setAttribute('id', 'test3');
+test1.appendChild(test3);
+test4 = document.createElement('div');
+test1.appendChild(test4);
+test4.style.display = 'table-row-group';
+test3.appendChild(document.createTextNode('3'));
+test4.appendChild(document.createTextNode('4'));
+document.body.offsetTop;
+document.body.style.zoom = 2;
+}
+</script>
+</body>
+</html>

Modified: branches/chromium/963/Source/WebCore/rendering/RenderBlock.cpp (109435 => 109436)


--- branches/chromium/963/Source/WebCore/rendering/RenderBlock.cpp	2012-03-01 22:50:07 UTC (rev 109435)
+++ branches/chromium/963/Source/WebCore/rendering/RenderBlock.cpp	2012-03-01 22:56:02 UTC (rev 109436)
@@ -374,8 +374,17 @@
     ASSERT(!continuation()); // We don't yet support column spans that aren't immediate children of the multi-column block.
         
     // The goal is to locate a suitable box in which to place our child.
-    RenderBlock* beforeChildParent = toRenderBlock(beforeChild && beforeChild->parent()->isRenderBlock() ? beforeChild->parent() : lastChild());
-    
+    RenderBlock* beforeChildParent = 0;
+    if (beforeChild) {
+        RenderObject* curr = beforeChild;
+        while (curr && curr->parent() != this)
+            curr = curr->parent();
+        beforeChildParent = toRenderBlock(curr);
+        ASSERT(beforeChildParent);
+        ASSERT(beforeChildParent->isAnonymousColumnsBlock() || beforeChildParent->isAnonymousColumnSpanBlock());
+    } else
+        beforeChildParent = toRenderBlock(lastChild());
+
     // If the new child is floating or positioned it can just go in that block.
     if (newChild->isFloatingOrPositioned()) {
         beforeChildParent->addChildIgnoringAnonymousColumnBlocks(newChild, beforeChild);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to