[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

inferno at chromium.org inferno at chromium.org
Fri Jan 21 14:54:10 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 947af308aa50edc610c16f0a72fda004ab33ae5b
Author: inferno at chromium.org <inferno at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 4 02:27:50 2011 +0000

    2011-01-01  Abhishek Arya  <inferno at chromium.org>
    
            Reviewed by Darin Adler.
    
            Fixes before child calculation when adding anonymous childs to table parts.
            https://bugs.webkit.org/show_bug.cgi?id=50932
    
            Fix in r74364 was incomplete. When before child is equal to the table part(to
            which the new child is getting added), it confuses the table part to add it
            incorrectly as an after child. The patch fixes by passing the before child as
            the table part's first child.
    
            Tests: fast/css-generated-content/table-before-after-child-add.html
                   fast/css-generated-content/table-cell-before-after-child-add.html
                   fast/css-generated-content/table-row-before-after-child-add.html
                   fast/css-generated-content/table-row-before-after-child-add.html
    
            * rendering/RenderTable.cpp:
            (WebCore::RenderTable::addChild):
            * rendering/RenderTableRow.cpp:
            (WebCore::RenderTableRow::addChild):
            * rendering/RenderTableSection.cpp:
            (WebCore::RenderTableSection::addChild):
    2010-12-20  Abhishek Arya  <inferno at chromium.org>
    
            Reviewed by Darin Adler.
    
            Tests that "before" and "after" childs are added to table correctly.
            https://bugs.webkit.org/show_bug.cgi?id=50932
    
            * fast/css-generated-content/table-before-after-child-add.html: Added.
            * fast/css-generated-content/table-before-child-add.html: Removed.
            * fast/css-generated-content/table-cell-before-after-child-add.html: Added.
            * fast/css-generated-content/table-row-before-after-child-add.html: Added.
            * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum: Added.
            * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png: Added.
            * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt: Added.
            * platform/mac/fast/css-generated-content/table-before-child-add-expected.txt: Removed.
            * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum: Added.
            * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png: Added.
            * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt: Added.
            * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum: Added.
            * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png: Added.
            * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt: Added.
            * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum: Added.
            * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png: Added.
            * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2a2d3b9..db8343f 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,28 @@
+2010-12-20  Abhishek Arya  <inferno at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        Tests that "before" and "after" childs are added to table correctly.
+        https://bugs.webkit.org/show_bug.cgi?id=50932
+
+        * fast/css-generated-content/table-before-after-child-add.html: Added.
+        * fast/css-generated-content/table-before-child-add.html: Removed.
+        * fast/css-generated-content/table-cell-before-after-child-add.html: Added.
+        * fast/css-generated-content/table-row-before-after-child-add.html: Added.
+        * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum: Added.
+        * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png: Added.
+        * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt: Added.
+        * platform/mac/fast/css-generated-content/table-before-child-add-expected.txt: Removed.
+        * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum: Added.
+        * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png: Added.
+        * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt: Added.
+        * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum: Added.
+        * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png: Added.
+        * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt: Added.
+        * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum: Added.
+        * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png: Added.
+        * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt: Added.
+
 2011-01-03  Mihai Parparita  <mihaip at chromium.org>
 
         Unreviewed, Chromium test expectation update.
diff --git a/LayoutTests/fast/css-generated-content/table-before-after-child-add.html b/LayoutTests/fast/css-generated-content/table-before-after-child-add.html
new file mode 100644
index 0000000..e1d1535
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/table-before-after-child-add.html
@@ -0,0 +1,16 @@
+<style type="text/css">
+    #target::before { content: "BEFORE"; }
+    #target::after { content: "AFTER"; }
+</style>
+<p>
+    Should say &ldquo;BEFORE CONTENT AFTER CONTENT&rdquo;
+</p>
+<div id="not-target" style="display: table">
+    <div>CONTENT</div>
+</div> CONTENT
+<script>
+    document.getElementById("not-target").id = "target";
+    document.body.offsetTop;
+    document.body.style.color = "red";
+</script>
+
diff --git a/LayoutTests/fast/css-generated-content/table-before-child-add.html b/LayoutTests/fast/css-generated-content/table-before-child-add.html
deleted file mode 100644
index a494b62..0000000
--- a/LayoutTests/fast/css-generated-content/table-before-child-add.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<style type="text/css">
-    #target::before { content:"NOT";}
-</style>
-<p>
-    Should say &ldquo;NOT TEST FAILED&rdquo;
-</p>
-<div id="not-target" style="display: table"> 
-    <div>TEST</div>
-</div> FAILED
-<script>
-    document.getElementById("not-target").id = "target";
-    document.body.offsetTop;
-    document.body.style.color = "red";
-</script>
-
diff --git a/LayoutTests/fast/css-generated-content/table-cell-before-after-child-add.html b/LayoutTests/fast/css-generated-content/table-cell-before-after-child-add.html
new file mode 100644
index 0000000..a1ae1cf
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/table-cell-before-after-child-add.html
@@ -0,0 +1,16 @@
+<style type="text/css">
+    #target::before { content: "BEFORE"; display: table-cell; }
+    #target::after { content: "AFTER"; display: table-cell; }
+</style>
+<p>
+    Should say &ldquo;BEFORE CONTENT AFTER CONTENT&rdquo;
+</p>
+<div id="not-target" style="display: table">
+    <div>CONTENT</div>
+</div> CONTENT
+<script>
+    document.getElementById("not-target").id = "target";
+    document.body.offsetTop;
+    document.body.style.color = "red";
+</script>
+
diff --git a/LayoutTests/fast/css-generated-content/table-row-before-after-child-add.html b/LayoutTests/fast/css-generated-content/table-row-before-after-child-add.html
new file mode 100644
index 0000000..40ad9e5
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/table-row-before-after-child-add.html
@@ -0,0 +1,16 @@
+<style type="text/css">
+    #target::before { content: "BEFORE"; display: table-row; }
+    #target::after { content: "AFTER"; display: table-row; }
+</style>
+<p>
+    Should say &ldquo;BEFORE CONTENT AFTER CONTENT&rdquo;
+</p>
+<div id="not-target" style="display: table"> 
+    <div>CONTENT</div>
+</div> CONTENT
+<script>
+    document.getElementById("not-target").id = "target";
+    document.body.offsetTop;
+    document.body.style.color = "red";
+</script>
+
diff --git a/LayoutTests/fast/css-generated-content/table-table-before-after-child-add.html b/LayoutTests/fast/css-generated-content/table-table-before-after-child-add.html
new file mode 100644
index 0000000..4bfc2d0
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/table-table-before-after-child-add.html
@@ -0,0 +1,16 @@
+<style type="text/css">
+    #target::before { content: "BEFORE"; display: table; }
+    #target::after { content: "AFTER"; display: table; }
+</style>
+<p>
+    Should say &ldquo;BEFORE CONTENT AFTER CONTENT&rdquo;
+</p>
+<div id="not-target" style="display: table">
+    <div>CONTENT</div>
+</div> CONTENT
+<script>
+    document.getElementById("not-target").id = "target";
+    document.body.offsetTop;
+    document.body.style.color = "red";
+</script>
+
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum
new file mode 100644
index 0000000..bceb39b
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum
@@ -0,0 +1 @@
+21f523f7eb0d0347c5fddfb28aedfde8
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png
new file mode 100644
index 0000000..7fe1c22
Binary files /dev/null and b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt
new file mode 100644
index 0000000..a229915
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt
@@ -0,0 +1,27 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584 [color=#FF0000]
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 369x18
+          text run at (0,0) width 369: "Should say \x{201C}BEFORE CONTENT AFTER CONTENT\x{201D}"
+      RenderTable {DIV} at (0,34) size 77x54
+        RenderTableSection (anonymous) at (0,0) size 77x54 [color=#000000]
+          RenderTableRow (anonymous) at (0,0) size 77x54
+            RenderTableCell (anonymous) at (0,0) size 77x54 [r=0 c=0 rs=1 cs=1]
+              RenderBlock (anonymous) at (0,0) size 77x18
+                RenderInline (generated) at (0,0) size 63x18 [color=#FF0000]
+                  RenderText at (0,0) size 63x18
+                    text run at (0,0) width 63: "BEFORE"
+              RenderBlock {DIV} at (0,18) size 77x18 [color=#FF0000]
+                RenderText {#text} at (0,0) size 77x18
+                  text run at (0,0) width 77: "CONTENT"
+              RenderBlock (anonymous) at (0,36) size 77x18
+                RenderInline (generated) at (0,0) size 52x18 [color=#FF0000]
+                  RenderText at (0,0) size 52x18
+                    text run at (0,0) width 52: "AFTER"
+      RenderBlock (anonymous) at (0,88) size 784x18
+        RenderText {#text} at (0,0) size 77x18
+          text run at (0,0) width 77: "CONTENT"
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-before-child-add-expected.txt b/LayoutTests/platform/mac/fast/css-generated-content/table-before-child-add-expected.txt
deleted file mode 100644
index 7f4639c..0000000
--- a/LayoutTests/platform/mac/fast/css-generated-content/table-before-child-add-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x584 [color=#FF0000]
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 227x18
-          text run at (0,0) width 227: "Should say \x{201C}NOT TEST FAILED\x{201D}"
-      RenderTable {DIV} at (0,34) size 39x36
-        RenderTableSection (anonymous) at (0,0) size 39x36 [color=#000000]
-          RenderTableRow (anonymous) at (0,0) size 39x36
-            RenderTableCell (anonymous) at (0,0) size 39x36 [r=0 c=0 rs=1 cs=1]
-              RenderBlock (anonymous) at (0,0) size 39x18
-                RenderInline (generated) at (0,0) size 34x18 [color=#FF0000]
-                  RenderText at (0,0) size 34x18
-                    text run at (0,0) width 34: "NOT"
-              RenderBlock {DIV} at (0,18) size 39x18 [color=#FF0000]
-                RenderText {#text} at (0,0) size 39x18
-                  text run at (0,0) width 39: "TEST"
-      RenderBlock (anonymous) at (0,70) size 784x18
-        RenderText {#text} at (0,0) size 58x18
-          text run at (0,0) width 58: "FAILED"
-        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum
new file mode 100644
index 0000000..fc488d5
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum
@@ -0,0 +1 @@
+c123678324395dfe6f1c3bc72d2a3cf6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png
new file mode 100644
index 0000000..fb29f91
Binary files /dev/null and b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt
new file mode 100644
index 0000000..6957619
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt
@@ -0,0 +1,25 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584 [color=#FF0000]
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 369x18
+          text run at (0,0) width 369: "Should say \x{201C}BEFORE CONTENT AFTER CONTENT\x{201D}"
+      RenderTable {DIV} at (0,34) size 192x18
+        RenderTableSection (anonymous) at (0,0) size 192x18 [color=#000000]
+          RenderTableRow (anonymous) at (0,0) size 192x18
+            RenderTableCell (anonymous) at (0,0) size 63x18 [color=#FF0000] [r=0 c=0 rs=1 cs=1]
+              RenderText at (0,0) size 63x18
+                text run at (0,0) width 63: "BEFORE"
+            RenderTableCell (anonymous) at (63,0) size 77x18 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 77x18 [color=#FF0000]
+                RenderText {#text} at (0,0) size 77x18
+                  text run at (0,0) width 77: "CONTENT"
+            RenderTableCell (anonymous) at (140,0) size 52x18 [color=#FF0000] [r=0 c=2 rs=1 cs=1]
+              RenderText at (0,0) size 52x18
+                text run at (0,0) width 52: "AFTER"
+      RenderBlock (anonymous) at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 77x18
+          text run at (0,0) width 77: "CONTENT"
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum
new file mode 100644
index 0000000..62e1f0d
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum
@@ -0,0 +1 @@
+7a455eb6bd7c3ed0629bbee395c51470
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png
new file mode 100644
index 0000000..d5ea0e3
Binary files /dev/null and b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt
new file mode 100644
index 0000000..7df8ce8
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt
@@ -0,0 +1,27 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584 [color=#FF0000]
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 369x18
+          text run at (0,0) width 369: "Should say \x{201C}BEFORE CONTENT AFTER CONTENT\x{201D}"
+      RenderTable {DIV} at (0,34) size 77x54
+        RenderTableSection (anonymous) at (0,0) size 77x54 [color=#000000]
+          RenderTableRow (anonymous) at (0,0) size 77x18 [color=#FF0000]
+            RenderTableCell (anonymous) at (0,0) size 77x18 [color=#000000] [r=0 c=0 rs=1 cs=1]
+              RenderText at (0,0) size 63x18
+                text run at (0,0) width 63: "BEFORE"
+          RenderTableRow (anonymous) at (0,18) size 77x18
+            RenderTableCell (anonymous) at (0,18) size 77x18 [r=1 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 77x18 [color=#FF0000]
+                RenderText {#text} at (0,0) size 77x18
+                  text run at (0,0) width 77: "CONTENT"
+          RenderTableRow (anonymous) at (0,36) size 77x18 [color=#FF0000]
+            RenderTableCell (anonymous) at (0,36) size 77x18 [color=#000000] [r=2 c=0 rs=1 cs=1]
+              RenderText at (0,0) size 52x18
+                text run at (0,0) width 52: "AFTER"
+      RenderBlock (anonymous) at (0,88) size 784x18
+        RenderText {#text} at (0,0) size 77x18
+          text run at (0,0) width 77: "CONTENT"
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum
new file mode 100644
index 0000000..62e1f0d
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum
@@ -0,0 +1 @@
+7a455eb6bd7c3ed0629bbee395c51470
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png
new file mode 100644
index 0000000..d5ea0e3
Binary files /dev/null and b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt
new file mode 100644
index 0000000..d3598ec
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt
@@ -0,0 +1,31 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584 [color=#FF0000]
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 369x18
+          text run at (0,0) width 369: "Should say \x{201C}BEFORE CONTENT AFTER CONTENT\x{201D}"
+      RenderTable {DIV} at (0,34) size 77x54
+        RenderTableSection (anonymous) at (0,0) size 77x54 [color=#000000]
+          RenderTableRow (anonymous) at (0,0) size 77x54
+            RenderTableCell (anonymous) at (0,0) size 77x54 [r=0 c=0 rs=1 cs=1]
+              RenderTable at (0,0) size 63x18 [color=#FF0000]
+                RenderTableSection (anonymous) at (0,0) size 63x18 [color=#000000]
+                  RenderTableRow (anonymous) at (0,0) size 63x18
+                    RenderTableCell (anonymous) at (0,0) size 63x18 [r=0 c=0 rs=1 cs=1]
+                      RenderText at (0,0) size 63x18
+                        text run at (0,0) width 63: "BEFORE"
+              RenderBlock {DIV} at (0,18) size 77x18 [color=#FF0000]
+                RenderText {#text} at (0,0) size 77x18
+                  text run at (0,0) width 77: "CONTENT"
+              RenderTable at (0,36) size 52x18 [color=#FF0000]
+                RenderTableSection (anonymous) at (0,0) size 52x18 [color=#000000]
+                  RenderTableRow (anonymous) at (0,0) size 52x18
+                    RenderTableCell (anonymous) at (0,0) size 52x18 [r=0 c=0 rs=1 cs=1]
+                      RenderText at (0,0) size 52x18
+                        text run at (0,0) width 52: "AFTER"
+      RenderBlock (anonymous) at (0,88) size 784x18
+        RenderText {#text} at (0,0) size 77x18
+          text run at (0,0) width 77: "CONTENT"
+        RenderText {#text} at (0,0) size 0x0
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 584aee5..df93da4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2011-01-01  Abhishek Arya  <inferno at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        Fixes before child calculation when adding anonymous childs to table parts.
+        https://bugs.webkit.org/show_bug.cgi?id=50932
+
+        Fix in r74364 was incomplete. When before child is equal to the table part(to
+        which the new child is getting added), it confuses the table part to add it
+        incorrectly as an after child. The patch fixes by passing the before child as
+        the table part's first child.
+
+        Tests: fast/css-generated-content/table-before-after-child-add.html
+               fast/css-generated-content/table-cell-before-after-child-add.html
+               fast/css-generated-content/table-row-before-after-child-add.html
+               fast/css-generated-content/table-row-before-after-child-add.html
+
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::addChild):
+        * rendering/RenderTableRow.cpp:
+        (WebCore::RenderTableRow::addChild):
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::addChild):
+
 2011-01-03  Dan Bernstein  <mitz at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebCore/rendering/RenderTable.cpp b/WebCore/rendering/RenderTable.cpp
index bdf0ebb..ade0450 100644
--- a/WebCore/rendering/RenderTable.cpp
+++ b/WebCore/rendering/RenderTable.cpp
@@ -177,6 +177,8 @@ void RenderTable::addChild(RenderObject* child, RenderObject* beforeChild)
     while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableSection() && lastBox->style()->display() != TABLE_CAPTION && lastBox->style()->display() != TABLE_COLUMN_GROUP)
         lastBox = lastBox->parent();
     if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox)) {
+        if (beforeChild == lastBox)
+            beforeChild = lastBox->firstChild();
         lastBox->addChild(child, beforeChild);
         return;
     }
diff --git a/WebCore/rendering/RenderTableRow.cpp b/WebCore/rendering/RenderTableRow.cpp
index e5f484b..5bb3ff4 100644
--- a/WebCore/rendering/RenderTableRow.cpp
+++ b/WebCore/rendering/RenderTableRow.cpp
@@ -73,7 +73,9 @@ void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild)
         if (!last)
             last = lastChild();
         if (last && last->isAnonymous() && last->isTableCell()) {
-            last->addChild(child, child->isBeforeContent() ? last->firstChild() : 0);
+            if (beforeChild == last)
+                beforeChild = last->firstChild();
+            last->addChild(child, beforeChild);
             return;
         }
 
diff --git a/WebCore/rendering/RenderTableSection.cpp b/WebCore/rendering/RenderTableSection.cpp
index 9acd9ce..e657606 100644
--- a/WebCore/rendering/RenderTableSection.cpp
+++ b/WebCore/rendering/RenderTableSection.cpp
@@ -96,7 +96,9 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild
         if (!last)
             last = lastChild();
         if (last && last->isAnonymous()) {
-            last->addChild(child);
+            if (beforeChild == last)
+                beforeChild = last->firstChild();
+            last->addChild(child, beforeChild);
             return;
         }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list