Index: Source/core/svg/SVGFontFaceElement.cpp |
diff --git a/Source/core/svg/SVGFontFaceElement.cpp b/Source/core/svg/SVGFontFaceElement.cpp |
index 73402cb64b750f9febc1894f39c571360b7d9cfb..0ed949ca99fc1bc6aec9656d8c55615eb0ab0251 100644 |
--- a/Source/core/svg/SVGFontFaceElement.cpp |
+++ b/Source/core/svg/SVGFontFaceElement.cpp |
@@ -273,14 +273,6 @@ void SVGFontFaceElement::rebuildFontFace() |
return; |
} |
- // we currently ignore all but the first src element, alternatively we could concat them |
- SVGFontFaceSrcElement* srcElement = 0; |
- |
- for (Node* child = firstChild(); child && !srcElement; child = child->nextSibling()) { |
- if (child->hasTagName(font_face_srcTag)) |
- srcElement = static_cast<SVGFontFaceSrcElement*>(child); |
- } |
- |
bool describesParentFont = parentNode()->hasTagName(SVGNames::fontTag); |
RefPtr<CSSValueList> list; |
@@ -291,8 +283,13 @@ void SVGFontFaceElement::rebuildFontFace() |
list->append(CSSFontFaceSrcValue::createLocal(fontFamily())); |
} else { |
m_fontElement = 0; |
- if (srcElement) |
- list = srcElement->srcValue(); |
+ // we currently ignore all but the last src element, alternatively we could concat them |
+ for (Node* child = lastChild(); child && !list; child = child->previousSibling()) { |
+ if (child->hasTagName(font_face_srcTag)) { |
+ list = static_cast<SVGFontFaceSrcElement*>(child)->srcValue(); |
+ break; |
+ } |
+ } |
} |
if (!list || !list->length()) |