| Index: Source/WebCore/rendering/svg/RenderSVGText.cpp
|
| ===================================================================
|
| --- Source/WebCore/rendering/svg/RenderSVGText.cpp (revision 118876)
|
| +++ Source/WebCore/rendering/svg/RenderSVGText.cpp (working copy)
|
| @@ -168,7 +168,6 @@
|
| void RenderSVGText::subtreeChildWasAdded(RenderObject* child)
|
| {
|
| ASSERT(child);
|
| - ASSERT(child->isSVGInlineText() || child->isSVGInline());
|
| if (!shouldHandleSubtreeMutations() || documentBeingDestroyed())
|
| return;
|
|
|
| @@ -176,6 +175,9 @@
|
| // cache, as the next buildLayoutAttributesForTextRenderer() call rebuilds it.
|
| m_layoutAttributesBuilder.clearTextPositioningElements();
|
|
|
| + if (!child->isSVGInlineText() && !child->isSVGInline())
|
| + return;
|
| +
|
| // Detect changes in layout attributes and only measure those text parts that have changed!
|
| Vector<SVGTextLayoutAttributes*> newLayoutAttributes;
|
| collectLayoutAttributes(this, newLayoutAttributes);
|
| @@ -238,7 +240,6 @@
|
| void RenderSVGText::subtreeChildWillBeRemoved(RenderObject* child, Vector<SVGTextLayoutAttributes*, 2>& affectedAttributes)
|
| {
|
| ASSERT(child);
|
| - ASSERT(child->isSVGInlineText() || child->isSVGInline());
|
| if (!shouldHandleSubtreeMutations())
|
| return;
|
|
|
| @@ -247,7 +248,7 @@
|
| // The positioning elements cache depends on the size of each text renderer in the
|
| // subtree. If this changes, clear the cache. It's going to be rebuilt below.
|
| m_layoutAttributesBuilder.clearTextPositioningElements();
|
| - if (m_layoutAttributes.isEmpty() || child->isSVGInline())
|
| + if (m_layoutAttributes.isEmpty() || !child->isSVGInlineText())
|
| return;
|
|
|
| // This logic requires that the 'text' child is still inserted in the tree.
|
|
|