OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Leo Yang <leoyang@webkit.org> | 2 * Copyright (C) 2011 Leo Yang <leoyang@webkit.org> |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 return isSVGGlyphElement(element); | 48 return isSVGGlyphElement(element); |
49 } | 49 } |
50 | 50 |
51 template<typename CharType> | 51 template<typename CharType> |
52 void SVGGlyphRefElement::parseAttributeInternal(const QualifiedName& name, const
AtomicString& value) | 52 void SVGGlyphRefElement::parseAttributeInternal(const QualifiedName& name, const
AtomicString& value) |
53 { | 53 { |
54 const CharType* ptr = value.isEmpty() ? 0 : value.string().getCharacters<Cha
rType>(); | 54 const CharType* ptr = value.isEmpty() ? 0 : value.string().getCharacters<Cha
rType>(); |
55 const CharType* end = ptr + value.length(); | 55 const CharType* end = ptr + value.length(); |
56 | 56 |
57 // FIXME: We need some error handling here. | 57 // FIXME: We need some error handling here. |
58 SVGParsingError parseError = NoError; | |
59 if (name == SVGNames::xAttr) { | 58 if (name == SVGNames::xAttr) { |
60 parseNumber(ptr, end, m_x); | 59 parseNumber(ptr, end, m_x); |
61 } else if (name == SVGNames::yAttr) { | 60 } else if (name == SVGNames::yAttr) { |
62 parseNumber(ptr, end, m_y); | 61 parseNumber(ptr, end, m_y); |
63 } else if (name == SVGNames::dxAttr) { | 62 } else if (name == SVGNames::dxAttr) { |
64 parseNumber(ptr, end, m_dx); | 63 parseNumber(ptr, end, m_dx); |
65 } else if (name == SVGNames::dyAttr) { | 64 } else if (name == SVGNames::dyAttr) { |
66 parseNumber(ptr, end, m_dy); | 65 parseNumber(ptr, end, m_dy); |
67 } else if (SVGURIReference::parseAttribute(name, value, parseError)) { | |
68 } else { | 66 } else { |
69 SVGElement::parseAttribute(name, value); | 67 parseAttributeNew(name, value); |
70 } | 68 } |
71 reportAttributeParsingError(parseError, name, value); | |
72 } | 69 } |
73 | 70 |
74 void SVGGlyphRefElement::parseAttribute(const QualifiedName& name, const AtomicS
tring& value) | 71 void SVGGlyphRefElement::parseAttribute(const QualifiedName& name, const AtomicS
tring& value) |
75 { | 72 { |
76 if (value.isEmpty() || value.is8Bit()) | 73 if (value.isEmpty() || value.is8Bit()) |
77 parseAttributeInternal<LChar>(name, value); | 74 parseAttributeInternal<LChar>(name, value); |
78 else | 75 else |
79 parseAttributeInternal<UChar>(name, value); | 76 parseAttributeInternal<UChar>(name, value); |
80 } | 77 } |
81 | 78 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 void SVGGlyphRefElement::setDy(float dy) | 111 void SVGGlyphRefElement::setDy(float dy) |
115 { | 112 { |
116 // FIXME: Honor attribute change. | 113 // FIXME: Honor attribute change. |
117 // https://bugs.webkit.org/show_bug.cgi?id=64787 | 114 // https://bugs.webkit.org/show_bug.cgi?id=64787 |
118 m_dy = dy; | 115 m_dy = dy; |
119 } | 116 } |
120 | 117 |
121 } | 118 } |
122 | 119 |
123 #endif | 120 #endif |
OLD | NEW |