| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2009 Apple Inc. All rights reserved. | 4 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 | 132 |
| 133 virtual bool haveLoadedRequiredResources(); | 133 virtual bool haveLoadedRequiredResources(); |
| 134 | 134 |
| 135 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener>, bool useCapture) OVERRIDE; | 135 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener>, bool useCapture) OVERRIDE; |
| 136 virtual bool removeEventListener(const AtomicString& eventType, EventListene
r*, bool useCapture) OVERRIDE; | 136 virtual bool removeEventListener(const AtomicString& eventType, EventListene
r*, bool useCapture) OVERRIDE; |
| 137 | 137 |
| 138 virtual bool shouldMoveToFlowThread(RenderStyle*) const OVERRIDE; | 138 virtual bool shouldMoveToFlowThread(RenderStyle*) const OVERRIDE; |
| 139 | 139 |
| 140 void invalidateRelativeLengthClients(SubtreeLayoutScope* = 0); | 140 void invalidateRelativeLengthClients(SubtreeLayoutScope* = 0); |
| 141 | 141 |
| 142 bool isContextElement() const { return m_isContextElement; } |
| 143 void setContextElement() { m_isContextElement = true; } |
| 144 |
| 142 protected: | 145 protected: |
| 143 SVGElement(const QualifiedName&, Document&, ConstructionType = CreateSVGElem
ent); | 146 SVGElement(const QualifiedName&, Document&, ConstructionType = CreateSVGElem
ent); |
| 144 | 147 |
| 145 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 148 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
| 146 | 149 |
| 147 virtual void finishParsingChildren(); | 150 virtual void finishParsingChildren(); |
| 148 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att
ributeModificationReason = ModifiedDirectly) OVERRIDE; | 151 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att
ributeModificationReason = ModifiedDirectly) OVERRIDE; |
| 149 virtual bool childShouldCreateRenderer(const Node& child) const OVERRIDE; | 152 virtual bool childShouldCreateRenderer(const Node& child) const OVERRIDE; |
| 150 | 153 |
| 151 virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE; | 154 virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 HashSet<SVGElement*> m_elementsWithRelativeLengths; | 213 HashSet<SVGElement*> m_elementsWithRelativeLengths; |
| 211 | 214 |
| 212 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGElement) | 215 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGElement) |
| 213 DECLARE_ANIMATED_STRING(ClassName, className) | 216 DECLARE_ANIMATED_STRING(ClassName, className) |
| 214 END_DECLARE_ANIMATED_PROPERTIES | 217 END_DECLARE_ANIMATED_PROPERTIES |
| 215 | 218 |
| 216 #if !ASSERT_DISABLED | 219 #if !ASSERT_DISABLED |
| 217 bool m_inRelativeLengthClientsInvalidation; | 220 bool m_inRelativeLengthClientsInvalidation; |
| 218 #endif | 221 #endif |
| 219 bool m_animatedPropertiesDestructed; | 222 bool m_animatedPropertiesDestructed; |
| 223 bool m_isContextElement; |
| 220 }; | 224 }; |
| 221 | 225 |
| 222 struct SVGAttributeHashTranslator { | 226 struct SVGAttributeHashTranslator { |
| 223 static unsigned hash(const QualifiedName& key) | 227 static unsigned hash(const QualifiedName& key) |
| 224 { | 228 { |
| 225 if (key.hasPrefix()) { | 229 if (key.hasPrefix()) { |
| 226 QualifiedNameComponents components = { nullAtom.impl(), key.localNam
e().impl(), key.namespaceURI().impl() }; | 230 QualifiedNameComponents components = { nullAtom.impl(), key.localNam
e().impl(), key.namespaceURI().impl() }; |
| 227 return hashComponents(components); | 231 return hashComponents(components); |
| 228 } | 232 } |
| 229 return DefaultHash<QualifiedName>::Hash::hash(key); | 233 return DefaultHash<QualifiedName>::Hash::hash(key); |
| 230 } | 234 } |
| 231 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a
.matches(b); } | 235 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a
.matches(b); } |
| 232 }; | 236 }; |
| 233 | 237 |
| 234 DEFINE_NODE_TYPE_CASTS(SVGElement, isSVGElement()); | 238 DEFINE_NODE_TYPE_CASTS(SVGElement, isSVGElement()); |
| 235 | 239 |
| 236 } | 240 } |
| 237 | 241 |
| 238 #endif | 242 #endif |
| OLD | NEW |