WebCore:
authormitz <mitz@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 21 Oct 2007 04:00:28 +0000 (04:00 +0000)
committermitz <mitz@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 21 Oct 2007 04:00:28 +0000 (04:00 +0000)
        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15208
          display:table causes the collapsed text to show at a different position when expanded

        Test: fast/table/insert-before-anonymous-ancestors.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
        that change was supposed to accomplish has since been done in other
        places in the code.

LayoutTests:

        Reviewed by Dave Hyatt.

        - test and updated results for http://bugs.webkit.org/show_bug.cgi?id=15208
          display:table causes the collapsed text to show at a different position when expanded

        * fast/table/form-in-table-before-misnested-text-crash-css-expected.txt:
        * fast/table/form-in-table-before-misnested-text-crash-expected.txt:
        * fast/table/insert-before-anonymous-ancestors.html: Added.
        * fast/table/section-in-table-before-misnested-text-crash-css-expected.txt:
        * fast/table/section-in-table-before-misnested-text-crash-expected.txt:
        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum: Added.
        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png: Added.
        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/table/form-in-table-before-misnested-text-crash-css-expected.txt
LayoutTests/fast/table/form-in-table-before-misnested-text-crash-expected.txt
LayoutTests/fast/table/insert-before-anonymous-ancestors.html [new file with mode: 0644]
LayoutTests/fast/table/section-in-table-before-misnested-text-crash-css-expected.txt
LayoutTests/fast/table/section-in-table-before-misnested-text-crash-expected.txt
LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt [new file with mode: 0644]
WebCore/ChangeLog
WebCore/rendering/RenderTable.cpp

index 702ba5d26c614fdc59564b62208604a8a099f364..a0ec688617701d6e35635679e5eb9bb1ed4f768c 100644 (file)
@@ -1,3 +1,19 @@
+2007-10-20  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        - test and updated results for http://bugs.webkit.org/show_bug.cgi?id=15208
+          display:table causes the collapsed text to show at a different position when expanded
+
+        * fast/table/form-in-table-before-misnested-text-crash-css-expected.txt:
+        * fast/table/form-in-table-before-misnested-text-crash-expected.txt:
+        * fast/table/insert-before-anonymous-ancestors.html: Added.
+        * fast/table/section-in-table-before-misnested-text-crash-css-expected.txt:
+        * fast/table/section-in-table-before-misnested-text-crash-expected.txt:
+        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum: Added.
+        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png: Added.
+        * platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt: Added.
+
 2007-10-20  Darin Adler  <darin@apple.com>
 
         Reviewed by Tim Hatcher.
index 646a1ab5680bc52160f7611244f1e64be7240ccf..e947c07ae385b7b50c44c9d6f68ec1d6af051bc8 100644 (file)
@@ -1,6 +1,6 @@
 This test checks whether a particular odd arrangement of DOM nodes results in render tree consistency violations.
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
 QQQ
-xxx 
+xxx
 Whee
 QQQ
index 646a1ab5680bc52160f7611244f1e64be7240ccf..e947c07ae385b7b50c44c9d6f68ec1d6af051bc8 100644 (file)
@@ -1,6 +1,6 @@
 This test checks whether a particular odd arrangement of DOM nodes results in render tree consistency violations.
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
 QQQ
-xxx 
+xxx
 Whee
 QQQ
diff --git a/LayoutTests/fast/table/insert-before-anonymous-ancestors.html b/LayoutTests/fast/table/insert-before-anonymous-ancestors.html
new file mode 100644 (file)
index 0000000..d01ca35
--- /dev/null
@@ -0,0 +1,14 @@
+<p>
+    Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=15208">http://bugs.webkit.org/show_bug.cgi?id=15208</a>
+    display:table causes the collapsed text to show at a different position when expanded</i>.
+</p>
+<p>
+    This should say &ldquo;Lorem ipsum&rdquo;:
+</p>
+<div id="table" style="display: table;">
+    ipsum
+</div>
+<script>
+    var table = document.getElementById("table");
+    table.insertBefore(document.createTextNode("Lorem"), table.firstChild);
+</script>
index fbe5ce107e47e3abf7fc3d2d83349ebe869ff6d5..662132833fa3e9b4040bca8140d59eb3a96dff12 100644 (file)
@@ -1,4 +1,4 @@
 This test checks whether a particular odd arrangement of DOM nodes results in render tree consistency violations.
