Index: Source/core/svg/SVGElement.h |
diff --git a/Source/core/svg/SVGElement.h b/Source/core/svg/SVGElement.h |
index 448558f554cdb078a7a4ec554d8b7739313c15df..f96ccf529e44ff25fdbe99397e4d66907b3d9d4e 100644 |
--- a/Source/core/svg/SVGElement.h |
+++ b/Source/core/svg/SVGElement.h |
@@ -28,6 +28,7 @@ |
#include "core/svg/SVGParsingError.h" |
#include "core/svg/properties/SVGPropertyInfo.h" |
#include "platform/Timer.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/HashMap.h" |
#include "wtf/OwnPtr.h" |
@@ -92,7 +93,7 @@ public: |
virtual void svgAttributeChanged(const QualifiedName&); |
- PassRefPtr<SVGAnimatedPropertyBase> propertyFromAttribute(const QualifiedName& attributeName); |
+ PassRefPtrWillBeRawPtr<SVGAnimatedPropertyBase> propertyFromAttribute(const QualifiedName& attributeName); |
static AnimatedPropertyType animatedPropertyTypeForCSSAttribute(const QualifiedName& attributeName); |
void sendSVGLoadEventToSelfAndAncestorChainIfPossible(); |
@@ -147,7 +148,7 @@ public: |
void invalidateRelativeLengthClients(SubtreeLayoutScope* = 0); |
- void addToPropertyMap(PassRefPtr<SVGAnimatedPropertyBase>); |
+ void addToPropertyMap(PassRefPtrWillBeRawPtr<SVGAnimatedPropertyBase>); |
SVGAnimatedString* className() { return m_className.get(); } |
@@ -238,7 +239,7 @@ private: |
WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> > m_elementsWithRelativeLengths; |
- typedef HashMap<QualifiedName, RefPtr<SVGAnimatedPropertyBase> > AttributeToPropertyMap; |
+ typedef WillBeHeapHashMap<QualifiedName, RefPtrWillBeMember<SVGAnimatedPropertyBase> > AttributeToPropertyMap; |
AttributeToPropertyMap m_attributeToPropertyMap; |
#if ENABLE(ASSERT) |
@@ -246,7 +247,7 @@ private: |
#endif |
OwnPtrWillBeMember<SVGElementRareData> m_SVGRareData; |
- RefPtr<SVGAnimatedString> m_className; |
+ RefPtrWillBeMember<SVGAnimatedString> m_className; |
}; |
struct SVGAttributeHashTranslator { |
@@ -278,8 +279,8 @@ inline bool Node::hasTagName(const SVGQualifiedName& name) const |
inline bool is##thisType(const SVGElement* element) { return element && is##thisType(*element); } \ |
inline bool is##thisType(const Node& node) { return node.isSVGElement() ? is##thisType(toSVGElement(node)) : false; } \ |
inline bool is##thisType(const Node* node) { return node && is##thisType(*node); } \ |
- template<typename T> inline bool is##thisType(const PassRefPtr<T>& node) { return is##thisType(node.get()); } \ |
- template<typename T> inline bool is##thisType(const RefPtr<T>& node) { return is##thisType(node.get()); } \ |
+ template<typename T> inline bool is##thisType(const PassRefPtrWillBeRawPtr<T>& node) { return is##thisType(node.get()); } \ |
+ template<typename T> inline bool is##thisType(const RefPtrWillBeMember<T>& node) { return is##thisType(node.get()); } \ |
template <> inline bool isElementOfType<const thisType>(const SVGElement& element) { return is##thisType(element); } \ |
DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) |