Remove an always-failing table-wrapping check in RenderObject::addChild
authorjchaffraix@webkit.org <jchaffraix@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jul 2012 23:34:00 +0000 (23:34 +0000)
committerjchaffraix@webkit.org <jchaffraix@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jul 2012 23:34:00 +0000 (23:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=91286

Reviewed by Eric Seidel.

Due to the structure of the code, this test is always failing (newChild->isTableCell()
is true to get in the branch).

The changeset adding the code didn't add testing so I poundered adding the mentioned test,
which is passing. However the test would need to be blindly changed to be included in our
test harness. I would also expect this code to be exercised by other table tests anyway.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
Removed never-reached branch. While at it, removed a 'what' comment in the same file.

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

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderObject.cpp

index 46249c0..a3efd3e 100644 (file)
@@ -1,3 +1,21 @@
+2012-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
+
+        Remove an always-failing table-wrapping check in RenderObject::addChild
+        https://bugs.webkit.org/show_bug.cgi?id=91286
+
+        Reviewed by Eric Seidel.
+
+        Due to the structure of the code, this test is always failing (newChild->isTableCell()
+        is true to get in the branch).
+
+        The changeset adding the code didn't add testing so I poundered adding the mentioned test,
+        which is passing. However the test would need to be blindly changed to be included in our
+        test harness. I would also expect this code to be exercised by other table tests anyway.
+
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::addChild):
+        Removed never-reached branch. While at it, removed a 'what' comment in the same file.
+
 2012-07-13  Emil A Eklund  <eae@chromium.org>
 
         Use LayoutBoxExtent for image outsets
index deb6607..04f27e6 100755 (executable)
@@ -282,15 +282,8 @@ void RenderObject::addChild(RenderObject* newChild, RenderObject* beforeChild)
         needsTable = !isTable();
     else if (newChild->isTableRow())
         needsTable = !isTableSection();
-    else if (newChild->isTableCell()) {
+    else if (newChild->isTableCell())
         needsTable = !isTableRow();
-        // I'm not 100% sure this is the best way to fix this, but without this
-        // change we recurse infinitely when trying to render the CSS2 test page:
-        // http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/htmlbodyheadrendering2.html.
-        // See Radar 2925291.
-        if (needsTable && isTableCell() && !children->firstChild() && !newChild->isTableCell())
-            needsTable = false;
-    }
 
     if (needsTable) {
         RenderTable* table;
@@ -302,10 +295,8 @@ void RenderObject::addChild(RenderObject* newChild, RenderObject* beforeChild)
             addChild(table, beforeChild);
         }
         table->addChild(newChild);
-    } else {
-        // Just add it...
+    } else
         children->insertChildNode(this, newChild, beforeChild);
-    }
 
     if (newChild->isText() && newChild->style()->textTransform() == CAPITALIZE)
         toRenderText(newChild)->transformText();