Index: Source/core/rendering/RenderObjectChildList.cpp |
diff --git a/Source/core/rendering/RenderObjectChildList.cpp b/Source/core/rendering/RenderObjectChildList.cpp |
index cade5feec4c92cf12bbcd8a0bdba0fc4063c543b..9e1febbdbe49290edacf9121b0921e5d68fff03f 100644 |
--- a/Source/core/rendering/RenderObjectChildList.cpp |
+++ b/Source/core/rendering/RenderObjectChildList.cpp |
@@ -45,14 +45,15 @@ void RenderObjectChildList::trace(Visitor* visitor) |
void RenderObjectChildList::destroyLeftoverChildren() |
{ |
while (firstChild()) { |
- if (firstChild()->isListMarker() || (firstChild()->style()->styleType() == FIRST_LETTER && !firstChild()->isText())) { |
- firstChild()->remove(); // List markers are owned by their enclosing list and so don't get destroyed by this container. Similarly, first letters are destroyed by their remaining text fragment. |
- } else { |
- // Destroy any anonymous children remaining in the render tree, as well as implicit (shadow) DOM elements like those used in the engine-based text fields. |
- if (firstChild()->node()) |
- firstChild()->node()->setRenderer(0); |
- firstChild()->destroy(); |
+ if (firstChild()->isListMarker()) { |
+ firstChild()->remove(); // List markers are owned by their enclosing list and so don't get destroyed by this container. |
+ continue; |
} |
+ |
+ // Destroy any anonymous children remaining in the render tree, as well as implicit (shadow) DOM elements like those used in the engine-based text fields. |
+ if (firstChild()->node()) |
+ firstChild()->node()->setRenderer(0); |
+ firstChild()->destroy(); |
} |
} |