summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGCursorElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/svg/SVGCursorElement.cpp')
-rw-r--r--WebCore/svg/SVGCursorElement.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/WebCore/svg/SVGCursorElement.cpp b/WebCore/svg/SVGCursorElement.cpp
index 161a061..8ff9735 100644
--- a/WebCore/svg/SVGCursorElement.cpp
+++ b/WebCore/svg/SVGCursorElement.cpp
@@ -26,6 +26,7 @@
#include "SVGCursorElement.h"
#include "Attr.h"
+#include "Document.h"
#include "SVGNames.h"
#include "SVGLength.h"
@@ -43,6 +44,9 @@ SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document* doc)
SVGCursorElement::~SVGCursorElement()
{
+ HashSet<SVGElement*>::iterator end = m_clients.end();
+ for (HashSet<SVGElement*>::iterator it = m_clients.begin(); it != end; ++it)
+ (*it)->setCursorElement(0);
}
void SVGCursorElement::parseMappedAttribute(MappedAttribute* attr)
@@ -66,11 +70,13 @@ void SVGCursorElement::parseMappedAttribute(MappedAttribute* attr)
void SVGCursorElement::addClient(SVGElement* element)
{
m_clients.add(element);
+ element->setCursorElement(this);
}
void SVGCursorElement::removeClient(SVGElement* element)
{
m_clients.remove(element);
+ element->setCursorElement(0);
}
void SVGCursorElement::svgAttributeChanged(const QualifiedName& attrName)
@@ -89,9 +95,11 @@ void SVGCursorElement::svgAttributeChanged(const QualifiedName& attrName)
}
}
-void SVGCursorElement::getSubresourceAttributeStrings(Vector<String>& urls) const
+void SVGCursorElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) const
{
- urls.append(href());
+ SVGElement::addSubresourceAttributeURLs(urls);
+
+ addSubresourceURL(urls, document()->completeURL(href()));
}
}