Changeset 73254 in webkit


Ignore:
Timestamp:
Dec 3, 2010 1:44:21 AM (13 years ago)
Author:
Nikolas Zimmermann
Message:

2010-12-03 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
https://bugs.webkit.org/show_bug.cgi?id=50440

Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.

No functional changes, thus no new tests.

  • svg/SVGAElement.cpp:
  • svg/SVGAElement.h:
  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimationElement.cpp:
  • svg/SVGAnimationElement.h: (WebCore::SVGAnimationElement::calculateDistance): (WebCore::SVGAnimationElement::animationPath):
  • svg/SVGCircleElement.cpp:
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.cpp:
  • svg/SVGClipPathElement.h:
  • svg/SVGCursorElement.cpp:
  • svg/SVGCursorElement.h:
  • svg/SVGDefsElement.cpp:
  • svg/SVGDefsElement.h:
  • svg/SVGEllipseElement.cpp:
  • svg/SVGEllipseElement.h:
  • svg/SVGFEConvolveMatrixElement.cpp:
  • svg/SVGFEConvolveMatrixElement.h:
  • svg/SVGFEImageElement.cpp:
  • svg/SVGFEImageElement.h:
  • svg/SVGFETurbulenceElement.cpp:
  • svg/SVGFETurbulenceElement.h:
  • svg/SVGFilterElement.cpp:
  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGFontElement.cpp: (WebCore::SVGFontElement::firstMissingGlyphElement): (WebCore::SVGFontElement::ensureGlyphCache):
  • svg/SVGFontElement.h:
  • svg/SVGForeignObjectElement.cpp:
  • svg/SVGForeignObjectElement.h:
  • svg/SVGGElement.cpp:
  • svg/SVGGElement.h: (WebCore::SVGGElement::isShadowTreeContainerElement): (WebCore::SVGGElement::isValid):
  • svg/SVGGradientElement.cpp:
  • svg/SVGGradientElement.h:
  • svg/SVGImageElement.cpp:
  • svg/SVGImageElement.h:
  • svg/SVGLineElement.cpp:
  • svg/SVGLineElement.h:
  • svg/SVGLinearGradientElement.h:
  • svg/SVGMPathElement.cpp:
  • svg/SVGMPathElement.h:
  • svg/SVGMarkerElement.cpp:
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp:
  • svg/SVGMaskElement.h:
  • svg/SVGPathElement.cpp:
  • svg/SVGPathElement.h:
  • svg/SVGPatternElement.cpp:
  • svg/SVGPatternElement.h:
  • svg/SVGPolyElement.cpp:
  • svg/SVGPolyElement.h:
  • svg/SVGRadialGradientElement.h:
  • svg/SVGRectElement.cpp:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::contentScriptType): (WebCore::SVGSVGElement::contentStyleType): (WebCore::SVGSVGElement::parseMappedAttribute):
  • svg/SVGSVGElement.h:
  • svg/SVGScriptElement.cpp:
  • svg/SVGScriptElement.h:
  • svg/SVGSwitchElement.cpp:
  • svg/SVGSwitchElement.h: (WebCore::SVGSwitchElement::isValid):
  • svg/SVGSymbolElement.cpp:
  • svg/SVGSymbolElement.h: (WebCore::SVGSymbolElement::rendererIsNeeded):
  • svg/SVGTextContentElement.cpp:
  • svg/SVGTextContentElement.h:
  • svg/SVGUseElement.cpp:
  • svg/SVGUseElement.h:
  • svg/SVGViewElement.cpp:
  • svg/SVGViewElement.h: (WebCore::SVGViewElement::viewTarget): (WebCore::SVGViewElement::rendererIsNeeded):
  • svg/SVGViewSpec.cpp:
  • svg/SVGViewSpec.h: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewTargetString): (WebCore::SVGViewSpec::contextElement):
  • svg/properties/SVGAnimatedPropertyMacros.h:
