OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde .org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde .org> |
3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
253 // If we aren't an instance in a <use> or the <use> title was not found, the n find the first | 253 // If we aren't an instance in a <use> or the <use> title was not found, the n find the first |
254 // <title> child of this element. | 254 // <title> child of this element. |
255 // If a title child was found, return the text contents. | 255 // If a title child was found, return the text contents. |
256 if (Element* titleElement = Traversal<SVGTitleElement>::firstChild(*this)) | 256 if (Element* titleElement = Traversal<SVGTitleElement>::firstChild(*this)) |
257 return titleElement->innerText(); | 257 return titleElement->innerText(); |
258 | 258 |
259 // Otherwise return a null/empty string. | 259 // Otherwise return a null/empty string. |
260 return String(); | 260 return String(); |
261 } | 261 } |
262 | 262 |
263 bool SVGElement::supportsMarkers() const | |
264 { | |
265 DEFINE_STATIC_LOCAL(HashSet<AtomicString>, s_tagList, ()); | |
266 if (s_tagList.isEmpty()) { | |
267 s_tagList.add(SVGNames::lineTag.localName()); | |
268 s_tagList.add(SVGNames::pathTag.localName()); | |
269 s_tagList.add(SVGNames::polygonTag.localName()); | |
270 s_tagList.add(SVGNames::polylineTag.localName()); | |
271 } | |
272 | |
273 return s_tagList.contains(localName()); | |
f(malita)
2014/03/19 14:58:55
We're replacing a virtual call with a hashset look
| |
274 } | |
275 | |
263 PassRefPtrWillBeRawPtr<CSSValue> SVGElement::getPresentationAttribute(const Atom icString& name) | 276 PassRefPtrWillBeRawPtr<CSSValue> SVGElement::getPresentationAttribute(const Atom icString& name) |
264 { | 277 { |
265 if (!hasAttributesWithoutUpdate()) | 278 if (!hasAttributesWithoutUpdate()) |
266 return nullptr; | 279 return nullptr; |
267 | 280 |
268 QualifiedName attributeName(nullAtom, name, nullAtom); | 281 QualifiedName attributeName(nullAtom, name, nullAtom); |
269 const Attribute* attr = getAttributeItem(attributeName); | 282 const Attribute* attr = getAttributeItem(attributeName); |
270 if (!attr) | 283 if (!attr) |
271 return nullptr; | 284 return nullptr; |
272 | 285 |
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1133 animatableAttributes.add(SVGNames::zAttr); | 1146 animatableAttributes.add(SVGNames::zAttr); |
1134 } | 1147 } |
1135 | 1148 |
1136 if (name == classAttr) | 1149 if (name == classAttr) |
1137 return true; | 1150 return true; |
1138 | 1151 |
1139 return animatableAttributes.contains(name); | 1152 return animatableAttributes.contains(name); |
1140 } | 1153 } |
1141 #endif | 1154 #endif |
1142 } | 1155 } |
OLD | NEW |