OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2010 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 #include "platform/PlatformMouseEvent.h" | 50 #include "platform/PlatformMouseEvent.h" |
51 #include "platform/network/ResourceRequest.h" | 51 #include "platform/network/ResourceRequest.h" |
52 | 52 |
53 namespace WebCore { | 53 namespace WebCore { |
54 | 54 |
55 using namespace HTMLNames; | 55 using namespace HTMLNames; |
56 | 56 |
57 // Animated property definitions | 57 // Animated property definitions |
58 DEFINE_ANIMATED_STRING(SVGAElement, SVGNames::targetAttr, SVGTarget, svgTarget) | 58 DEFINE_ANIMATED_STRING(SVGAElement, SVGNames::targetAttr, SVGTarget, svgTarget) |
59 DEFINE_ANIMATED_STRING(SVGAElement, XLinkNames::hrefAttr, Href, href) | 59 DEFINE_ANIMATED_STRING(SVGAElement, XLinkNames::hrefAttr, Href, href) |
60 DEFINE_ANIMATED_BOOLEAN(SVGAElement, SVGNames::externalResourcesRequiredAttr, Ex
ternalResourcesRequired, externalResourcesRequired) | |
61 | 60 |
62 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGAElement) | 61 BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGAElement) |
63 REGISTER_LOCAL_ANIMATED_PROPERTY(svgTarget) | 62 REGISTER_LOCAL_ANIMATED_PROPERTY(svgTarget) |
64 REGISTER_LOCAL_ANIMATED_PROPERTY(href) | 63 REGISTER_LOCAL_ANIMATED_PROPERTY(href) |
65 REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired) | |
66 REGISTER_PARENT_ANIMATED_PROPERTIES(SVGGraphicsElement) | 64 REGISTER_PARENT_ANIMATED_PROPERTIES(SVGGraphicsElement) |
67 END_REGISTER_ANIMATED_PROPERTIES | 65 END_REGISTER_ANIMATED_PROPERTIES |
68 | 66 |
69 inline SVGAElement::SVGAElement(Document& document) | 67 inline SVGAElement::SVGAElement(Document& document) |
70 : SVGGraphicsElement(SVGNames::aTag, document) | 68 : SVGGraphicsElement(SVGNames::aTag, document) |
71 { | 69 { |
72 ScriptWrappable::init(this); | 70 ScriptWrappable::init(this); |
73 registerAnimatedPropertiesForSVGAElement(); | 71 registerAnimatedPropertiesForSVGAElement(); |
74 } | 72 } |
75 | 73 |
(...skipping 11 matching lines...) Expand all Loading... |
87 | 85 |
88 // Otherwise, use the title of this element. | 86 // Otherwise, use the title of this element. |
89 return SVGElement::title(); | 87 return SVGElement::title(); |
90 } | 88 } |
91 | 89 |
92 bool SVGAElement::isSupportedAttribute(const QualifiedName& attrName) | 90 bool SVGAElement::isSupportedAttribute(const QualifiedName& attrName) |
93 { | 91 { |
94 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); | 92 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); |
95 if (supportedAttributes.isEmpty()) { | 93 if (supportedAttributes.isEmpty()) { |
96 SVGURIReference::addSupportedAttributes(supportedAttributes); | 94 SVGURIReference::addSupportedAttributes(supportedAttributes); |
97 SVGExternalResourcesRequired::addSupportedAttributes(supportedAttributes
); | |
98 supportedAttributes.add(SVGNames::targetAttr); | 95 supportedAttributes.add(SVGNames::targetAttr); |
99 } | 96 } |
100 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); | 97 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); |
101 } | 98 } |
102 | 99 |
103 void SVGAElement::parseAttribute(const QualifiedName& name, const AtomicString&
value) | 100 void SVGAElement::parseAttribute(const QualifiedName& name, const AtomicString&
value) |
104 { | 101 { |
105 if (!isSupportedAttribute(name)) { | 102 if (!isSupportedAttribute(name)) { |
106 SVGGraphicsElement::parseAttribute(name, value); | 103 SVGGraphicsElement::parseAttribute(name, value); |
107 return; | 104 return; |
108 } | 105 } |
109 | 106 |
110 if (name == SVGNames::targetAttr) { | 107 if (name == SVGNames::targetAttr) { |
111 setSVGTargetBaseValue(value); | 108 setSVGTargetBaseValue(value); |
112 return; | 109 return; |
113 } | 110 } |
114 | 111 |
115 if (SVGURIReference::parseAttribute(name, value)) | 112 if (SVGURIReference::parseAttribute(name, value)) |
116 return; | 113 return; |
117 if (SVGExternalResourcesRequired::parseAttribute(name, value)) | |
118 return; | |
119 | 114 |
120 ASSERT_NOT_REACHED(); | 115 ASSERT_NOT_REACHED(); |
121 } | 116 } |
122 | 117 |
123 void SVGAElement::svgAttributeChanged(const QualifiedName& attrName) | 118 void SVGAElement::svgAttributeChanged(const QualifiedName& attrName) |
124 { | 119 { |
125 if (!isSupportedAttribute(attrName)) { | 120 if (!isSupportedAttribute(attrName)) { |
126 SVGGraphicsElement::svgAttributeChanged(attrName); | 121 SVGGraphicsElement::svgAttributeChanged(attrName); |
127 return; | 122 return; |
128 } | 123 } |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 | 231 |
237 return SVGGraphicsElement::childShouldCreateRenderer(child); | 232 return SVGGraphicsElement::childShouldCreateRenderer(child); |
238 } | 233 } |
239 | 234 |
240 bool SVGAElement::willRespondToMouseClickEvents() | 235 bool SVGAElement::willRespondToMouseClickEvents() |
241 { | 236 { |
242 return isLink() || SVGGraphicsElement::willRespondToMouseClickEvents(); | 237 return isLink() || SVGGraphicsElement::willRespondToMouseClickEvents(); |
243 } | 238 } |
244 | 239 |
245 } // namespace WebCore | 240 } // namespace WebCore |
OLD | NEW |