Changeset 49301 in webkit


Ignore:
Timestamp:
Oct 8, 2009 7:53:20 AM (15 years ago)
Author:
Nikolas Zimmermann
Message:

Reviewed by George Staikos.

Move SVGURIReference ANIMATED_* macros in classes that inherit from it
https://bugs.webkit.org/show_bug.cgi?id=30184

The long term goal is to kill the need for the virtual contextElement() function in SVG code.
No change in functionality, thus no new tests.

Location:
trunk/WebCore
Files:
33 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r49300 r49301  
     12009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by George Staikos.
     4
     5        Move SVGURIReference ANIMATED_* macros in classes that inherit from it
     6        https://bugs.webkit.org/show_bug.cgi?id=30184
     7
     8        The long term goal is to kill the need for the virtual contextElement() function in SVG code.
     9        No change in functionality, thus no new tests.
     10
     11        * svg/SVGAElement.cpp:
     12        (WebCore::SVGAElement::SVGAElement):
     13        * svg/SVGAElement.h:
     14        * svg/SVGAltGlyphElement.cpp:
     15        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
     16        * svg/SVGAltGlyphElement.h:
     17        * svg/SVGCursorElement.cpp:
     18        (WebCore::SVGCursorElement::SVGCursorElement):
     19        * svg/SVGCursorElement.h:
     20        * svg/SVGFEImageElement.cpp:
     21        (WebCore::SVGFEImageElement::SVGFEImageElement):
     22        * svg/SVGFEImageElement.h:
     23        * svg/SVGFilterElement.cpp:
     24        (WebCore::SVGFilterElement::SVGFilterElement):
     25        * svg/SVGFilterElement.h:
     26        * svg/SVGForeignObjectElement.cpp:
     27        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
     28        * svg/SVGForeignObjectElement.h:
     29        * svg/SVGGradientElement.cpp:
     30        (WebCore::SVGGradientElement::SVGGradientElement):
     31        * svg/SVGGradientElement.h:
     32        * svg/SVGImageElement.cpp:
     33        (WebCore::SVGImageElement::SVGImageElement):
     34        * svg/SVGImageElement.h:
     35        * svg/SVGMPathElement.cpp:
     36        (WebCore::SVGMPathElement::SVGMPathElement):
     37        (WebCore::SVGMPathElement::pathElement):
     38        * svg/SVGMPathElement.h:
     39        * svg/SVGMaskElement.cpp:
     40        (WebCore::SVGMaskElement::SVGMaskElement):
     41        * svg/SVGMaskElement.h:
     42        * svg/SVGPatternElement.cpp:
     43        (WebCore::SVGPatternElement::SVGPatternElement):
     44        * svg/SVGPatternElement.h:
     45        * svg/SVGScriptElement.cpp:
     46        (WebCore::SVGScriptElement::SVGScriptElement):
     47        * svg/SVGScriptElement.h:
     48        * svg/SVGTRefElement.cpp:
     49        (WebCore::SVGTRefElement::SVGTRefElement):
     50        * svg/SVGTRefElement.h:
     51        * svg/SVGTextPathElement.cpp:
     52        (WebCore::SVGTextPathElement::SVGTextPathElement):
     53        * svg/SVGTextPathElement.h:
     54        * svg/SVGURIReference.cpp:
     55        (WebCore::SVGURIReference::SVGURIReference):
     56        * svg/SVGURIReference.h:
     57        * svg/SVGUseElement.cpp:
     58        (WebCore::SVGUseElement::SVGUseElement):
     59        * svg/SVGUseElement.h:
     60
    1612009-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
    262
  • trunk/WebCore/svg/SVGAElement.cpp

    r48106 r49301  
    5454    , SVGExternalResourcesRequired()
    5555    , m_target(this, SVGNames::targetAttr)
     56    , m_href(this, XLinkNames::hrefAttr)
    5657{
    5758}
  • trunk/WebCore/svg/SVGAElement.h

    r35248 r49301  
    6666    private:
    6767        ANIMATED_PROPERTY_DECLARATIONS(SVGAElement, SVGNames::aTagString, SVGNames::targetAttrString, String, Target, target)
     68
     69        // SVGURIReference
     70        ANIMATED_PROPERTY_DECLARATIONS(SVGAElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    6871    };
    6972
  • trunk/WebCore/svg/SVGAltGlyphElement.cpp

    r39601 r49301  
    3636SVGAltGlyphElement::SVGAltGlyphElement(const QualifiedName& tagName, Document* doc)
    3737    : SVGTextPositioningElement(tagName, doc)
     38    , m_href(this, XLinkNames::hrefAttr)
    3839{
    3940}
  • trunk/WebCore/svg/SVGAltGlyphElement.h

    r35248 r49301  
    5050    protected:
    5151        virtual const SVGElement* contextElement() const { return this; }
     52
     53    private:   
     54        // SVGURIReference
     55        ANIMATED_PROPERTY_DECLARATIONS(SVGAltGlyphElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    5256    };
    5357
  • trunk/WebCore/svg/SVGCursorElement.cpp

    r43187 r49301  
    4141    , m_x(this, SVGNames::xAttr, LengthModeWidth)
    4242    , m_y(this, SVGNames::yAttr, LengthModeHeight)
     43    , m_href(this, XLinkNames::hrefAttr)
    4344{
    4445}
  • trunk/WebCore/svg/SVGCursorElement.h

    r39065 r49301  
    5858        ANIMATED_PROPERTY_DECLARATIONS(SVGCursorElement, SVGNames::cursorTagString, SVGNames::yAttrString, SVGLength, Y, y)
    5959
     60        // SVGURIReference
     61        ANIMATED_PROPERTY_DECLARATIONS(SVGCursorElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     62
    6063        HashSet<SVGElement*> m_clients;
    6164    };
  • trunk/WebCore/svg/SVGFEImageElement.cpp

    r45747 r49301  
    4444    , SVGExternalResourcesRequired()
    4545    , m_preserveAspectRatio(this, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio::create())
     46    , m_href(this, XLinkNames::hrefAttr)
    4647{
    4748}
  • trunk/WebCore/svg/SVGFEImageElement.h

    r44299 r49301  
    5656        ANIMATED_PROPERTY_DECLARATIONS(SVGFEImageElement, SVGNames::feImageTagString, SVGNames::preserveAspectRatioAttrString, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
    5757
     58        // SVGURIReference
     59        ANIMATED_PROPERTY_DECLARATIONS(SVGFEImageElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     60
    5861        CachedResourceHandle<CachedImage> m_cachedImage;
    5962    };
  • trunk/WebCore/svg/SVGFilterElement.cpp

    r44309 r49301  
    5555    , m_filterResX(this, SVGNames::filterResAttr)
    5656    , m_filterResY(this, SVGNames::filterResAttr)
     57    , m_href(this, XLinkNames::hrefAttr)
    5758{
    5859    // Spec: If the x/y attribute is not specified, the effect is as if a value of "-10%" were specified.
  • trunk/WebCore/svg/SVGFilterElement.h

    r44253 r49301  
    6565        ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGNames::filterTagString, SVGFilterResYIdentifier, long, FilterResY, filterResY)
    6666
     67        // SVGURIReference
     68        ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     69
    6770        RefPtr<SVGResourceFilter> m_filter;
    6871    };
  • trunk/WebCore/svg/SVGForeignObjectElement.cpp

    r43187 r49301  
    4444    , m_width(this, SVGNames::widthAttr, LengthModeWidth)
    4545    , m_height(this, SVGNames::heightAttr, LengthModeHeight)
     46    , m_href(this, XLinkNames::hrefAttr)
    4647{
    4748}
  • trunk/WebCore/svg/SVGForeignObjectElement.h

    r35248 r49301  
    5757        ANIMATED_PROPERTY_DECLARATIONS(SVGForeignObjectElement, SVGNames::foreignObjectTagString, SVGNames::widthAttrString, SVGLength, Width, width)
    5858        ANIMATED_PROPERTY_DECLARATIONS(SVGForeignObjectElement, SVGNames::foreignObjectTagString, SVGNames::heightAttrString, SVGLength, Height, height)
     59
     60        // SVGURIReference
     61        ANIMATED_PROPERTY_DECLARATIONS(SVGForeignObjectElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    5962    };
    6063
  • trunk/WebCore/svg/SVGGradientElement.cpp

    r43187 r49301  
    4949    , m_gradientUnits(this, SVGNames::gradientUnitsAttr, SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)
    5050    , m_gradientTransform(this, SVGNames::gradientTransformAttr, SVGTransformList::create(SVGNames::gradientTransformAttr))
     51    , m_href(this, XLinkNames::hrefAttr)
    5152{
    5253}
  • trunk/WebCore/svg/SVGGradientElement.h

    r37605 r49301  
    6767        ANIMATED_PROPERTY_DECLARATIONS(SVGGradientElement, SVGGradientElementIdentifier, SVGNames::gradientUnitsAttrString, int, GradientUnits, gradientUnits)
    6868        ANIMATED_PROPERTY_DECLARATIONS(SVGGradientElement, SVGGradientElementIdentifier, SVGNames::gradientTransformAttrString, SVGTransformList, GradientTransform, gradientTransform)
     69
     70        // SVGURIReference
     71        ANIMATED_PROPERTY_DECLARATIONS(SVGGradientElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    6972    };
    7073
  • trunk/WebCore/svg/SVGImageElement.cpp

    r46815 r49301  
    4646    , m_width(this, SVGNames::widthAttr, LengthModeWidth)
    4747    , m_height(this, SVGNames::heightAttr, LengthModeHeight)
    48     , m_preserveAspectRatio(this, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio::create())
     48    , m_preserveAspectRatio(this, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio::create())
     49    , m_href(this, XLinkNames::hrefAttr)
    4950    , m_imageLoader(this)
    5051{
  • trunk/WebCore/svg/SVGImageElement.h

    r39065 r49301  
    7171        ANIMATED_PROPERTY_DECLARATIONS(SVGImageElement, SVGNames::imageTagString, SVGNames::preserveAspectRatioAttrString, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
    7272
     73        // SVGURIReference
     74        ANIMATED_PROPERTY_DECLARATIONS(SVGImageElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     75
    7376        SVGImageLoader m_imageLoader;
    7477    };
  • trunk/WebCore/svg/SVGMPathElement.cpp

    r36700 r49301  
    3232SVGMPathElement::SVGMPathElement(const QualifiedName& qname, Document* doc)
    3333    : SVGElement(qname, doc)
     34    , m_href(this, XLinkNames::hrefAttr)
    3435{
    3536}
     
    4849SVGPathElement* SVGMPathElement::pathElement()
    4950{
    50     Element* target = document()->getElementById(getTarget(SVGURIReference::href()));
     51    Element* target = document()->getElementById(getTarget(href()));
    5152    if (target && target->hasTagName(SVGNames::pathTag))
    5253        return static_cast<SVGPathElement*>(target);
  • trunk/WebCore/svg/SVGMPathElement.h

    r45747 r49301  
    3232   
    3333    class SVGMPathElement : public SVGElement,
    34                                   SVGURIReference,
    35                                   SVGExternalResourcesRequired {
     34                            public SVGURIReference,
     35                            public SVGExternalResourcesRequired {
    3636    public:
    3737        SVGMPathElement(const QualifiedName&, Document*);
     
    4444    protected:
    4545        virtual const SVGElement* contextElement() const { return this; }
     46
     47        // SVGURIReference
     48        ANIMATED_PROPERTY_DECLARATIONS(SVGMPathElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    4649    };
    4750
  • trunk/WebCore/svg/SVGMaskElement.cpp

    r46956 r49301  
    5656    , m_width(this, SVGNames::widthAttr, LengthModeWidth, "120%")
    5757    , m_height(this, SVGNames::heightAttr, LengthModeHeight, "120%")
     58    , m_href(this, XLinkNames::hrefAttr)
    5859{
    5960    // Spec: If the x/y attribute is not specified, the effect is as if a value of "-10%" were specified.
  • trunk/WebCore/svg/SVGMaskElement.h

    r44096 r49301  
    6666        ANIMATED_PROPERTY_DECLARATIONS(SVGMaskElement, SVGNames::maskTagString, SVGNames::heightAttrString, SVGLength, Height, height)
    6767
     68        // SVGURIReference
     69        ANIMATED_PROPERTY_DECLARATIONS(SVGMaskElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     70
    6871        RefPtr<SVGResourceMasker> m_masker;
    6972    };
  • trunk/WebCore/svg/SVGPatternElement.cpp

    r46956 r49301  
    6565    , m_patternContentUnits(this, SVGNames::patternContentUnitsAttr, SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE)
    6666    , m_patternTransform(this, SVGNames::patternTransformAttr, SVGTransformList::create(SVGNames::patternTransformAttr))
     67    , m_href(this, XLinkNames::hrefAttr)
    6768{
    6869}
  • trunk/WebCore/svg/SVGPatternElement.h

    r35248 r49301  
    7171        ANIMATED_PROPERTY_DECLARATIONS(SVGPatternElement, SVGNames::patternTagString, SVGNames::patternTransformAttrString, SVGTransformList, PatternTransform, patternTransform)
    7272
     73        // SVGURIReference
     74        ANIMATED_PROPERTY_DECLARATIONS(SVGPatternElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     75
    7376        mutable RefPtr<SVGPaintServerPattern> m_resource;
    7477
  • trunk/WebCore/svg/SVGScriptElement.cpp

    r49208 r49301  
    3838    , SVGURIReference()
    3939    , SVGExternalResourcesRequired()
     40    , m_href(this, XLinkNames::hrefAttr)
    4041    , m_data(this, this)
    4142{
  • trunk/WebCore/svg/SVGScriptElement.h

    r49208 r49301  
    7474
    7575    private:
     76        // SVGURIReference
     77        ANIMATED_PROPERTY_DECLARATIONS(SVGScriptElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     78
     79    private:
    7680        ScriptElementData m_data;
    7781        String m_type;
  • trunk/WebCore/svg/SVGTRefElement.cpp

    r29663 r49301  
    3636    : SVGTextPositioningElement(tagName, doc)
    3737    , SVGURIReference()
     38    , m_href(this, XLinkNames::hrefAttr)
    3839{
    3940}
  • trunk/WebCore/svg/SVGTRefElement.h

    r35248 r49301  
    4646    private:
    4747        void updateReferencedText();
     48
     49        // SVGURIReference
     50        ANIMATED_PROPERTY_DECLARATIONS(SVGTRefElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    4851    };
    4952
  • trunk/WebCore/svg/SVGTextPathElement.cpp

    r45747 r49301  
    4242    , m_method(this, SVGNames::methodAttr, SVG_TEXTPATH_METHODTYPE_ALIGN)
    4343    , m_spacing(this, SVGNames::spacingAttr, SVG_TEXTPATH_SPACINGTYPE_EXACT)
     44    , m_href(this, XLinkNames::hrefAttr)
    4445{
    4546}
  • trunk/WebCore/svg/SVGTextPathElement.h

    r45747 r49301  
    7272        ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, SVGNames::textPathTagString, SVGNames::methodAttrString, int, Method, method)
    7373        ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, SVGNames::textPathTagString, SVGNames::spacingAttrString, int, Spacing, spacing)
     74   
     75        // SVGURIReference
     76        ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
    7477    };
    7578
  • trunk/WebCore/svg/SVGURIReference.cpp

    r43187 r49301  
    3131
    3232SVGURIReference::SVGURIReference()
    33     : m_href(this, XLinkNames::hrefAttr)
    3433{
    3534}
  • trunk/WebCore/svg/SVGURIReference.h

    r35248 r49301  
    11/*
    2     Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
     2    Copyright (C) 2004, 2005, 2008, 2009 Nikolas Zimmermann <zimmermann@kde.org>
    33                  2004, 2005 Rob Buis <buis@kde.org>
    44
     
    4343        static String getTarget(const String& url);
    4444
    45         virtual const SVGElement* contextElement() const = 0;
    46 
    47     private:
    48         ANIMATED_PROPERTY_DECLARATIONS(SVGURIReference, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     45    protected:
     46        virtual void setHrefBaseValue(SVGAnimatedTypeValue<String>::DecoratedType type) = 0;
    4947    };
    5048
  • trunk/WebCore/svg/SVGUseElement.cpp

    r48811 r49301  
    6666    , m_width(this, SVGNames::widthAttr, LengthModeWidth)
    6767    , m_height(this, SVGNames::heightAttr, LengthModeHeight)
     68    , m_href(this, XLinkNames::hrefAttr)
    6869{
    6970}
  • trunk/WebCore/svg/SVGUseElement.h

    r37435 r49301  
    7878        ANIMATED_PROPERTY_DECLARATIONS(SVGUseElement, SVGNames::useTagString, SVGNames::heightAttrString, SVGLength, Height, height)
    7979
     80        // SVGURIReference
     81        ANIMATED_PROPERTY_DECLARATIONS(SVGUseElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
     82
    8083    private:
    8184        // Instance tree handling
Note: See TracChangeset for help on using the changeset viewer.