OSDN Git Service

Merge WebKit at r73109: Initial merge by git.
[android-x86/external-webkit.git] / WebCore / svg / SVGForeignObjectElement.h
index 5ce16fd..925f181 100644 (file)
@@ -21,6 +21,8 @@
 #define SVGForeignObjectElement_h
 
 #if ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT)
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedPropertyMacros.h"
 #include "SVGTests.h"
 #include "SVGLangSpace.h"
 #include "SVGURIReference.h"
 #include "SVGExternalResourcesRequired.h"
 
 namespace WebCore {
-    class SVGLength;
 
-    class SVGForeignObjectElement : public SVGStyledTransformableElement,
-                                    public SVGTests,
-                                    public SVGLangSpace,
-                                    public SVGExternalResourcesRequired {
-    public:
-        SVGForeignObjectElement(const QualifiedName&, Document*);
-        virtual ~SVGForeignObjectElement();
+class SVGForeignObjectElement : public SVGStyledTransformableElement,
+                                public SVGTests,
+                                public SVGLangSpace,
+                                public SVGExternalResourcesRequired {
+public:
+    static PassRefPtr<SVGForeignObjectElement> create(const QualifiedName&, Document*);
 
-        virtual bool isValid() const { return SVGTests::isValid(); }
-        virtual void parseMappedAttribute(Attribute*);
-        virtual void svgAttributeChanged(const QualifiedName&);
-        virtual void synchronizeProperty(const QualifiedName&);
+private:
+    SVGForeignObjectElement(const QualifiedName&, Document*);
 
-        bool childShouldCreateRenderer(Node*) const;
-        virtual RenderObject* createRenderer(RenderArena* arena, RenderStyle* style);
+    virtual bool isValid() const { return SVGTests::isValid(); }
+    virtual void parseMappedAttribute(Attribute*);
+    virtual void svgAttributeChanged(const QualifiedName&);
+    virtual void synchronizeProperty(const QualifiedName&);
 
-    private:
-        virtual bool selfHasRelativeLengths() const;
+    virtual bool childShouldCreateRenderer(Node*) const;
+    virtual RenderObject* createRenderer(RenderArena* arena, RenderStyle* style);
 
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::xAttr, SVGLength, X, x)
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::yAttr, SVGLength, Y, y)
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::widthAttr, SVGLength, Width, width)
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::heightAttr, SVGLength, Height, height)
+    virtual bool selfHasRelativeLengths() const;
 
-        // SVGURIReference
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, XLinkNames::hrefAttr, String, Href, href)
+    // Animated property declarations
+    DECLARE_ANIMATED_LENGTH(X, x)
+    DECLARE_ANIMATED_LENGTH(Y, y)
+    DECLARE_ANIMATED_LENGTH(Width, width)
+    DECLARE_ANIMATED_LENGTH(Height, height)
 
-        // SVGExternalResourcesRequired
-        DECLARE_ANIMATED_PROPERTY(SVGForeignObjectElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
-    };
+    // SVGURIReference
+    DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGForeignObjectElement, XLinkNames::hrefAttr, String, Href, href)
+
+    // SVGExternalResourcesRequired
+    DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGForeignObjectElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
+};
 
 } // namespace WebCore