Location:
trunk/WebCore
Files:
75 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r73250 r73254  
     12010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Dirk Schulze.
     4
     5        Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
     6        https://bugs.webkit.org/show_bug.cgi?id=50440
     7
     8        Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
     9        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
     10
     11        No functional changes, thus no new tests.
     12
     13        * svg/SVGAElement.cpp:
     14        * svg/SVGAElement.h:
     15        * svg/SVGAnimatedAngle.h:
     16        * svg/SVGAnimatedBoolean.h:
     17        * svg/SVGAnimatedInteger.h:
     18        * svg/SVGAnimatedPreserveAspectRatio.h:
     19        * svg/SVGAnimatedRect.h:
     20        * svg/SVGAnimationElement.cpp:
     21        * svg/SVGAnimationElement.h:
     22        (WebCore::SVGAnimationElement::calculateDistance):
     23        (WebCore::SVGAnimationElement::animationPath):
     24        * svg/SVGCircleElement.cpp:
     25        * svg/SVGCircleElement.h:
     26        * svg/SVGClipPathElement.cpp:
     27        * svg/SVGClipPathElement.h:
     28        * svg/SVGCursorElement.cpp:
     29        * svg/SVGCursorElement.h:
     30        * svg/SVGDefsElement.cpp:
     31        * svg/SVGDefsElement.h:
     32        * svg/SVGEllipseElement.cpp:
     33        * svg/SVGEllipseElement.h:
     34        * svg/SVGFEConvolveMatrixElement.cpp:
     35        * svg/SVGFEConvolveMatrixElement.h:
     36        * svg/SVGFEImageElement.cpp:
     37        * svg/SVGFEImageElement.h:
     38        * svg/SVGFETurbulenceElement.cpp:
     39        * svg/SVGFETurbulenceElement.h:
     40        * svg/SVGFilterElement.cpp:
     41        * svg/SVGFilterElement.h:
     42        * svg/SVGFilterPrimitiveStandardAttributes.h:
     43        * svg/SVGFontElement.cpp:
     44        (WebCore::SVGFontElement::firstMissingGlyphElement):
     45        (WebCore::SVGFontElement::ensureGlyphCache):
     46        * svg/SVGFontElement.h:
     47        * svg/SVGForeignObjectElement.cpp:
     48        * svg/SVGForeignObjectElement.h:
     49        * svg/SVGGElement.cpp:
     50        * svg/SVGGElement.h:
     51        (WebCore::SVGGElement::isShadowTreeContainerElement):
     52        (WebCore::SVGGElement::isValid):
     53        * svg/SVGGradientElement.cpp:
     54        * svg/SVGGradientElement.h:
     55        * svg/SVGImageElement.cpp:
     56        * svg/SVGImageElement.h:
     57        * svg/SVGLineElement.cpp:
     58        * svg/SVGLineElement.h:
     59        * svg/SVGLinearGradientElement.h:
     60        * svg/SVGMPathElement.cpp:
     61        * svg/SVGMPathElement.h:
     62        * svg/SVGMarkerElement.cpp:
     63        * svg/SVGMarkerElement.h:
     64        * svg/SVGMaskElement.cpp:
     65        * svg/SVGMaskElement.h:
     66        * svg/SVGPathElement.cpp:
     67        * svg/SVGPathElement.h:
     68        * svg/SVGPatternElement.cpp:
     69        * svg/SVGPatternElement.h:
     70        * svg/SVGPolyElement.cpp:
     71        * svg/SVGPolyElement.h:
     72        * svg/SVGRadialGradientElement.h:
     73        * svg/SVGRectElement.cpp:
     74        * svg/SVGRectElement.h:
     75        * svg/SVGSVGElement.cpp:
     76        (WebCore::SVGSVGElement::contentScriptType):
     77        (WebCore::SVGSVGElement::contentStyleType):
     78        (WebCore::SVGSVGElement::parseMappedAttribute):
     79        * svg/SVGSVGElement.h:
     80        * svg/SVGScriptElement.cpp:
     81        * svg/SVGScriptElement.h:
     82        * svg/SVGSwitchElement.cpp:
     83        * svg/SVGSwitchElement.h:
     84        (WebCore::SVGSwitchElement::isValid):
     85        * svg/SVGSymbolElement.cpp:
     86        * svg/SVGSymbolElement.h:
     87        (WebCore::SVGSymbolElement::rendererIsNeeded):
     88        * svg/SVGTextContentElement.cpp:
     89        * svg/SVGTextContentElement.h:
     90        * svg/SVGUseElement.cpp:
     91        * svg/SVGUseElement.h:
     92        * svg/SVGViewElement.cpp:
     93        * svg/SVGViewElement.h:
     94        (WebCore::SVGViewElement::viewTarget):
     95        (WebCore::SVGViewElement::rendererIsNeeded):
     96        * svg/SVGViewSpec.cpp:
     97        * svg/SVGViewSpec.h:
     98        (WebCore::SVGViewSpec::transform):
     99        (WebCore::SVGViewSpec::viewTargetString):
     100        (WebCore::SVGViewSpec::contextElement):
     101        * svg/properties/SVGAnimatedPropertyMacros.h:
     102
    11032010-12-03  Noel Gordon  <noel.gordon@gmail.com>
    2104
  • trunk/WebCore/svg/SVGAElement.cpp

    r73130 r73254  
    5151DEFINE_ANIMATED_STRING(SVGAElement, SVGNames::targetAttr, SVGTarget, svgTarget)
    5252DEFINE_ANIMATED_STRING(SVGAElement, XLinkNames::hrefAttr, Href, href)
     53DEFINE_ANIMATED_BOOLEAN(SVGAElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    5354
    5455inline SVGAElement::SVGAElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGAElement.h

    r73130 r73254  
    2424
    2525#if ENABLE(SVG)
     26#include "SVGAnimatedBoolean.h"
    2627#include "SVGExternalResourcesRequired.h"
    2728#include "SVGLangSpace.h"
     
    7374
    7475    // SVGExternalResourcesRequired
    75     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGAElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     76    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    7677};
    7778
  • trunk/WebCore/svg/SVGAnimatedAngle.h

    r70410 r73254  
    2929typedef SVGAnimatedPropertyTearOff<SVGAngle> SVGAnimatedAngle;
    3030
     31// Helper macros to declare/define a SVGAnimatedAngle object
     32#define DECLARE_ANIMATED_ANGLE(UpperProperty, LowerProperty) \
     33DECLARE_ANIMATED_PROPERTY(SVGAnimatedAngle, SVGAngle, UpperProperty, LowerProperty)
     34
     35#define DEFINE_ANIMATED_ANGLE_MULTIPLE_WRAPPERS(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, UpperProperty, LowerProperty) \
     36DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, SVGAnimatedAngle, SVGAngle, UpperProperty, LowerProperty)
     37
    3138} // namespace WebCore
    3239
  • trunk/WebCore/svg/SVGAnimatedBoolean.h

    r70857 r73254  
    2828typedef SVGAnimatedStaticPropertyTearOff<bool> SVGAnimatedBoolean;
    2929
     30// Helper macros to declare/define a SVGAnimatedBoolean object
     31#define DECLARE_ANIMATED_BOOLEAN(UpperProperty, LowerProperty) \
     32DECLARE_ANIMATED_PROPERTY(SVGAnimatedBoolean, bool, UpperProperty, LowerProperty)
     33
     34#define DEFINE_ANIMATED_BOOLEAN(OwnerType, DOMAttribute, UpperProperty, LowerProperty) \
     35DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedBoolean, bool, UpperProperty, LowerProperty)
     36
    3037} // namespace WebCore
    3138
  • trunk/WebCore/svg/SVGAnimatedInteger.h

    r70872 r73254  
    2222
    2323#if ENABLE(SVG)
     24#include "SVGAnimatedPropertyMacros.h"
    2425#include "SVGAnimatedStaticPropertyTearOff.h"
    2526
     
    2829typedef SVGAnimatedStaticPropertyTearOff<long> SVGAnimatedInteger;
    2930
     31// Helper macros to declare/define a SVGAnimatedInteger object
     32#define DECLARE_ANIMATED_INTEGER(UpperProperty, LowerProperty) \
     33DECLARE_ANIMATED_PROPERTY(SVGAnimatedInteger, long, UpperProperty, LowerProperty)
     34
     35#define DEFINE_ANIMATED_INTEGER(OwnerType, DOMAttribute, UpperProperty, LowerProperty) \
     36DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedInteger, long, UpperProperty, LowerProperty)
     37
     38#define DEFINE_ANIMATED_INTEGER_MULTIPLE_WRAPPERS(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, UpperProperty, LowerProperty) \
     39DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, SVGAnimatedInteger, long, UpperProperty, LowerProperty)
     40
    3041} // namespace WebCore
    3142
  • trunk/WebCore/svg/SVGAnimatedPreserveAspectRatio.h

    r71103 r73254  
    2929typedef SVGAnimatedPropertyTearOff<SVGPreserveAspectRatio> SVGAnimatedPreserveAspectRatio;
    3030
     31// Helper macros to declare/define a SVGAnimatedPreserveAspectRatio object
     32#define DECLARE_ANIMATED_PRESERVEASPECTRATIO(UpperProperty, LowerProperty) \
     33DECLARE_ANIMATED_PROPERTY(SVGAnimatedPreserveAspectRatio, SVGPreserveAspectRatio, UpperProperty, LowerProperty)
     34
     35#define DEFINE_ANIMATED_PRESERVEASPECTRATIO(OwnerType, DOMAttribute, UpperProperty, LowerProperty) \
     36DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedPreserveAspectRatio, SVGPreserveAspectRatio, UpperProperty, LowerProperty)
     37
    3138} // namespace WebCore
    3239
  • trunk/WebCore/svg/SVGAnimatedRect.h

    r70631 r73254  
    2222
    2323#if ENABLE(SVG)
    24 #include "FloatRect.h"
     24#include "SVGAnimatedPropertyMacros.h"
    2525#include "SVGAnimatedPropertyTearOff.h"
     26#include "SVGRect.h"
    2627
    2728namespace WebCore {
     
    2930typedef SVGAnimatedPropertyTearOff<FloatRect> SVGAnimatedRect;
    3031
     32// Helper macros to declare/define a SVGAnimatedRect object
     33#define DECLARE_ANIMATED_RECT(UpperProperty, LowerProperty) \
     34DECLARE_ANIMATED_PROPERTY(SVGAnimatedRect, FloatRect, UpperProperty, LowerProperty)
     35
     36#define DEFINE_ANIMATED_RECT(OwnerType, DOMAttribute, UpperProperty, LowerProperty) \
     37DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedRect, FloatRect, UpperProperty, LowerProperty)
     38
    3139} // namespace WebCore
    3240
  • trunk/WebCore/svg/SVGAnimationElement.cpp

    r72518 r73254  
    4646#include "SVGUseElement.h"
    4747#include "XLinkNames.h"
    48 #include <math.h>
    4948#include <wtf/StdLibExtras.h>
    5049
     
    5251
    5352namespace WebCore {
    54    
     53
     54// Animated property definitions
     55DEFINE_ANIMATED_BOOLEAN(SVGAnimationElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     56
    5557SVGAnimationElement::SVGAnimationElement(const QualifiedName& tagName, Document* document)
    5658    : SVGSMILElement(tagName, document)
  • trunk/WebCore/svg/SVGAnimationElement.h

    r71828 r73254  
    2424#ifndef SVGAnimationElement_h
    2525#define SVGAnimationElement_h
     26
    2627#if ENABLE(SVG_ANIMATION)
    2728#include "ElementTimeControl.h"
    2829#include "Path.h"
    2930#include "SMILTime.h"
    30 #include "SVGAnimatedPropertyMacros.h"
     31#include "SVGAnimatedBoolean.h"
     32#include "SVGExternalResourcesRequired.h"
    3133#include "SVGSMILElement.h"
    32 #include "SVGExternalResourcesRequired.h"
    3334#include "SVGStringList.h"
    3435#include "SVGTests.h"
     
    3738namespace WebCore {
    3839   
    39     class ConditionEventListener;
    40     class TimeContainer;
     40class ConditionEventListener;
     41class TimeContainer;
    4142
    42     class SVGAnimationElement : public SVGSMILElement,
    43                                 public SVGTests,
    44                                 public SVGExternalResourcesRequired,
    45                                 public ElementTimeControl {
    46     public:
    47         // SVGAnimationElement
    48         float getStartTime() const;
    49         float getCurrentTime() const;
    50         float getSimpleDuration(ExceptionCode&) const;
    51        
    52         // ElementTimeControl
    53         virtual void beginElement();
    54         virtual void beginElementAt(float offset);
    55         virtual void endElement();
    56         virtual void endElementAt(float offset);
    57        
    58         static bool attributeIsCSS(const String& attributeName);
     43class SVGAnimationElement : public SVGSMILElement,
     44                            public SVGTests,
     45                            public SVGExternalResourcesRequired,
     46                            public ElementTimeControl {
     47public:
     48    // SVGAnimationElement
     49    float getStartTime() const;
     50    float getCurrentTime() const;
     51    float getSimpleDuration(ExceptionCode&) const;
     52   
     53    // ElementTimeControl
     54    virtual void beginElement();
     55    virtual void beginElementAt(float offset);
     56    virtual void endElement();
     57    virtual void endElementAt(float offset);
     58   
     59    static bool attributeIsCSS(const String& attributeName);
    5960
    60     protected:
    61         SVGAnimationElement(const QualifiedName&, Document*);
     61protected:
     62    SVGAnimationElement(const QualifiedName&, Document*);
    6263
    63         virtual void parseMappedAttribute(Attribute*);
     64    virtual void parseMappedAttribute(Attribute*);
    6465
    65         enum CalcMode { CalcModeDiscrete, CalcModeLinear, CalcModePaced, CalcModeSpline };
    66         CalcMode calcMode() const;
    67        
    68         enum AttributeType { AttributeTypeCSS, AttributeTypeXML, AttributeTypeAuto };
    69         AttributeType attributeType() const;
    70        
    71         String toValue() const;
    72         String byValue() const;
    73         String fromValue() const;
    74        
    75         enum AnimationMode { NoAnimation, ToAnimation, ByAnimation, ValuesAnimation, FromToAnimation, FromByAnimation, PathAnimation };
    76         AnimationMode animationMode() const;
     66    enum CalcMode { CalcModeDiscrete, CalcModeLinear, CalcModePaced, CalcModeSpline };
     67    CalcMode calcMode() const;
     68   
     69    enum AttributeType { AttributeTypeCSS, AttributeTypeXML, AttributeTypeAuto };
     70    AttributeType attributeType() const;
     71   
     72    String toValue() const;
     73    String byValue() const;
     74    String fromValue() const;
     75   
     76    enum AnimationMode { NoAnimation, ToAnimation, ByAnimation, ValuesAnimation, FromToAnimation, FromByAnimation, PathAnimation };
     77    AnimationMode animationMode() const;
    7778
    78         virtual bool hasValidTarget() const;
    79        
    80         String targetAttributeBaseValue() const;
    81         void setTargetAttributeAnimatedValue(const String&);
    82         bool targetAttributeIsCSS() const;
    83        
    84         bool isAdditive() const;
    85         bool isAccumulated() const;
     79    virtual bool hasValidTarget() const;
    8680   
    87         // from SVGSMILElement
    88         virtual void startedActiveInterval();
    89         virtual void updateAnimation(float percent, unsigned repeat, SVGSMILElement* resultElement);
    90         virtual void endedActiveInterval();
    91        
    92     private:
    93         virtual void attributeChanged(Attribute*, bool preserveDecls);
    94         virtual void synchronizeProperty(const QualifiedName&);
     81    String targetAttributeBaseValue() const;
     82    void setTargetAttributeAnimatedValue(const String&);
     83    bool targetAttributeIsCSS() const;
     84   
     85    bool isAdditive() const;
     86    bool isAccumulated() const;
    9587
    96         virtual bool calculateFromAndToValues(const String& fromString, const String& toString) = 0;
    97         virtual bool calculateFromAndByValues(const String& fromString, const String& byString) = 0;
    98         virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement* resultElement) = 0;
    99         virtual float calculateDistance(const String& /*fromString*/, const String& /*toString*/) { return -1.f; }
    100         virtual Path animationPath() const { return Path(); }
    101        
    102         void currentValuesForValuesAnimation(float percent, float& effectivePercent, String& from, String& to) const;
    103         void calculateKeyTimesForCalcModePaced();
    104         float calculatePercentFromKeyPoints(float percent) const;
    105         void currentValuesFromKeyPoints(float percent, float& effectivePercent, String& from, String& to) const;
    106         float calculatePercentForSpline(float percent, unsigned splineIndex) const;
    107         unsigned calculateKeyTimesIndex(float percent) const;
    108        
    109         // SVGExternalResourcesRequired
    110         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGAnimationElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     88    // from SVGSMILElement
     89    virtual void startedActiveInterval();
     90    virtual void updateAnimation(float percent, unsigned repeat, SVGSMILElement* resultElement);
     91    virtual void endedActiveInterval();
     92   
     93private:
     94    virtual void attributeChanged(Attribute*, bool preserveDecls);
     95    virtual void synchronizeProperty(const QualifiedName&);
    11196
    112         bool m_animationValid;
     97    virtual bool calculateFromAndToValues(const String& fromString, const String& toString) = 0;
     98    virtual bool calculateFromAndByValues(const String& fromString, const String& byString) = 0;
     99    virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement* resultElement) = 0;
     100    virtual float calculateDistance(const String& /*fromString*/, const String& /*toString*/) { return -1.f; }
     101    virtual Path animationPath() const { return Path(); }
     102   
     103    void currentValuesForValuesAnimation(float percent, float& effectivePercent, String& from, String& to) const;
     104    void calculateKeyTimesForCalcModePaced();
     105    float calculatePercentFromKeyPoints(float percent) const;
     106    void currentValuesFromKeyPoints(float percent, float& effectivePercent, String& from, String& to) const;
     107    float calculatePercentForSpline(float percent, unsigned splineIndex) const;
     108    unsigned calculateKeyTimesIndex(float percent) const;
    113109
    114         Vector<String> m_values;
    115         Vector<float> m_keyTimes;
    116         Vector<float> m_keyPoints;
    117         Vector<UnitBezier> m_keySplines;
    118         String m_lastValuesAnimationFrom;
    119         String m_lastValuesAnimationTo;
    120     };
     110    // Animated property declarations
     111
     112    // SVGExternalResourcesRequired
     113    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
     114
     115    bool m_animationValid;
     116
     117    Vector<String> m_values;
     118    Vector<float> m_keyTimes;
     119    Vector<float> m_keyPoints;
     120    Vector<UnitBezier> m_keySplines;
     121    String m_lastValuesAnimationFrom;
     122    String m_lastValuesAnimationTo;
     123};
    121124
    122125} // namespace WebCore
  • trunk/WebCore/svg/SVGCircleElement.cpp

    r73016 r73254  
    3737DEFINE_ANIMATED_LENGTH(SVGCircleElement, SVGNames::cyAttr, Cy, cy)
    3838DEFINE_ANIMATED_LENGTH(SVGCircleElement, SVGNames::rAttr, R, r)
     39DEFINE_ANIMATED_BOOLEAN(SVGCircleElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3940
    4041inline SVGCircleElement::SVGCircleElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGCircleElement.h

    r73016 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGLangSpace.h"
     
    5858
    5959    // SVGExternalResourcesRequired
    60     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGCircleElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     60    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6161};
    6262
  • trunk/WebCore/svg/SVGClipPathElement.cpp

    r73130 r73254  
    3737// Animated property definitions
    3838DEFINE_ANIMATED_ENUMERATION(SVGClipPathElement, SVGNames::clipPathUnitsAttr, ClipPathUnits, clipPathUnits)
     39DEFINE_ANIMATED_BOOLEAN(SVGClipPathElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3940
    4041inline SVGClipPathElement::SVGClipPathElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGClipPathElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedEnumeration.h"
    2627#include "SVGExternalResourcesRequired.h"
     
    5758
    5859    // SVGExternalResourcesRequired
    59     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGClipPathElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     60    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6061};
    6162
  • trunk/WebCore/svg/SVGCursorElement.cpp

    r73130 r73254  
    3434DEFINE_ANIMATED_LENGTH(SVGCursorElement, SVGNames::yAttr, Y, y)
    3535DEFINE_ANIMATED_STRING(SVGCursorElement, XLinkNames::hrefAttr, Href, href)
     36DEFINE_ANIMATED_BOOLEAN(SVGCursorElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3637
    3738inline SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGCursorElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    2627#include "SVGAnimatedString.h"
     
    6364
    6465    // SVGExternalResourcesRequired
    65     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGCursorElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     66    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6667
    6768    HashSet<SVGElement*> m_clients;
  • trunk/WebCore/svg/SVGDefsElement.cpp

    r72518 r73254  
    2727
    2828namespace WebCore {
     29
     30// Animated property definitions
     31DEFINE_ANIMATED_BOOLEAN(SVGDefsElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    2932
    3033inline SVGDefsElement::SVGDefsElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGDefsElement.h

    r70857 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
    2626#include "SVGExternalResourcesRequired.h"
    2727#include "SVGLangSpace.h"
     
    3131namespace WebCore {
    3232
    33     class SVGDefsElement : public SVGStyledTransformableElement,
    34                            public SVGTests,
    35                            public SVGLangSpace,
    36                            public SVGExternalResourcesRequired {
    37     public:
    38         static PassRefPtr<SVGDefsElement> create(const QualifiedName&, Document*);
     33class SVGDefsElement : public SVGStyledTransformableElement,
     34                       public SVGTests,
     35                       public SVGLangSpace,
     36                       public SVGExternalResourcesRequired {
     37public:
     38    static PassRefPtr<SVGDefsElement> create(const QualifiedName&, Document*);
    3939
    40     private:
    41         SVGDefsElement(const QualifiedName&, Document*);
     40private:
     41    SVGDefsElement(const QualifiedName&, Document*);
    4242
    43         virtual bool isValid() const;
     43    virtual bool isValid() const;
    4444
    45         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
    46         virtual void synchronizeProperty(const QualifiedName&);
     45    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
     46    virtual void synchronizeProperty(const QualifiedName&);
    4747
    48         // SVGExternalResourcesRequired
    49         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGDefsElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
    50     };
     48    // Animated property declarations
     49
     50    // SVGExternalResourcesRequired
     51    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
     52};
    5153
    5254} // namespace WebCore
  • trunk/WebCore/svg/SVGEllipseElement.cpp

    r73016 r73254  
    3838DEFINE_ANIMATED_LENGTH(SVGEllipseElement, SVGNames::rxAttr, Rx, rx)
    3939DEFINE_ANIMATED_LENGTH(SVGEllipseElement, SVGNames::ryAttr, Ry, ry)
     40DEFINE_ANIMATED_BOOLEAN(SVGEllipseElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4041
    4142inline SVGEllipseElement::SVGEllipseElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGEllipseElement.h

    r73016 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGLangSpace.h"
     
    5959
    6060    // SVGExternalResourcesRequired
    61     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGEllipseElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     61    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6262};
    6363
  • trunk/WebCore/svg/SVGFEConvolveMatrixElement.cpp

    r73130 r73254  
    3434// Animated property definitions
    3535DEFINE_ANIMATED_STRING(SVGFEConvolveMatrixElement, SVGNames::inAttr, In1, in1)
     36DEFINE_ANIMATED_INTEGER_MULTIPLE_WRAPPERS(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderXIdentifier(), OrderX, orderX)
     37DEFINE_ANIMATED_INTEGER_MULTIPLE_WRAPPERS(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderYIdentifier(), OrderY, orderY)
    3638DEFINE_ANIMATED_NUMBER_LIST(SVGFEConvolveMatrixElement, SVGNames::kernelMatrixAttr, KernelMatrix, kernelMatrix)
    3739DEFINE_ANIMATED_NUMBER(SVGFEConvolveMatrixElement, SVGNames::divisorAttr, Divisor, divisor)
    3840DEFINE_ANIMATED_NUMBER(SVGFEConvolveMatrixElement, SVGNames::biasAttr, Bias, bias)
     41DEFINE_ANIMATED_INTEGER(SVGFEConvolveMatrixElement, SVGNames::targetXAttr, TargetX, targetX)
     42DEFINE_ANIMATED_INTEGER(SVGFEConvolveMatrixElement, SVGNames::targetYAttr, TargetY, targetY)
    3943DEFINE_ANIMATED_ENUMERATION(SVGFEConvolveMatrixElement, SVGNames::operatorAttr, EdgeMode, edgeMode)
    4044DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFEConvolveMatrixElement, SVGNames::kernelUnitLengthAttr, kernelUnitLengthXIdentifier(), KernelUnitLengthX, kernelUnitLengthX)
    4145DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFEConvolveMatrixElement, SVGNames::kernelUnitLengthAttr, kernelUnitLengthYIdentifier(), KernelUnitLengthY, kernelUnitLengthY)
     46DEFINE_ANIMATED_BOOLEAN(SVGFEConvolveMatrixElement, SVGNames::preserveAlphaAttr, PreserveAlpha, preserveAlpha)
    4247
    4348inline SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGFEConvolveMatrixElement.h

    r73130 r73254  
    5151    // Animated property declarations
    5252    DECLARE_ANIMATED_STRING(In1, in1)
    53     DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderXIdentifier(), long, OrderX, orderX)
    54     DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderYIdentifier(), long, OrderY, orderY)
     53    DECLARE_ANIMATED_INTEGER(OrderX, orderX)
     54    DECLARE_ANIMATED_INTEGER(OrderY, orderY)
    5555    DECLARE_ANIMATED_NUMBER_LIST(KernelMatrix, kernelMatrix)
    5656    DECLARE_ANIMATED_NUMBER(Divisor, divisor)
    5757    DECLARE_ANIMATED_NUMBER(Bias, bias)
    58     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::targetXAttr, long, TargetX, targetX)
    59     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::targetYAttr, long, TargetY, targetY)
     58    DECLARE_ANIMATED_INTEGER(TargetX, targetX)
     59    DECLARE_ANIMATED_INTEGER(TargetY, targetY)
    6060    DECLARE_ANIMATED_ENUMERATION(EdgeMode, edgeMode)
    6161    DECLARE_ANIMATED_NUMBER(KernelUnitLengthX, kernelUnitLengthX)
    6262    DECLARE_ANIMATED_NUMBER(KernelUnitLengthY, kernelUnitLengthY)
    63     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::preserveAlphaAttr, bool, PreserveAlpha, preserveAlpha)
     63    DECLARE_ANIMATED_BOOLEAN(PreserveAlpha, preserveAlpha)
    6464};
    6565
  • trunk/WebCore/svg/SVGFEImageElement.cpp

    r73130 r73254  
    3939
    4040// Animated property definitions
     41DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGFEImageElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
    4142DEFINE_ANIMATED_STRING(SVGFEImageElement, XLinkNames::hrefAttr, Href, href)
     43DEFINE_ANIMATED_BOOLEAN(SVGFEImageElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4244
    4345inline SVGFEImageElement::SVGFEImageElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGFEImageElement.h

    r73130 r73254  
    2626#include "CachedResourceHandle.h"
    2727#include "ImageBuffer.h"
     28#include "SVGAnimatedPreserveAspectRatio.h"
    2829#include "SVGExternalResourcesRequired.h"
    2930#include "SVGFEImage.h"
    3031#include "SVGFilterPrimitiveStandardAttributes.h"
    3132#include "SVGLangSpace.h"
    32 #include "SVGPreserveAspectRatio.h"
    3333#include "SVGURIReference.h"
    3434
     
    5959
    6060    // Animated property declarations
    61     DECLARE_ANIMATED_PROPERTY_NEW(SVGFEImageElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     61    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    6262
    6363    // SVGURIReference
     
    6565
    6666    // SVGExternalResourcesRequired
    67     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEImageElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     67    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6868
    6969    CachedResourceHandle<CachedImage> m_cachedImage;
  • trunk/WebCore/svg/SVGFETurbulenceElement.cpp

    r73130 r73254  
    3232DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, baseFrequencyXIdentifier(), BaseFrequencyX, baseFrequencyX)
    3333DEFINE_ANIMATED_NUMBER_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, baseFrequencyYIdentifier(), BaseFrequencyY, baseFrequencyY)
     34DEFINE_ANIMATED_INTEGER(SVGFETurbulenceElement, SVGNames::numOctavesAttr, NumOctaves, numOctaves)
    3435DEFINE_ANIMATED_NUMBER(SVGFETurbulenceElement, SVGNames::seedAttr, Seed, seed)
    3536DEFINE_ANIMATED_ENUMERATION(SVGFETurbulenceElement, SVGNames::stitchTilesAttr, StitchTiles, stitchTiles)
  • trunk/WebCore/svg/SVGFETurbulenceElement.h

    r73130 r73254  
    5454    DECLARE_ANIMATED_NUMBER(BaseFrequencyX, baseFrequencyX)
    5555    DECLARE_ANIMATED_NUMBER(BaseFrequencyY, baseFrequencyY)
    56     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFETurbulenceElement, SVGNames::numOctavesAttr, long, NumOctaves, numOctaves)
     56    DECLARE_ANIMATED_INTEGER(NumOctaves, numOctaves)
    5757    DECLARE_ANIMATED_NUMBER(Seed, seed)
    5858    DECLARE_ANIMATED_ENUMERATION(StitchTiles, stitchTiles)
  • trunk/WebCore/svg/SVGFilterElement.cpp

    r73130 r73254  
    4444DEFINE_ANIMATED_LENGTH(SVGFilterElement, SVGNames::widthAttr, Width, width)
    4545DEFINE_ANIMATED_LENGTH(SVGFilterElement, SVGNames::heightAttr, Height, height)
     46DEFINE_ANIMATED_INTEGER_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, filterResXIdentifier(), FilterResX, filterResX)
     47DEFINE_ANIMATED_INTEGER_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, filterResYIdentifier(), FilterResY, filterResY)
    4648DEFINE_ANIMATED_STRING(SVGFilterElement, XLinkNames::hrefAttr, Href, href)
     49DEFINE_ANIMATED_BOOLEAN(SVGFilterElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4750
    4851inline SVGFilterElement::SVGFilterElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGFilterElement.h

    r73130 r73254  
    2525
    2626#if ENABLE(SVG) && ENABLE(FILTERS)
     27#include "SVGAnimatedBoolean.h"
    2728#include "SVGAnimatedEnumeration.h"
     29#include "SVGAnimatedInteger.h"
    2830#include "SVGAnimatedLength.h"
    2931#include "SVGExternalResourcesRequired.h"
     
    6870    DECLARE_ANIMATED_LENGTH(Width, width)
    6971    DECLARE_ANIMATED_LENGTH(Height, height)
    70 
    71     DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFilterElement, SVGNames::filterResAttr, filterResXIdentifier(), long, FilterResX, filterResX)
    72     DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFilterElement, SVGNames::filterResAttr, filterResYIdentifier(), long, FilterResY, filterResY)
     72    DECLARE_ANIMATED_INTEGER(FilterResX, filterResX)
     73    DECLARE_ANIMATED_INTEGER(FilterResY, filterResY)
    7374
    7475    // SVGURIReference
     
    7677
    7778    // SVGExternalResourcesRequired
    78     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFilterElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     79    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    7980};
    8081
  • trunk/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h

    r73130 r73254  
    2828#include "SVGFilterBuilder.h"
    2929#include "SVGFilterElement.h"
    30 #include "SVGNames.h"
    3130#include "SVGStyledElement.h"
    3231
  • trunk/WebCore/svg/SVGFontElement.cpp

    r66498 r73254  
    3535#include <wtf/ASCIICType.h>
    3636
    37 using namespace WTF;
    38 
    3937namespace WebCore {
    4038
    41 using namespace SVGNames;
     39// Animated property declarations
     40DEFINE_ANIMATED_BOOLEAN(SVGFontElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4241
    4342inline SVGFontElement::SVGFontElement(const QualifiedName& tagName, Document* document)
     
    7372{
    7473    for (Node* child = firstChild(); child; child = child->nextSibling()) {
    75         if (child->hasTagName(missing_glyphTag))
     74        if (child->hasTagName(SVGNames::missing_glyphTag))
    7675            return static_cast<SVGMissingGlyphElement*>(child);
    7776    }
     
    8685
    8786    for (Node* child = firstChild(); child; child = child->nextSibling()) {
    88         if (child->hasTagName(glyphTag)) {
     87        if (child->hasTagName(SVGNames::glyphTag)) {
    8988            SVGGlyphElement* glyph = static_cast<SVGGlyphElement*>(child);
    90             String unicode = glyph->getAttribute(unicodeAttr);
     89            String unicode = glyph->getAttribute(SVGNames::unicodeAttr);
    9190            if (unicode.length())
    9291                m_glyphMap.add(unicode, glyph->buildGlyphIdentifier());
    93         } else if (child->hasTagName(hkernTag)) {
     92        } else if (child->hasTagName(SVGNames::hkernTag)) {
    9493            SVGHKernElement* hkern = static_cast<SVGHKernElement*>(child);
    9594            hkern->buildHorizontalKerningPair(m_horizontalKerningPairs);
    96         } else if (child->hasTagName(vkernTag)) {
     95        } else if (child->hasTagName(SVGNames::vkernTag)) {
    9796            SVGVKernElement* vkern = static_cast<SVGVKernElement*>(child);
    9897            vkern->buildVerticalKerningPair(m_verticalKerningPairs);
  • trunk/WebCore/svg/SVGFontElement.h

    r70857 r73254  
    2424
    2525#if ENABLE(SVG_FONTS)
    26 #include "SVGAnimatedPropertyMacros.h"
     26#include "SVGAnimatedBoolean.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGGlyphElement.h"
     
    7575    void ensureGlyphCache() const;
    7676
     77    // Animated property declarations
     78
    7779    // SVGExternalResourcesRequired
    78     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFontElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     80    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    7981
    8082    mutable KerningPairVector m_horizontalKerningPairs;
  • trunk/WebCore/svg/SVGForeignObjectElement.cpp

    r73130 r73254  
    4040DEFINE_ANIMATED_LENGTH(SVGForeignObjectElement, SVGNames::heightAttr, Height, height)
    4141DEFINE_ANIMATED_STRING(SVGForeignObjectElement, XLinkNames::hrefAttr, Href, href)
     42DEFINE_ANIMATED_BOOLEAN(SVGForeignObjectElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4243
    4344inline SVGForeignObjectElement::SVGForeignObjectElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGForeignObjectElement.h

    r73130 r73254  
    2222
    2323#if ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT)
     24#include "SVGAnimatedBoolean.h"
    2425#include "SVGAnimatedLength.h"
    25 #include "SVGAnimatedPropertyMacros.h"
    2626#include "SVGTests.h"
    2727#include "SVGLangSpace.h"
     
    6262
    6363    // SVGExternalResourcesRequired
    64     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGForeignObjectElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     64    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6565};
    6666
  • trunk/WebCore/svg/SVGGElement.cpp

    r72518 r73254  
    2929
    3030namespace WebCore {
     31
     32// Animated property declarations
     33DEFINE_ANIMATED_BOOLEAN(SVGGElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3134
    3235SVGGElement::SVGGElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGGElement.h

    r70857 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
    2626#include "SVGExternalResourcesRequired.h"
    2727#include "SVGLangSpace.h"
     
    3131namespace WebCore {
    3232
    33     class SVGGElement : public SVGStyledTransformableElement,
    34                         public SVGTests,
    35                         public SVGLangSpace,
    36                         public SVGExternalResourcesRequired {
    37     public:
    38         static PassRefPtr<SVGGElement> create(const QualifiedName&, Document*);
     33class SVGGElement : public SVGStyledTransformableElement,
     34                    public SVGTests,
     35                    public SVGLangSpace,
     36                    public SVGExternalResourcesRequired {
     37public:
     38    static PassRefPtr<SVGGElement> create(const QualifiedName&, Document*);
    3939
    40         virtual bool isShadowTreeContainerElement() const { return false; }
     40    virtual bool isShadowTreeContainerElement() const { return false; }
    4141
    42     protected:
    43         SVGGElement(const QualifiedName&, Document*);
     42protected:
     43    SVGGElement(const QualifiedName&, Document*);
    4444
    45         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
     45    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
    4646
    47     private:
    48         virtual bool isValid() const { return SVGTests::isValid(); }
     47private:
     48    virtual bool isValid() const { return SVGTests::isValid(); }
    4949
    50         virtual void parseMappedAttribute(Attribute*);
    51         virtual void svgAttributeChanged(const QualifiedName&);
    52         virtual void synchronizeProperty(const QualifiedName&);
     50    virtual void parseMappedAttribute(Attribute*);
     51    virtual void svgAttributeChanged(const QualifiedName&);
     52    virtual void synchronizeProperty(const QualifiedName&);
    5353
    54         virtual bool rendererIsNeeded(RenderStyle*);
     54    virtual bool rendererIsNeeded(RenderStyle*);
    5555
    56         // SVGExternalResourcesRequired
    57         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGGElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
    58     };
     56    // Animated property declarations
     57
     58    // SVGExternalResourcesRequired
     59    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
     60};
    5961
    6062} // namespace WebCore
  • trunk/WebCore/svg/SVGGradientElement.cpp

    r73130 r73254  
    4444DEFINE_ANIMATED_TRANSFORM_LIST(SVGGradientElement, SVGNames::gradientTransformAttr, GradientTransform, gradientTransform)
    4545DEFINE_ANIMATED_STRING(SVGGradientElement, XLinkNames::hrefAttr, Href, href)
     46DEFINE_ANIMATED_BOOLEAN(SVGGradientElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4647
    4748SVGGradientElement::SVGGradientElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGGradientElement.h

    r73130 r73254  
    2424#if ENABLE(SVG)
    2525#include "Gradient.h"
     26#include "SVGAnimatedBoolean.h"
    2627#include "SVGAnimatedEnumeration.h"
    2728#include "SVGAnimatedTransformList.h"
     
    5960
    6061    // SVGExternalResourcesRequired
    61     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGGradientElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     62    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6263};
    6364
  • trunk/WebCore/svg/SVGImageElement.cpp

    r73130 r73254  
    4343DEFINE_ANIMATED_LENGTH(SVGImageElement, SVGNames::widthAttr, Width, width)
    4444DEFINE_ANIMATED_LENGTH(SVGImageElement, SVGNames::heightAttr, Height, height)
     45DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGImageElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
    4546DEFINE_ANIMATED_STRING(SVGImageElement, XLinkNames::hrefAttr, Href, href)
     47DEFINE_ANIMATED_BOOLEAN(SVGImageElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4648
    4749inline SVGImageElement::SVGImageElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGImageElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
     27#include "SVGAnimatedPreserveAspectRatio.h"
    2728#include "SVGExternalResourcesRequired.h"
    2829#include "SVGLangSpace.h"
     
    3132#include "SVGTests.h"
    3233#include "SVGURIReference.h"
    33 #include "SVGPreserveAspectRatio.h"
    3434
    3535namespace WebCore {
     
    7070    DECLARE_ANIMATED_LENGTH(Width, width)
    7171    DECLARE_ANIMATED_LENGTH(Height, height)
    72     DECLARE_ANIMATED_PROPERTY_NEW(SVGImageElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     72    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    7373
    7474    // SVGURIReference
     
    7676
    7777    // SVGExternalResourcesRequired
    78     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGImageElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     78    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    7979
    8080    SVGImageLoader m_imageLoader;
  • trunk/WebCore/svg/SVGLineElement.cpp

    r73016 r73254  
    3838DEFINE_ANIMATED_LENGTH(SVGLineElement, SVGNames::x2Attr, X2, x2)
    3939DEFINE_ANIMATED_LENGTH(SVGLineElement, SVGNames::y2Attr, Y2, y2)
     40DEFINE_ANIMATED_BOOLEAN(SVGLineElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4041
    4142inline SVGLineElement::SVGLineElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGLineElement.h

    r73016 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGLangSpace.h"
     
    6161
    6262    // SVGExternalResourcesRequired
    63     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGLineElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     63    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6464};
    6565
  • trunk/WebCore/svg/SVGLinearGradientElement.h

    r73016 r73254  
    2424#if ENABLE(SVG)
    2525#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2726#include "SVGGradientElement.h"
    2827
  • trunk/WebCore/svg/SVGMPathElement.cpp

    r73130 r73254  
    3030// Animated property definitions
    3131DEFINE_ANIMATED_STRING(SVGMPathElement, XLinkNames::hrefAttr, Href, href)
     32DEFINE_ANIMATED_BOOLEAN(SVGMPathElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3233
    3334inline SVGMPathElement::SVGMPathElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGMPathElement.h

    r73130 r73254  
    2222
    2323#if ENABLE(SVG)
     24#include "SVGAnimatedBoolean.h"
    2425#include "SVGAnimatedString.h"
    2526#include "SVGExternalResourcesRequired.h"
     
    5051
    5152    // SVGExternalResourcesRequired
    52     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGMPathElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     53    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    5354};
    5455
  • trunk/WebCore/svg/SVGMarkerElement.cpp

    r73130 r73254  
    2626
    2727#include "Attribute.h"
    28 #include "PlatformString.h"
    2928#include "RenderSVGResourceMarker.h"
    3029#include "SVGFitToViewBox.h"
    31 #include "SVGLength.h"
    3230#include "SVGNames.h"
    33 #include "SVGPreserveAspectRatio.h"
    3431#include "SVGSVGElement.h"
    3532
     
    4340DEFINE_ANIMATED_ENUMERATION(SVGMarkerElement, SVGNames::markerUnitsAttr, MarkerUnits, markerUnits)
    4441DEFINE_ANIMATED_ENUMERATION_MULTIPLE_WRAPPERS(SVGMarkerElement, SVGNames::orientAttr, orientTypeIdentifier(), OrientType, orientType)
    45    
     42DEFINE_ANIMATED_ANGLE_MULTIPLE_WRAPPERS(SVGMarkerElement, SVGNames::orientAttr, orientAngleIdentifier(), OrientAngle, orientAngle)
     43DEFINE_ANIMATED_BOOLEAN(SVGMarkerElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     44DEFINE_ANIMATED_RECT(SVGMarkerElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
     45DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGMarkerElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
     46
    4647inline SVGMarkerElement::SVGMarkerElement(const QualifiedName& tagName, Document* document)
    4748    : SVGStyledElement(tagName, document)
  • trunk/WebCore/svg/SVGMarkerElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "RenderObject.h"
    26 #include "SVGAngle.h"
     25#include "SVGAnimatedAngle.h"
     26#include "SVGAnimatedBoolean.h"
    2727#include "SVGAnimatedEnumeration.h"
    2828#include "SVGAnimatedLength.h"
     29#include "SVGAnimatedPreserveAspectRatio.h"
     30#include "SVGAnimatedRect.h"
    2931#include "SVGExternalResourcesRequired.h"
    3032#include "SVGFitToViewBox.h"
    3133#include "SVGLangSpace.h"
    32 #include "SVGPreserveAspectRatio.h"
    33 #include "SVGRect.h"
    3434#include "SVGStyledElement.h"
    3535
    3636namespace WebCore {
    37 
    38 class Document;
    3937
    4038class SVGMarkerElement : public SVGStyledElement,
     
    8684    DECLARE_ANIMATED_ENUMERATION(MarkerUnits, markerUnits)
    8785    DECLARE_ANIMATED_ENUMERATION(OrientType, orientType)
    88     DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGMarkerElement, SVGNames::orientAttr, orientAngleIdentifier(), SVGAngle, OrientAngle, orientAngle)
     86    DECLARE_ANIMATED_ANGLE(OrientAngle, orientAngle)
    8987
    9088    // SVGExternalResourcesRequired
    91     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGMarkerElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     89    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    9290
    9391    // SVGFitToViewBox
    94     DECLARE_ANIMATED_PROPERTY_NEW(SVGMarkerElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    95     DECLARE_ANIMATED_PROPERTY_NEW(SVGMarkerElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     92    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     93    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    9694};
    9795
  • trunk/WebCore/svg/SVGMaskElement.cpp

    r73130 r73254  
    4343DEFINE_ANIMATED_LENGTH(SVGMaskElement, SVGNames::widthAttr, Width, width)
    4444DEFINE_ANIMATED_LENGTH(SVGMaskElement, SVGNames::heightAttr, Height, height)
     45DEFINE_ANIMATED_BOOLEAN(SVGMaskElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4546
    4647inline SVGMaskElement::SVGMaskElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGMaskElement.h

    r73130 r73254  
    2222
    2323#if ENABLE(SVG)
    24 #include "RenderObject.h"
     24#include "SVGAnimatedBoolean.h"
    2525#include "SVGAnimatedEnumeration.h"
    2626#include "SVGAnimatedLength.h"
     
    6565
    6666    // SVGExternalResourcesRequired
    67     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGMaskElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     67    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6868};
    6969
  • trunk/WebCore/svg/SVGPathElement.cpp

    r73024 r73254  
    4747// Animated property definitions
    4848DEFINE_ANIMATED_NUMBER(SVGPathElement, SVGNames::pathLengthAttr, PathLength, pathLength)
     49DEFINE_ANIMATED_BOOLEAN(SVGPathElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4950
    5051inline SVGPathElement::SVGPathElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGPathElement.h

    r73024 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedNumber.h"
    2627#include "SVGAnimatedPathSegListPropertyTearOff.h"
     
    110111
    111112    // SVGExternalResourcesRequired
    112     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGPathElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     113    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    113114
    114115    void synchronizeD();
  • trunk/WebCore/svg/SVGPatternElement.cpp

    r73130 r73254  
    5252DEFINE_ANIMATED_TRANSFORM_LIST(SVGPatternElement, SVGNames::patternTransformAttr, PatternTransform, patternTransform)
    5353DEFINE_ANIMATED_STRING(SVGPatternElement, XLinkNames::hrefAttr, Href, href)
     54DEFINE_ANIMATED_BOOLEAN(SVGPatternElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     55DEFINE_ANIMATED_RECT(SVGPatternElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
     56DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGPatternElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
    5457
    5558inline SVGPatternElement::SVGPatternElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGPatternElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedEnumeration.h"
    2627#include "SVGAnimatedLength.h"
     28#include "SVGAnimatedPreserveAspectRatio.h"
     29#include "SVGAnimatedRect.h"
    2730#include "SVGAnimatedTransformList.h"
    2831#include "SVGExternalResourcesRequired.h"
    2932#include "SVGFitToViewBox.h"
    3033#include "SVGLangSpace.h"
    31 #include "SVGPreserveAspectRatio.h"
    32 #include "SVGRect.h"
    3334#include "SVGStyledElement.h"
    3435#include "SVGTests.h"
     
    7879
    7980    // SVGExternalResourcesRequired
    80     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGPatternElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     81    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    8182
    8283    // SVGPatternElement
    83     DECLARE_ANIMATED_PROPERTY_NEW(SVGPatternElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    84     DECLARE_ANIMATED_PROPERTY_NEW(SVGPatternElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     84    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     85    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    8586};
    8687
  • trunk/WebCore/svg/SVGPolyElement.cpp

    r72518 r73254  
    3434
    3535namespace WebCore {
     36
     37// Animated property definitions
     38DEFINE_ANIMATED_BOOLEAN(SVGPolyElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3639
    3740SVGPolyElement::SVGPolyElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGPolyElement.h

    r71512 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
    2626#include "SVGExternalResourcesRequired.h"
    2727#include "SVGLangSpace.h"
     
    5555
    5656    // SVGExternalResourcesRequired
    57     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGPolyElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     57    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    5858
    5959    void synchronizePoints();
  • trunk/WebCore/svg/SVGRadialGradientElement.h

    r73016 r73254  
    2424#if ENABLE(SVG)
    2525#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2726#include "SVGGradientElement.h"
    2827
  • trunk/WebCore/svg/SVGRectElement.cpp

    r73016 r73254  
    3939DEFINE_ANIMATED_LENGTH(SVGRectElement, SVGNames::rxAttr, Rx, rx)
    4040DEFINE_ANIMATED_LENGTH(SVGRectElement, SVGNames::ryAttr, Ry, ry)
     41DEFINE_ANIMATED_BOOLEAN(SVGRectElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    4142
    4243inline SVGRectElement::SVGRectElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGRectElement.h

    r73016 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGLangSpace.h"
     
    6161
    6262    // SVGExternalResourcesRequired
    63     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGRectElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     63    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    6464};
    6565
  • trunk/WebCore/svg/SVGSVGElement.cpp

    r73016 r73254  
    5454namespace WebCore {
    5555
    56 using namespace HTMLNames;
    57 using namespace SVGNames;
    58 
    5956// Animated property definitions
    6057DEFINE_ANIMATED_LENGTH(SVGSVGElement, SVGNames::xAttr, X, x)
     
    6259DEFINE_ANIMATED_LENGTH(SVGSVGElement, SVGNames::widthAttr, Width, width)
    6360DEFINE_ANIMATED_LENGTH(SVGSVGElement, SVGNames::heightAttr, Height, height)
     61DEFINE_ANIMATED_BOOLEAN(SVGSVGElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     62DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGSVGElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
     63DEFINE_ANIMATED_RECT(SVGSVGElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
    6464
    6565inline SVGSVGElement::SVGSVGElement(const QualifiedName& tagName, Document* doc)
     
    107107{
    108108    DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, ("text/ecmascript"));
    109     const AtomicString& n = getAttribute(contentScriptTypeAttr);
     109    const AtomicString& n = getAttribute(SVGNames::contentScriptTypeAttr);
    110110    return n.isNull() ? defaultValue : n;
    111111}
     
    119119{
    120120    DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, ("text/css"));
    121     const AtomicString& n = getAttribute(contentStyleTypeAttr);
     121    const AtomicString& n = getAttribute(SVGNames::contentStyleTypeAttr);
    122122    return n.isNull() ? defaultValue : n;
    123123}
     
    247247
    248248        // Only handle events if we're the outermost <svg> element
    249         if (attr->name() == onunloadAttr)
     249        if (attr->name() == HTMLNames::onunloadAttr)
    250250            document()->setWindowAttributeEventListener(eventNames().unloadEvent, createAttributeEventListener(document()->frame(), attr));
    251         else if (attr->name() == onresizeAttr)
     251        else if (attr->name() == HTMLNames::onresizeAttr)
    252252            document()->setWindowAttributeEventListener(eventNames().resizeEvent, createAttributeEventListener(document()->frame(), attr));
    253         else if (attr->name() == onscrollAttr)
     253        else if (attr->name() == HTMLNames::onscrollAttr)
    254254            document()->setWindowAttributeEventListener(eventNames().scrollEvent, createAttributeEventListener(document()->frame(), attr));
    255255        else if (attr->name() == SVGNames::onzoomAttr)
     
    262262    }
    263263
    264     if (attr->name() == onabortAttr)
     264    if (attr->name() == HTMLNames::onabortAttr)
    265265        document()->setWindowAttributeEventListener(eventNames().abortEvent, createAttributeEventListener(document()->frame(), attr));
    266     else if (attr->name() == onerrorAttr)
     266    else if (attr->name() == HTMLNames::onerrorAttr)
    267267        document()->setWindowAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(document()->frame(), attr));
    268268    else if (attr->name() == SVGNames::xAttr)
  • trunk/WebCore/svg/SVGSVGElement.h

    r73016 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "IntSize.h"
     25#include "SVGAnimatedBoolean.h"
    2626#include "SVGAnimatedLength.h"
    27 #include "SVGAnimatedPropertyMacros.h"
     27#include "SVGAnimatedPreserveAspectRatio.h"
     28#include "SVGAnimatedRect.h"
    2829#include "SVGExternalResourcesRequired.h"
    2930#include "SVGFitToViewBox.h"
    3031#include "SVGLangSpace.h"
    31 #include "SVGPreserveAspectRatio.h"
    32 #include "SVGRect.h"
    3332#include "SVGStyledLocatableElement.h"
    3433#include "SVGTests.h"
     
    156155
    157156    // SVGExternalResourcesRequired
    158     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGSVGElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     157    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    159158
    160159    // SVGFitToViewBox
    161     DECLARE_ANIMATED_PROPERTY_NEW(SVGSVGElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    162     DECLARE_ANIMATED_PROPERTY_NEW(SVGSVGElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     160    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     161    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    163162 
    164163    virtual void documentWillBecomeInactive();
  • trunk/WebCore/svg/SVGScriptElement.cpp

    r73130 r73254  
    3434// Animated property definitions
    3535DEFINE_ANIMATED_STRING(SVGScriptElement, XLinkNames::hrefAttr, Href, href)
     36DEFINE_ANIMATED_BOOLEAN(SVGScriptElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3637
    3738inline SVGScriptElement::SVGScriptElement(const QualifiedName& tagName, Document* document, bool wasInsertedByParser, bool wasAlreadyStarted)
  • trunk/WebCore/svg/SVGScriptElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedString.h"
    2627#include "SVGElement.h"
     
    7879
    7980    // SVGExternalResourcesRequired
    80     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGScriptElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     81    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    8182
    8283    String m_type;
  • trunk/WebCore/svg/SVGSwitchElement.cpp

    r72518 r73254  
    2020
    2121#include "config.h"
     22
    2223#if ENABLE(SVG)
    2324#include "SVGSwitchElement.h"
     
    2728
    2829namespace WebCore {
     30
     31// Animated property definitions
     32DEFINE_ANIMATED_BOOLEAN(SVGSwitchElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    2933
    3034inline SVGSwitchElement::SVGSwitchElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGSwitchElement.h

    r70857 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
    2626#include "SVGExternalResourcesRequired.h"
    2727#include "SVGLangSpace.h"
     
    3030
    3131namespace WebCore {
    32     class SVGSwitchElement : public SVGStyledTransformableElement,
    33                              public SVGTests,
    34                              public SVGLangSpace,
    35                              public SVGExternalResourcesRequired {
    36     public:
    37         static PassRefPtr<SVGSwitchElement> create(const QualifiedName&, Document*);
    3832
    39     private:
    40         SVGSwitchElement(const QualifiedName&, Document*);
    41        
    42         virtual bool isValid() const { return SVGTests::isValid(); }
     33class SVGSwitchElement : public SVGStyledTransformableElement,
     34                         public SVGTests,
     35                         public SVGLangSpace,
     36                         public SVGExternalResourcesRequired {
     37public:
     38    static PassRefPtr<SVGSwitchElement> create(const QualifiedName&, Document*);
    4339
    44         virtual bool childShouldCreateRenderer(Node*) const;
     40private:
     41    SVGSwitchElement(const QualifiedName&, Document*);
     42   
     43    virtual bool isValid() const { return SVGTests::isValid(); }
    4544
    46         virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
    47         virtual void synchronizeProperty(const QualifiedName&);
     45    virtual bool childShouldCreateRenderer(Node*) const;
    4846
    49         // SVGExternalResourcesRequired
    50         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGSwitchElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
    51     };
     47    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
     48    virtual void synchronizeProperty(const QualifiedName&);
     49
     50    // Animated property declarations
     51
     52    // SVGExternalResourcesRequired
     53    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
     54};
    5255
    5356} // namespace WebCore
  • trunk/WebCore/svg/SVGSymbolElement.cpp

    r66498 r73254  
    2020
    2121#include "config.h"
     22
    2223#if ENABLE(SVG)
    2324#include "SVGSymbolElement.h"
    2425
    25 #include "PlatformString.h"
    2626#include "SVGFitToViewBox.h"
    2727
    2828namespace WebCore {
     29
     30// Animated property definitions
     31DEFINE_ANIMATED_BOOLEAN(SVGSymbolElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     32DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGSymbolElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
     33DEFINE_ANIMATED_RECT(SVGSymbolElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
    2934
    3035inline SVGSymbolElement::SVGSymbolElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGSymbolElement.h

    r73011 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
     26#include "SVGAnimatedPreserveAspectRatio.h"
     27#include "SVGAnimatedRect.h"
    2628#include "SVGExternalResourcesRequired.h"
    2729#include "SVGFitToViewBox.h"
    2830#include "SVGLangSpace.h"
    29 #include "SVGPreserveAspectRatio.h"
    30 #include "SVGRect.h"
    3131#include "SVGStyledElement.h"
    3232
    3333namespace WebCore {
    3434
    35     class SVGSymbolElement : public SVGStyledElement,
    36                              public SVGLangSpace,
    37                              public SVGExternalResourcesRequired,
    38                              public SVGFitToViewBox {
    39     public:
    40         static PassRefPtr<SVGSymbolElement> create(const QualifiedName&, Document*);
     35class SVGSymbolElement : public SVGStyledElement,
     36                         public SVGLangSpace,
     37                         public SVGExternalResourcesRequired,
     38                         public SVGFitToViewBox {
     39public:
     40    static PassRefPtr<SVGSymbolElement> create(const QualifiedName&, Document*);
    4141
    42     private:
    43         SVGSymbolElement(const QualifiedName&, Document*);
     42private:
     43    SVGSymbolElement(const QualifiedName&, Document*);
    4444
    45         virtual void parseMappedAttribute(Attribute*);
    46         virtual void svgAttributeChanged(const QualifiedName&);
    47         virtual void synchronizeProperty(const QualifiedName&);
    48         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
     45    virtual void parseMappedAttribute(Attribute*);
     46    virtual void svgAttributeChanged(const QualifiedName&);
     47    virtual void synchronizeProperty(const QualifiedName&);
     48    virtual bool rendererIsNeeded(RenderStyle*) { return false; }
    4949
    50         virtual bool selfHasRelativeLengths() const;
     50    virtual bool selfHasRelativeLengths() const;
    5151
    52         // SVGExternalResourcesRequired
    53         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGSymbolElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     52    // Animated property declarations
     53
     54    // SVGExternalResourcesRequired
     55    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    5456 
    55         // SVGFitToViewBox
    56         DECLARE_ANIMATED_PROPERTY_NEW(SVGSymbolElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    57         DECLARE_ANIMATED_PROPERTY_NEW(SVGSymbolElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
    58     };
     57    // SVGFitToViewBox
     58    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     59    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
     60};
    5961
    6062} // namespace WebCore
  • trunk/WebCore/svg/SVGTextContentElement.cpp

    r73130 r73254  
    3737DEFINE_ANIMATED_LENGTH(SVGTextContentElement, SVGNames::textLengthAttr, TextLength, textLength)
    3838DEFINE_ANIMATED_ENUMERATION(SVGTextContentElement, SVGNames::lengthAdjustAttr, LengthAdjust, lengthAdjust)
     39DEFINE_ANIMATED_BOOLEAN(SVGTextContentElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    3940
    4041SVGTextContentElement::SVGTextContentElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGTextContentElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedEnumeration.h"
    2627#include "SVGAnimatedLength.h"
     
    7677
    7778    // SVGExternalResourcesRequired
    78     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGTextContentElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     79    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    7980};
    8081
  • trunk/WebCore/svg/SVGUseElement.cpp

    r73130 r73254  
    6464DEFINE_ANIMATED_LENGTH(SVGUseElement, SVGNames::heightAttr, Height, height)
    6565DEFINE_ANIMATED_STRING(SVGUseElement, XLinkNames::hrefAttr, Href, href)
     66DEFINE_ANIMATED_BOOLEAN(SVGUseElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
    6667
    6768inline SVGUseElement::SVGUseElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGUseElement.h

    r73130 r73254  
    2323
    2424#if ENABLE(SVG)
     25#include "SVGAnimatedBoolean.h"
    2526#include "SVGAnimatedLength.h"
    26 #include "SVGAnimatedPropertyMacros.h"
    2727#include "SVGExternalResourcesRequired.h"
    2828#include "SVGLangSpace.h"
     
    113113
    114114    // SVGExternalResourcesRequired
    115     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGUseElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     115    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    116116
    117117    bool m_updatesBlocked;
  • trunk/WebCore/svg/SVGViewElement.cpp

    r71227 r73254  
    2424#include "SVGViewElement.h"
    2525
    26 #include "Attr.h"
    27 #include "PlatformString.h"
     26#include "Attribute.h"
    2827#include "SVGFitToViewBox.h"
    2928#include "SVGNames.h"
     
    3231
    3332namespace WebCore {
     33
     34// Animated property definitions
     35DEFINE_ANIMATED_BOOLEAN(SVGViewElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
     36DEFINE_ANIMATED_RECT(SVGViewElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
     37DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGViewElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
    3438
    3539inline SVGViewElement::SVGViewElement(const QualifiedName& tagName, Document* document)
  • trunk/WebCore/svg/SVGViewElement.h

    r73011 r73254  
    2323
    2424#if ENABLE(SVG)
    25 #include "SVGAnimatedPropertyMacros.h"
     25#include "SVGAnimatedBoolean.h"
     26#include "SVGAnimatedPreserveAspectRatio.h"
     27#include "SVGAnimatedRect.h"
    2628#include "SVGExternalResourcesRequired.h"
    2729#include "SVGFitToViewBox.h"
    28 #include "SVGPreserveAspectRatio.h"
    29 #include "SVGRect.h"
    3030#include "SVGStringList.h"
    3131#include "SVGStyledElement.h"
     
    3434namespace WebCore {
    3535
    36     class SVGViewElement : public SVGStyledElement,
    37                            public SVGExternalResourcesRequired,
    38                            public SVGFitToViewBox,
    39                            public SVGZoomAndPan {
    40     public:
    41         static PassRefPtr<SVGViewElement> create(const QualifiedName&, Document*);
     36class SVGViewElement : public SVGStyledElement,
     37                       public SVGExternalResourcesRequired,
     38                       public SVGFitToViewBox,
     39                       public SVGZoomAndPan {
     40public:
     41    static PassRefPtr<SVGViewElement> create(const QualifiedName&, Document*);
    4242
    43         SVGStringList& viewTarget() { return m_viewTarget; }
     43    SVGStringList& viewTarget() { return m_viewTarget; }
    4444
    45     private:
    46         SVGViewElement(const QualifiedName&, Document*);
     45private:
     46    SVGViewElement(const QualifiedName&, Document*);
    4747
    48         virtual void parseMappedAttribute(Attribute*);
    49         virtual void synchronizeProperty(const QualifiedName&);
     48    virtual void parseMappedAttribute(Attribute*);
     49    virtual void synchronizeProperty(const QualifiedName&);
    5050
    51         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
     51    virtual bool rendererIsNeeded(RenderStyle*) { return false; }
    5252
    53         // SVGExternalResourcesRequired
    54         DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGViewElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     53    // Animated property declarations
     54
     55    // SVGExternalResourcesRequired
     56    DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesRequired)
    5557 
    56         // SVGFitToViewBox
    57         DECLARE_ANIMATED_PROPERTY_NEW(SVGViewElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    58         DECLARE_ANIMATED_PROPERTY_NEW(SVGViewElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     58    // SVGFitToViewBox
     59    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     60    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
    5961
    60         SVGStringList m_viewTarget;
    61     };
     62    SVGStringList m_viewTarget;
     63};
    6264
    6365} // namespace WebCore
  • trunk/WebCore/svg/SVGViewSpec.cpp

    r72500 r73254  
    1919
    2020#include "config.h"
     21
    2122#if ENABLE(SVG)
    2223#include "SVGViewSpec.h"
    2324
    2425#include "Document.h"
    25 #include "PlatformString.h"
    2626#include "SVGParserUtilities.h"
    2727#include "SVGPreserveAspectRatio.h"
    2828#include "SVGSVGElement.h"
    29 #include "SVGTransformList.h"
    3029#include "SVGTransformable.h"
    3130
    3231namespace WebCore {
     32
     33// Animated property definitions
     34DEFINE_ANIMATED_RECT(SVGViewSpec, SVGNames::viewBoxAttr, ViewBox, viewBox)
     35DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGViewSpec, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
    3336
    3437SVGViewSpec::SVGViewSpec(SVGElement* contextElement)
  • trunk/WebCore/svg/SVGViewSpec.h

    r73011 r73254  
    2222
    2323#if ENABLE(SVG)
    24 #include "SVGAnimatedPropertyMacros.h"
    25 #include "SVGElement.h"
     24#include "SVGAnimatedPreserveAspectRatio.h"
     25#include "SVGAnimatedRect.h"
    2626#include "SVGFitToViewBox.h"
    27 #include "SVGPreserveAspectRatio.h"
    28 #include "SVGRect.h"
     27#include "SVGTransformList.h"
    2928#include "SVGZoomAndPan.h"
    30 
    31 #include <wtf/RefPtr.h>
    3229
    3330namespace WebCore {
    3431
    35     class SVGElement;
    36     class SVGTransformList;
     32class SVGElement;
    3733
    38     class SVGViewSpec : public SVGFitToViewBox,
    39                         public SVGZoomAndPan,
    40                         public Noncopyable {
    41     public:
    42         SVGViewSpec(SVGElement*);
     34class SVGViewSpec : public SVGFitToViewBox,
     35                    public SVGZoomAndPan,
     36                    public Noncopyable {
     37public:
     38    SVGViewSpec(SVGElement*);
    4339
    44         bool parseViewSpec(const String&);
     40    bool parseViewSpec(const String&);
    4541
    46         void setTransform(const String&);
    47         SVGTransformList transform() const { return m_transform; }
     42    void setTransform(const String&);
     43    SVGTransformList transform() const { return m_transform; }
    4844
    49         void setViewBoxString(const String&);
     45    void setViewBoxString(const String&);
    5046
    51         void setPreserveAspectRatioString(const String&);
     47    void setPreserveAspectRatioString(const String&);
    5248
    53         void setViewTargetString(const String&);
    54         String viewTargetString() const { return m_viewTargetString; }
    55         SVGElement* viewTarget() const;
     49    void setViewTargetString(const String&);
     50    String viewTargetString() const { return m_viewTargetString; }
     51    SVGElement* viewTarget() const;
    5652
    57         SVGElement* contextElement() const { return const_cast<SVGElement*>(m_contextElement); }
     53    SVGElement* contextElement() const { return const_cast<SVGElement*>(m_contextElement); }
    5854
    59     private:
    60         SVGElement* m_contextElement;
     55private:
     56    SVGElement* m_contextElement;
    6157
    62         // SVGFitToViewBox
    63         DECLARE_ANIMATED_PROPERTY_NEW(SVGViewSpec, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
    64         DECLARE_ANIMATED_PROPERTY_NEW(SVGViewSpec, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     58    // Animated property declarations
    6559
    66         SVGTransformList m_transform;
    67         String m_viewTargetString;
    68     };
     60    // SVGFitToViewBox
     61    DECLARE_ANIMATED_RECT(ViewBox, viewBox)
     62    DECLARE_ANIMATED_PRESERVEASPECTRATIO(PreserveAspectRatio, preserveAspectRatio)
     63
     64    SVGTransformList m_transform;
     65    String m_viewTargetString;
     66};
    6967
    7068} // namespace WebCore
  • trunk/WebCore/svg/properties/SVGAnimatedPropertyMacros.h

    r73020 r73254  
    2424
    2525#if ENABLE(SVG)
    26 #include "SVGAnimatedListPropertyTearOff.h"
    27 #include "SVGAnimatedStaticPropertyTearOff.h"
    2826#include "SVGAnimatedPropertySynchronizer.h"
    29 #include "SVGAnimatedPropertyTearOff.h"
    30 #include "SVGAnimatedTransformListPropertyTearOff.h"
    3127#include "SVGNames.h" // FIXME: Temporary hack, until we expand the macros in all files, so we don't need a global SVGNames.h include
    3228#include "SVGPropertyTraits.h"
    3329
    3430namespace WebCore {
    35 
    36 class SVGElement;
    3731
    3832// GetOwnerElementForType implementation
     
    7064};
    7165
     66// SVGSynchronizableAnimatedProperty implementation
    7267template<typename PropertyType>
    7368struct SVGSynchronizableAnimatedProperty {
     
    9590    bool shouldSynchronize : 1;
    9691};
    97 
    98 // FIXME: These macros should be removed, after the transition to the new SVGAnimatedProperty concept is finished.
    99 #define DECLARE_ANIMATED_PROPERTY_NEW_SHARED(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, TearOffType, PropertyType, UpperProperty, LowerProperty) \
    100 public: \
    101 PropertyType& LowerProperty() const \
    102 { \
    103     return m_##LowerProperty.value; \
    104 } \
    105 \
    106 PropertyType& LowerProperty##BaseValue() const \
    107 { \
    108     return m_##LowerProperty.value; \
    109 } \
    110 \
    111 void set##UpperProperty##BaseValue(const PropertyType& type) \
    112 { \
    113     m_##LowerProperty.value = type; \
    114 } \
    115 \
    116 void synchronize##UpperProperty() \
    117 { \
    118     if (!m_##LowerProperty.shouldSynchronize) \
    119          return; \
    120     AtomicString value(SVGPropertyTraits<PropertyType>::toString(LowerProperty##BaseValue())); \
    121     SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
    122     SVGAnimatedPropertySynchronizer<IsDerivedFromSVGElement<OwnerType>::value>::synchronize(contextElement, DOMAttribute, value); \
    123 } \
    124 \
    125 PassRefPtr<TearOffType> LowerProperty##Animated() \
    126 { \
    127     m_##LowerProperty.shouldSynchronize = true; \
    128     SVGElement* contextElement = GetOwnerElementForType<OwnerType, IsDerivedFromSVGElement<OwnerType>::value>::ownerElement(this); \
    129     return SVGAnimatedProperty::lookupOrCreateWrapper<TearOffType, PropertyType>(contextElement, DOMAttribute, SVGDOMAttributeIdentifier, m_##LowerProperty.value); \
    130 } \
    131 private: \
    132     mutable SVGSynchronizableAnimatedProperty<PropertyType> m_##LowerProperty;
    133 
    134 #define DECLARE_ANIMATED_PROPERTY_NEW(OwnerType, DOMAttribute, PropertyType, UpperProperty, LowerProperty) \
    135 DECLARE_ANIMATED_PROPERTY_NEW_SHARED(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedPropertyTearOff<PropertyType>, PropertyType, UpperProperty, LowerProperty)
    136 
    137 #define DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS_NEW(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, PropertyType, UpperProperty, LowerProperty) \
    138 DECLARE_ANIMATED_PROPERTY_NEW_SHARED(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, SVGAnimatedPropertyTearOff<PropertyType>, PropertyType, UpperProperty, LowerProperty)
    139 
    140 #define DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, PropertyType, UpperProperty, LowerProperty) \
    141 DECLARE_ANIMATED_PROPERTY_NEW_SHARED(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, SVGAnimatedStaticPropertyTearOff<PropertyType>, PropertyType, UpperProperty, LowerProperty)
    142 
    143 #define DECLARE_ANIMATED_STATIC_PROPERTY_NEW(OwnerType, DOMAttribute, PropertyType, UpperProperty, LowerProperty) \
    144 DECLARE_ANIMATED_PROPERTY_NEW_SHARED(OwnerType, DOMAttribute, DOMAttribute.localName(), SVGAnimatedStaticPropertyTearOff<PropertyType>, PropertyType, UpperProperty, LowerProperty)
    145 
    146 // FIXME: Remove all macros above, once these two below are deployed everywhere.
    14792
    14893#define DEFINE_ANIMATED_PROPERTY(OwnerType, DOMAttribute, SVGDOMAttributeIdentifier, TearOffType, PropertyType, UpperProperty, LowerProperty) \
  • trunk/WebCore/svg/properties/SVGAnimatedPropertySynchronizer.h

    r71227 r73254  
    2222
    2323#if ENABLE(SVG)
     24#include "SVGElement.h"
     25
    2426namespace WebCore {
    2527
Note: See TracChangeset for help on using the changeset viewer.