diff options
Diffstat (limited to 'WebCore/svg/SVGStyledElement.h')
-rw-r--r-- | WebCore/svg/SVGStyledElement.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/WebCore/svg/SVGStyledElement.h b/WebCore/svg/SVGStyledElement.h index 8431458..3482a4f 100644 --- a/WebCore/svg/SVGStyledElement.h +++ b/WebCore/svg/SVGStyledElement.h @@ -35,21 +35,29 @@ namespace WebCore { class SVGStyledElement : public SVGElement, public SVGStylable { public: - SVGStyledElement(const QualifiedName&, Document*); - virtual ~SVGStyledElement(); - virtual String title() const; bool hasRelativeLengths() const { return !m_elementsWithRelativeLengths.isEmpty(); } - virtual bool isStyled() const { return true; } virtual bool supportsMarkers() const { return false; } virtual PassRefPtr<CSSValue> getPresentationAttribute(const String& name); - virtual CSSStyleDeclaration* style() { return StyledElement::style(); } bool isKnownAttribute(const QualifiedName&); + // Centralized place to force a manual style resolution. Hacky but needed for now. + PassRefPtr<RenderStyle> resolveStyle(RenderStyle* parentStyle); + + bool instanceUpdatesBlocked() const; + void setInstanceUpdatesBlocked(bool); + + virtual AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const; + + virtual CSSStyleDeclaration* style() { return StyledElement::style(); } + + protected: + SVGStyledElement(const QualifiedName&, Document*); + virtual bool rendererIsNeeded(RenderStyle*); virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const; @@ -62,15 +70,6 @@ namespace WebCore { virtual void removedFromDocument(); virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0); - // Centralized place to force a manual style resolution. Hacky but needed for now. - PassRefPtr<RenderStyle> resolveStyle(RenderStyle* parentStyle); - - bool instanceUpdatesBlocked() const; - void setInstanceUpdatesBlocked(bool); - - virtual AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const; - - protected: static int cssPropertyIdForSVGAttributeName(const QualifiedName&); void updateRelativeLengthsInformation() { updateRelativeLengthsInformation(selfHasRelativeLengths(), this); } void updateRelativeLengthsInformation(bool hasRelativeLengths, SVGStyledElement*); @@ -78,7 +77,10 @@ namespace WebCore { virtual bool selfHasRelativeLengths() const { return false; } private: + virtual bool isStyled() const { return true; } + HashSet<SVGStyledElement*> m_elementsWithRelativeLengths; + DECLARE_ANIMATED_PROPERTY(SVGStyledElement, HTMLNames::classAttr, String, ClassName, className) }; |