registerAnimatedPropertiesForSVGStyledElement();
}
-SVGStyledElement::~SVGStyledElement()
-{
- if (hasPendingResources() && document())
- document()->accessSVGExtensions()->removeElementFromPendingResources(this);
-
- ASSERT(!hasPendingResources());
-}
-
String SVGStyledElement::title() const
{
// According to spec, we should not return titles when hovering over root <svg> elements (those
extensions->markPendingResourcesForRemoval(resourceId);
// Rebuild pending resources for each client of a pending resource that is being removed.
- while (SVGStyledElement* clientElement = extensions->removeElementFromPendingResourcesForRemoval(resourceId)) {
+ while (SVGElement* clientElement = extensions->removeElementFromPendingResourcesForRemoval(resourceId)) {
ASSERT(clientElement->hasPendingResources());
if (clientElement->hasPendingResources()) {
clientElement->buildPendingResource();
updateRelativeLengthsInformation(false, this);
SVGElement::removedFrom(rootParent);
SVGElementInstance::invalidateAllInstancesOfElement(this);
- Document* document = this->document();
- if (!rootParent->inDocument() || !document)
- return;
-
- document->accessSVGExtensions()->removeElementFromPendingResources(this);
}
void SVGStyledElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
svgRareData()->setInstanceUpdatesBlocked(value);
}
-bool SVGStyledElement::hasPendingResources() const
-{
- return hasSVGRareData() && svgRareData()->hasPendingResources();
-}
-
-void SVGStyledElement::setHasPendingResources()
-{
- ensureSVGRareData()->setHasPendingResources(true);
-}
-
-void SVGStyledElement::clearHasPendingResourcesIfPossible()
-{
- if (!document()->accessSVGExtensions()->isElementPendingResources(this))
- ensureSVGRareData()->setHasPendingResources(false);
-}
-
AffineTransform SVGStyledElement::localCoordinateSpaceTransform(SVGLocatable::CTMScope) const
{
// To be overriden by SVGStyledLocatableElement/SVGStyledTransformableElement (or as special case SVGTextElement and SVGPatternElement)