| 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 18 matching lines...) Expand all Loading... |
| 29 #include "core/svg/properties/SVGPropertyInfo.h" | 29 #include "core/svg/properties/SVGPropertyInfo.h" |
| 30 #include "platform/Timer.h" | 30 #include "platform/Timer.h" |
| 31 #include "wtf/HashMap.h" | 31 #include "wtf/HashMap.h" |
| 32 #include "wtf/OwnPtr.h" | 32 #include "wtf/OwnPtr.h" |
| 33 | 33 |
| 34 namespace WebCore { | 34 namespace WebCore { |
| 35 | 35 |
| 36 class AffineTransform; | 36 class AffineTransform; |
| 37 class CSSCursorImageValue; | 37 class CSSCursorImageValue; |
| 38 class Document; | 38 class Document; |
| 39 class NewSVGAnimatedPropertyBase; | 39 class SVGAnimatedPropertyBase; |
| 40 class SubtreeLayoutScope; | 40 class SubtreeLayoutScope; |
| 41 class SVGCursorElement; | 41 class SVGCursorElement; |
| 42 class SVGDocumentExtensions; | 42 class SVGDocumentExtensions; |
| 43 class SVGElementInstance; | 43 class SVGElementInstance; |
| 44 class SVGElementRareData; | 44 class SVGElementRareData; |
| 45 class SVGFitToViewBox; | 45 class SVGFitToViewBox; |
| 46 class SVGSVGElement; | 46 class SVGSVGElement; |
| 47 | 47 |
| 48 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName
ToIdMap, const QualifiedName& attrName); | 48 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName
ToIdMap, const QualifiedName& attrName); |
| 49 | 49 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 virtual bool isFilterEffect() const { return false; } | 86 virtual bool isFilterEffect() const { return false; } |
| 87 virtual bool isTextContent() const { return false; } | 87 virtual bool isTextContent() const { return false; } |
| 88 virtual bool isTextPositioning() const { return false; } | 88 virtual bool isTextPositioning() const { return false; } |
| 89 virtual bool isStructurallyExternal() const { return false; } | 89 virtual bool isStructurallyExternal() const { return false; } |
| 90 | 90 |
| 91 // For SVGTests | 91 // For SVGTests |
| 92 virtual bool isValid() const { return true; } | 92 virtual bool isValid() const { return true; } |
| 93 | 93 |
| 94 virtual void svgAttributeChanged(const QualifiedName&); | 94 virtual void svgAttributeChanged(const QualifiedName&); |
| 95 | 95 |
| 96 PassRefPtr<NewSVGAnimatedPropertyBase> propertyFromAttribute(const Qualified
Name& attributeName); | 96 PassRefPtr<SVGAnimatedPropertyBase> propertyFromAttribute(const QualifiedNam
e& attributeName); |
| 97 static AnimatedPropertyType animatedPropertyTypeForCSSAttribute(const Qualif
iedName& attributeName); | 97 static AnimatedPropertyType animatedPropertyTypeForCSSAttribute(const Qualif
iedName& attributeName); |
| 98 | 98 |
| 99 void sendSVGLoadEventIfPossible(bool sendParentLoadEvents = false); | 99 void sendSVGLoadEventIfPossible(bool sendParentLoadEvents = false); |
| 100 void sendSVGLoadEventIfPossibleAsynchronously(); | 100 void sendSVGLoadEventIfPossibleAsynchronously(); |
| 101 void svgLoadEventTimerFired(Timer<SVGElement>*); | 101 void svgLoadEventTimerFired(Timer<SVGElement>*); |
| 102 virtual Timer<SVGElement>* svgLoadEventTimer(); | 102 virtual Timer<SVGElement>* svgLoadEventTimer(); |
| 103 | 103 |
| 104 virtual AffineTransform* supplementalTransform() { return 0; } | 104 virtual AffineTransform* supplementalTransform() { return 0; } |
| 105 | 105 |
| 106 void invalidateSVGAttributes() { ensureUniqueElementData().m_animatedSVGAttr
ibutesAreDirty = true; } | 106 void invalidateSVGAttributes() { ensureUniqueElementData().m_animatedSVGAttr
ibutesAreDirty = true; } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 136 virtual bool haveLoadedRequiredResources(); | 136 virtual bool haveLoadedRequiredResources(); |
| 137 | 137 |
| 138 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener>, bool useCapture = false) OVERRIDE FINAL; | 138 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener>, bool useCapture = false) OVERRIDE FINAL; |
| 139 virtual bool removeEventListener(const AtomicString& eventType, EventListene
r*, bool useCapture = false) OVERRIDE FINAL; | 139 virtual bool removeEventListener(const AtomicString& eventType, EventListene
r*, bool useCapture = false) OVERRIDE FINAL; |
| 140 | 140 |
| 141 void invalidateRelativeLengthClients(SubtreeLayoutScope* = 0); | 141 void invalidateRelativeLengthClients(SubtreeLayoutScope* = 0); |
| 142 | 142 |
| 143 bool isContextElement() const { return m_isContextElement; } | 143 bool isContextElement() const { return m_isContextElement; } |
| 144 void setContextElement() { m_isContextElement = true; } | 144 void setContextElement() { m_isContextElement = true; } |
| 145 | 145 |
| 146 void addToPropertyMap(PassRefPtr<NewSVGAnimatedPropertyBase>); | 146 void addToPropertyMap(PassRefPtr<SVGAnimatedPropertyBase>); |
| 147 | 147 |
| 148 SVGAnimatedString* className() { return m_className.get(); } | 148 SVGAnimatedString* className() { return m_className.get(); } |
| 149 | 149 |
| 150 protected: | 150 protected: |
| 151 SVGElement(const QualifiedName&, Document&, ConstructionType = CreateSVGElem
ent); | 151 SVGElement(const QualifiedName&, Document&, ConstructionType = CreateSVGElem
ent); |
| 152 | 152 |
| 153 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 153 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
| 154 | 154 |
| 155 virtual void finishParsingChildren() OVERRIDE; | 155 virtual void finishParsingChildren() OVERRIDE; |
| 156 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att
ributeModificationReason = ModifiedDirectly) OVERRIDE; | 156 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att
ributeModificationReason = ModifiedDirectly) OVERRIDE; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 void buildPendingResourcesIfNeeded(); | 196 void buildPendingResourcesIfNeeded(); |
| 197 | 197 |
| 198 void mapInstanceToElement(SVGElementInstance*); | 198 void mapInstanceToElement(SVGElementInstance*); |
| 199 void removeInstanceMapping(SVGElementInstance*); | 199 void removeInstanceMapping(SVGElementInstance*); |
| 200 | 200 |
| 201 void cleanupAnimatedProperties(); | 201 void cleanupAnimatedProperties(); |
| 202 friend class CleanUpAnimatedPropertiesCaller; | 202 friend class CleanUpAnimatedPropertiesCaller; |
| 203 | 203 |
| 204 HashSet<SVGElement*> m_elementsWithRelativeLengths; | 204 HashSet<SVGElement*> m_elementsWithRelativeLengths; |
| 205 | 205 |
| 206 typedef HashMap<QualifiedName, RefPtr<NewSVGAnimatedPropertyBase> > Attribut
eToPropertyMap; | 206 typedef HashMap<QualifiedName, RefPtr<SVGAnimatedPropertyBase> > AttributeTo
PropertyMap; |
| 207 AttributeToPropertyMap m_newAttributeToPropertyMap; | 207 AttributeToPropertyMap m_newAttributeToPropertyMap; |
| 208 | 208 |
| 209 #if !ASSERT_DISABLED | 209 #if !ASSERT_DISABLED |
| 210 bool m_inRelativeLengthClientsInvalidation; | 210 bool m_inRelativeLengthClientsInvalidation; |
| 211 #endif | 211 #endif |
| 212 unsigned m_isContextElement : 1; | 212 unsigned m_isContextElement : 1; |
| 213 unsigned m_hasSVGRareData : 1; | 213 unsigned m_hasSVGRareData : 1; |
| 214 | 214 |
| 215 RefPtr<SVGAnimatedString> m_className; | 215 RefPtr<SVGAnimatedString> m_className; |
| 216 }; | 216 }; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 227 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a
.matches(b); } | 227 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a
.matches(b); } |
| 228 }; | 228 }; |
| 229 | 229 |
| 230 DEFINE_ELEMENT_TYPE_CASTS(SVGElement, isSVGElement()); | 230 DEFINE_ELEMENT_TYPE_CASTS(SVGElement, isSVGElement()); |
| 231 | 231 |
| 232 template <> inline bool isElementOfType<const SVGElement>(const Node& node) { re
turn node.isSVGElement(); } | 232 template <> inline bool isElementOfType<const SVGElement>(const Node& node) { re
turn node.isSVGElement(); } |
| 233 | 233 |
| 234 } | 234 } |
| 235 | 235 |
| 236 #endif | 236 #endif |
| OLD | NEW |