CSSCursorImageValue::~CSSCursorImageValue() { if (!isSVGCursor()) return; HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); String url = toCSSImageValue(m_imageValue.get())->url(); for (; it != end; ++it) { SVGElement* referencedElement = *it; referencedElement->cursorImageValueRemoved(); if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, referencedElement->document())) cursorElement->removeClient(referencedElement); } }
CSSCursorImageValue::~CSSCursorImageValue() { #if ENABLE(SVG) if (!isSVGCursorIdentifier(url())) return; HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); for (; it != end; ++it) { SVGElement* referencedElement = *it; referencedElement->cursorImageValueRemoved(); if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url(), referencedElement->document())) cursorElement->removeClient(referencedElement); } #endif }
CSSCursorImageValue::~CSSCursorImageValue() { detachPendingImage(); if (!isSVGCursor()) return; HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); for (; it != end; ++it) { SVGElement* referencedElement = *it; referencedElement->cursorImageValueRemoved(); if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(downcast<CSSImageValue>(m_imageValue.get()).url(), referencedElement->document())) cursorElement->removeClient(referencedElement); } }
CSSCursorImageValue::~CSSCursorImageValue() { // The below teardown is all handled by weak pointer processing in oilpan. #if !ENABLE(OILPAN) if (!isSVGCursor()) return; HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); String url = toCSSImageValue(m_imageValue.get())->url(); for (; it != end; ++it) { SVGElement* referencedElement = *it; referencedElement->cursorImageValueRemoved(); if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, referencedElement->treeScope())) cursorElement->removeClient(referencedElement); } #endif }
CSSCursorImageValue::~CSSCursorImageValue() { detachPendingImage(); #if ENABLE(SVG) if (!isSVGCursor()) return; HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); String url = static_cast<CSSImageValue*>(m_imageValue.get())->url(); for (; it != end; ++it) { SVGElement* referencedElement = *it; referencedElement->cursorImageValueRemoved(); if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, referencedElement->document())) cursorElement->removeClient(referencedElement); } #endif }