Visit Eriks test and you'll see the following Assertion immediately: ASSERTION FAILED: m_attributes.xValues().size() == textLength() /../Source/WebCore/rendering/svg/RenderSVGInlineText.cpp(131) : bool WebCore::RenderSVGInlineText::characterStartsNewTextChunk(int) const 1 WebCore::RenderSVGInlineText::characterStartsNewTextChunk(int) const 2 WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath(WebCore::SVGInlineTextBox*, WebCore::RenderSVGInlineText*, WebCore::RenderStyle const*) 3 WebCore::SVGTextLayoutEngine::layoutInlineTextBox(WebCore::SVGInlineTextBox*) 4 WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes(WebCore::InlineFlowBox*, WebCore::SVGTextLayoutEngine&) 5 WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes(WebCore::InlineFlowBox*, WebCore::SVGTextLayoutEngine&) 6 WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation() 7 WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&) 8 WebCore::RenderBlock::forceLayoutInlineChildren() 9 WebCore::RenderSVGText::layout() 10 WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderObject*, bool) 11 WebCore::RenderSVGHiddenContainer::layout() 12 WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderObject*, bool) 13 WebCore::RenderSVGRoot::layout() 14 WebCore::FrameView::layout(bool) 15 WebCore::Document::updateLayout() 16 WebCore::Document::updateLayoutIgnorePendingStylesheets() 17 WebCore::SVGElementInstance::invalidateAllInstancesOfElement(WebCore::SVGElement*) 18 WebCore::SVGStyledElement::childrenChanged(bool, WebCore::Node*, WebCore::Node*, int) 19 WebCore::SVGTextPositioningElement::childrenChanged(bool, WebCore::Node*, WebCore::Node*, int) 20 WebCore::ContainerNode::removeChildren() 21 WebCore::Node::setTextContent(WTF::String const&, int&) 22 WebCore::setJSNodeTextContent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue) I hope I can find the time to create a minimal test, but I can't promise.
Hi Dirk, The url is slow and probably buggy, but I dont hit the asserts mentioned below anymore on Snow Leopard and QtWebkit. Cheers, Rob.
Yes,I can confirm that it does not happen with the latest trunk build. The performance is more worse than it used to be. But this is another bug.