-0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 xxx 
+0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 xxx
 Whee
 QQQ
index fbe5ce107e47e3abf7fc3d2d83349ebe869ff6d5..662132833fa3e9b4040bca8140d59eb3a96dff12 100644 (file)
@@ -1,4 +1,4 @@
 This test checks whether a particular odd arrangement of DOM nodes results in render tree consistency violations.
-0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 xxx 
+0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 xxx
 Whee
 QQQ
diff --git a/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum b/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum
new file mode 100644 (file)
index 0000000..75d91a1
--- /dev/null
@@ -0,0 +1 @@
+cc5b709201e9d33bc1587a443a05727b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png b/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png
new file mode 100644 (file)
index 0000000..2ab8f38
Binary files /dev/null and b/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt b/LayoutTests/platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt
new file mode 100644 (file)
index 0000000..a118d92
--- /dev/null
@@ -0,0 +1,30 @@
+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
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 53x18
+          text run at (0,0) width 53: "Test for "
+        RenderInline {I} at (0,0) size 735x36
+          RenderInline {A} at (0,0) size 301x18 [color=#0000EE]
+            RenderText {#text} at (53,0) size 301x18
+              text run at (53,0) width 301: "http://bugs.webkit.org/show_bug.cgi?id=15208"
+          RenderText {#text} at (354,0) size 735x36
+            text run at (354,0) width 4: " "
+            text run at (358,0) width 377: "display:table causes the collapsed text to show at a different"
+            text run at (0,18) width 153: "position when expanded"
+        RenderText {#text} at (153,18) size 4x18
+          text run at (153,18) width 4: "."
+      RenderBlock {P} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 205x18
+          text run at (0,0) width 205: "This should say \x{201C}Lorem ipsum\x{201D}:"
+      RenderTable {DIV} at (0,86) size 84x18
+        RenderTableSection at (0,0) size 84x18
+          RenderTableRow at (0,0) size 84x18
+            RenderTableCell at (0,0) size 84x18 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 42x18
+                text run at (0,0) width 42: "Lorem"
+              RenderText {#text} at (42,0) size 42x18
+                text run at (42,0) width 4: " "
+                text run at (46,0) width 38: "ipsum"
index 487f276d77f7a23aafc2cc32f15416fbb87d6074..50829f18b242a8048f877ac6fac1d8436650f742 100644 (file)
@@ -1,3 +1,17 @@
+2007-10-20  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        - fix http://bugs.webkit.org/show_bug.cgi?id=15208
+          display:table causes the collapsed text to show at a different position when expanded
+
+        Test: fast/table/insert-before-anonymous-ancestors.html
+
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
+        that change was supposed to accomplish has since been done in other
+        places in the code.
+
 2007-10-20  Mark Rowe  <mrowe@apple.com>
 
         Reviewed by Dave Hyatt.
index 1b63ea57df21802b1031df9b317fc83eea3d7435..ada6e693e436da19972bc3974496fab439de37be 100644 (file)
@@ -191,13 +191,10 @@ void RenderTable::addChild(RenderObject* child, RenderObject* beforeChild)
     }
 
     RenderObject* lastBox = beforeChild;
-    RenderObject* nextToLastBox = beforeChild;
-    while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableSection() && lastBox->style()->display() != TABLE_CAPTION) {
-        nextToLastBox = lastBox;
+    while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableSection() && lastBox->style()->display() != TABLE_CAPTION)
         lastBox = lastBox->parent();
-    }
     if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox)) {
-        lastBox->addChild(child, nextToLastBox);
+        lastBox->addChild(child, beforeChild);
         return;
     }