When we set word-wrap: break-word and xml:space="preserve" to svg text element, the text is collapsed.
https://bugs.webkit.org/show_bug.cgi?id=111675

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-08
Reviewed by Stephen Chenney.

Source/WebCore:

RenderSVGText define its size when it laid out its first line at SVGRootInlineBox::computePerCharacterLayoutInformation().

In the following spec, SVG don't perform automatic line break or word wrapping.
http://www.w3.org/TR/SVG/text.html#Introduction
> SVG performs no automatic line breaking or word wrapping.
However, when we set word-wrap: break-word and xml:space="preserve" to svg text element, RenderBlock::LineBreaker::nextLineBreak() breaks the text.
This make single character lines and make RenderSVGText narrow.

We must ignore word-wrap property to make the text a single line.

We always disable break words and break all in nextLineBreak() when the object is SVGInlineText.

Test: svg/text/preserve-break-word.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Disable break words and break all when we process SVG Text.

LayoutTests:

Test combination of xml:space="preserve" and word-wrap: break-word to SVG Text.
These text should not be collapsed.

* svg/text/preserve-break-word-expected.html: Added.
* svg/text/preserve-break-word.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prevent infinite loop in SVG use cycle detection
https://bugs.webkit.org/show_bug.cgi?id=111822

Reviewed by Stephen Chenney.

Source/WebCore:

SVG use cycle detection depended on idForStyleResolution() which differs from
getIdAttribute() in quirks mode. During use tree cycle detection, this difference
resulted in an infinite loop because idForStyleResolution() used lower-cased id
attributes. This patch removes an existing fixme for this and switches to using
getIdAttribute().

Test: svg/custom/use-cycle-detection.html

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::hasCycleUseReferencing):

LayoutTests:

* svg/custom/use-cycle-detection-expected.html: Added.
* svg/custom/use-cycle-detection.html: Added.


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