[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

zimmermann at webkit.org zimmermann at webkit.org
Wed Dec 22 17:50:37 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit bcebe5771576433fcc574125fc91bffa5e31123f
Author: zimmermann at webkit.org <zimmermann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 1 08:57:20 2010 +0000

    2010-12-01  Nikolas Zimmermann  <nzimmermann at rim.com>
    
            Reviewed by Dirk Schulze.
    
            Cleanup SVGPropertyTraits
            https://bugs.webkit.org/show_bug.cgi?id=50229
    
            Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
            into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
            included by all DOM/JS/V8 binding files and SVGElement.h.
    
            No new functionality, thus no new tests.
    
            * GNUmakefile.am:
            * WebCore.gypi:
            * WebCore.pro:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/scripts/CodeGenerator.pm:
            * bindings/scripts/CodeGeneratorObjC.pm:
            * bindings/scripts/CodeGeneratorV8.pm:
            * svg/SVGAngle.h:
            * svg/SVGLength.h:
            * svg/SVGLengthList.h:
            * svg/SVGMarkerElement.h:
            * svg/SVGNumberList.h:
            * svg/SVGPatternElement.h:
            * svg/SVGPointList.h:
            * svg/SVGPreserveAspectRatio.h:
            * svg/SVGRect.h: Added.
            * svg/SVGSVGElement.h:
            * svg/SVGStringList.h:
            * svg/SVGSymbolElement.h:
            * svg/SVGTransformList.h:
            * svg/SVGViewElement.h:
            * svg/SVGViewSpec.h:
            * svg/properties/SVGListProperty.h:
            * svg/properties/SVGPropertyTraits.h:
            * svg/properties/SVGTransformListPropertyTearOff.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c4ab39a..a6b58e9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,42 @@
+2010-12-01  Nikolas Zimmermann  <nzimmermann at rim.com>
+
+        Reviewed by Dirk Schulze.
+
+        Cleanup SVGPropertyTraits
+        https://bugs.webkit.org/show_bug.cgi?id=50229
+
+        Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
+        into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
+        included by all DOM/JS/V8 binding files and SVGElement.h.
+
+        No new functionality, thus no new tests.
+
+        * GNUmakefile.am:
+        * WebCore.gypi:
+        * WebCore.pro:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/scripts/CodeGenerator.pm:
+        * bindings/scripts/CodeGeneratorObjC.pm:
+        * bindings/scripts/CodeGeneratorV8.pm:
+        * svg/SVGAngle.h:
+        * svg/SVGLength.h:
+        * svg/SVGLengthList.h:
+        * svg/SVGMarkerElement.h:
+        * svg/SVGNumberList.h:
+        * svg/SVGPatternElement.h:
+        * svg/SVGPointList.h:
+        * svg/SVGPreserveAspectRatio.h:
+        * svg/SVGRect.h: Added.
+        * svg/SVGSVGElement.h:
+        * svg/SVGStringList.h:
+        * svg/SVGSymbolElement.h:
+        * svg/SVGTransformList.h:
+        * svg/SVGViewElement.h:
+        * svg/SVGViewSpec.h:
+        * svg/properties/SVGListProperty.h:
+        * svg/properties/SVGPropertyTraits.h:
+        * svg/properties/SVGTransformListPropertyTearOff.h:
+
 2010-11-30  Kent Tamura  <tkent at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 2d71b11..68a2394 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -3358,6 +3358,7 @@ webcore_sources += \
 	WebCore/svg/SVGPreserveAspectRatio.h \
 	WebCore/svg/SVGRadialGradientElement.cpp \
 	WebCore/svg/SVGRadialGradientElement.h \
+	WebCore/svg/SVGRect.h \
 	WebCore/svg/SVGRectElement.cpp \
 	WebCore/svg/SVGRectElement.h \
 	WebCore/svg/SVGRenderingIntent.h \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index b918be0..64cad8e 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -4251,6 +4251,7 @@
             'svg/SVGPreserveAspectRatio.h',
             'svg/SVGRadialGradientElement.cpp',
             'svg/SVGRadialGradientElement.h',
+            'svg/SVGRect.h',
             'svg/SVGRectElement.cpp',
             'svg/SVGRectElement.h',
             'svg/SVGRenderingIntent.h',
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index df2cc71..ced4130 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2513,6 +2513,7 @@ HEADERS += \
     svg/SVGPolylineElement.h \
     svg/SVGPreserveAspectRatio.h \
     svg/SVGRadialGradientElement.h \
+    svg/SVGRect.h \
     svg/SVGRectElement.h \
     svg/SVGScriptElement.h \
     svg/SVGSetElement.h \
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index eafebb4..794d5ad 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -257,6 +257,7 @@
 		08E6A2E90EEE035200AC1206 /* WMLPostfieldElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E6A2E70EEE035200AC1206 /* WMLPostfieldElement.h */; };
 		08E6E0F10EFF42BA00029FBF /* WMLFieldSetElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08E6E0EF0EFF42BA00029FBF /* WMLFieldSetElement.cpp */; };
 		08E6E0F20EFF42BA00029FBF /* WMLFieldSetElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E6E0F00EFF42BA00029FBF /* WMLFieldSetElement.h */; };
+		08EDE19F12A50B8E00B95797 /* SVGRect.h in Headers */ = {isa = PBXBuildFile; fileRef = 08EDE19E12A50B8E00B95797 /* SVGRect.h */; };
 		08F0BFC21255C53C00075185 /* SVGTextChunk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08F0BFBD1255C53C00075185 /* SVGTextChunk.cpp */; };
 		08F0BFC31255C53C00075185 /* SVGTextChunk.h in Headers */ = {isa = PBXBuildFile; fileRef = 08F0BFBE1255C53C00075185 /* SVGTextChunk.h */; };
 		08F0BFC41255C53C00075185 /* SVGTextFragment.h in Headers */ = {isa = PBXBuildFile; fileRef = 08F0BFBF1255C53C00075185 /* SVGTextFragment.h */; };
@@ -6311,6 +6312,7 @@
 		08E6A2E70EEE035200AC1206 /* WMLPostfieldElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLPostfieldElement.h; sourceTree = "<group>"; };
 		08E6E0EF0EFF42BA00029FBF /* WMLFieldSetElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLFieldSetElement.cpp; sourceTree = "<group>"; };
 		08E6E0F00EFF42BA00029FBF /* WMLFieldSetElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLFieldSetElement.h; sourceTree = "<group>"; };
+		08EDE19E12A50B8E00B95797 /* SVGRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGRect.h; sourceTree = "<group>"; };
 		08F0BFBD1255C53C00075185 /* SVGTextChunk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextChunk.cpp; sourceTree = "<group>"; };
 		08F0BFBE1255C53C00075185 /* SVGTextChunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextChunk.h; sourceTree = "<group>"; };
 		08F0BFBF1255C53C00075185 /* SVGTextFragment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextFragment.h; sourceTree = "<group>"; };
@@ -16512,6 +16514,7 @@
 				B22279030D00BF210071B782 /* SVGRadialGradientElement.cpp */,
 				B22279040D00BF210071B782 /* SVGRadialGradientElement.h */,
 				B22279050D00BF210071B782 /* SVGRadialGradientElement.idl */,
+				08EDE19E12A50B8E00B95797 /* SVGRect.h */,
 				B22279060D00BF210071B782 /* SVGRect.idl */,
 				B22279070D00BF210071B782 /* SVGRectElement.cpp */,
 				B22279080D00BF210071B782 /* SVGRectElement.h */,
@@ -21433,6 +21436,7 @@
 				75415D5A129AB2D2003AD669 /* JSSpeechInputResultList.h in Headers */,
 				2E97CCEB12939CB800C5C8FF /* DataView.h in Headers */,
 				2E97CE701293AD6B00C5C8FF /* JSDataView.h in Headers */,
+				08EDE19F12A50B8E00B95797 /* SVGRect.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/WebCore/bindings/scripts/CodeGenerator.pm b/WebCore/bindings/scripts/CodeGenerator.pm
index 42f3f1c..9a9e9d7 100644
--- a/WebCore/bindings/scripts/CodeGenerator.pm
+++ b/WebCore/bindings/scripts/CodeGenerator.pm
@@ -308,8 +308,8 @@ sub AvoidInclusionOfType
     my $object = shift;
     my $type = shift;
 
-    # Special case: SVGRect.h / SVGPoint.h / SVGNumber.h do not exist.
-    return 1 if $type eq "SVGRect" or $type eq "SVGPoint" or $type eq "SVGNumber";
+    # Special case: SVGPoint.h / SVGNumber.h do not exist.
+    return 1 if $type eq "SVGPoint" or $type eq "SVGNumber";
     return 0;
 }
 
diff --git a/WebCore/bindings/scripts/CodeGeneratorObjC.pm b/WebCore/bindings/scripts/CodeGeneratorObjC.pm
index 373797d..6ccebf9 100644
--- a/WebCore/bindings/scripts/CodeGeneratorObjC.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorObjC.pm
@@ -1302,6 +1302,7 @@ sub GenerateImplementation
                 my $type = $attribute->signature->type;
                 if ($codeGenerator->IsSVGTypeNeedingTearOff($type) and not $implClassName =~ /List$/) {
                     my $idlTypeWithNamespace = GetSVGTypeWithNamespace($type);
+                    $implIncludes{"$type.h"} = 1 if not $codeGenerator->AvoidInclusionOfType($type);
                     if ($codeGenerator->IsSVGTypeWithWritablePropertiesNeedingTearOff($type) and not defined $attribute->signature->extendedAttributes->{"Immutable"}) {
                         $idlTypeWithNamespace =~ s/SVGPropertyTearOff</SVGStaticPropertyTearOff<$implClassNameWithNamespace, /;
                         $implIncludes{"SVGStaticPropertyTearOff.h"} = 1;
diff --git a/WebCore/bindings/scripts/CodeGeneratorV8.pm b/WebCore/bindings/scripts/CodeGeneratorV8.pm
index cd975a9..7488d50 100644
--- a/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -2904,10 +2904,6 @@ sub JSValueToNative
         return "V8DOMWrapper::wrapNativeNodeFilter($value)";
     }
 
-    if ($type eq "SVGRect") {
-        $implIncludes{"FloatRect.h"} = 1;
-    }
-
     if ($type eq "MediaQueryListListener") {
         $implIncludes{"MediaQueryListListener.h"} = 1;
         return "MediaQueryListListener::create(" . $value . ")";
diff --git a/WebCore/svg/SVGAngle.h b/WebCore/svg/SVGAngle.h
index 4afaa4b..6fadabb 100644
--- a/WebCore/svg/SVGAngle.h
+++ b/WebCore/svg/SVGAngle.h
@@ -24,7 +24,7 @@
 
 #if ENABLE(SVG)
 #include "ExceptionCode.h"
-#include <wtf/text/WTFString.h>
+#include "SVGPropertyTraits.h"
 
 namespace WebCore {
 
@@ -59,6 +59,12 @@ private:
     float m_valueInSpecifiedUnits;
 };
 
+template<>
+struct SVGPropertyTraits<SVGAngle> {
+    static SVGAngle initialValue() { return SVGAngle(); }
+    static String toString(const SVGAngle& type) { return type.valueAsString(); }
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGLength.h b/WebCore/svg/SVGLength.h
index ccd22ee..a256ed3 100644
--- a/WebCore/svg/SVGLength.h
+++ b/WebCore/svg/SVGLength.h
@@ -23,7 +23,7 @@
 
 #if ENABLE(SVG)
 #include "ExceptionCode.h"
-#include <wtf/text/WTFString.h>
+#include "SVGPropertyTraits.h"
 
 namespace WebCore {
 
@@ -118,6 +118,13 @@ private:
     unsigned int m_unit;
 };
 
+template<>
+struct SVGPropertyTraits<SVGLength> {
+    static SVGLength initialValue() { return SVGLength(); }
+    static String toString(const SVGLength& type) { return type.valueAsString(); }
+};
+
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGLengthList.h b/WebCore/svg/SVGLengthList.h
index 8b08557..865f7bc 100644
--- a/WebCore/svg/SVGLengthList.h
+++ b/WebCore/svg/SVGLengthList.h
@@ -35,6 +35,14 @@ public:
     String valueAsString() const;
 };
 
+template<>
+struct SVGPropertyTraits<SVGLengthList> {
+    typedef SVGLength ListItemType;
+
+    static SVGLengthList initialValue() { return SVGLengthList(); }
+    static String toString(const SVGLengthList& type) { return type.valueAsString(); }
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGMarkerElement.h b/WebCore/svg/SVGMarkerElement.h
index e84357e..8d54e35 100644
--- a/WebCore/svg/SVGMarkerElement.h
+++ b/WebCore/svg/SVGMarkerElement.h
@@ -29,6 +29,8 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
 #include "SVGLangSpace.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
diff --git a/WebCore/svg/SVGNumberList.h b/WebCore/svg/SVGNumberList.h
index abc82da..f42d937 100644
--- a/WebCore/svg/SVGNumberList.h
+++ b/WebCore/svg/SVGNumberList.h
@@ -22,8 +22,8 @@
 #define SVGNumberList_h
 
 #if ENABLE(SVG)
+#include "SVGPropertyTraits.h"
 #include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
@@ -35,6 +35,14 @@ public:
     String valueAsString() const;
 };
 
+template<>
+struct SVGPropertyTraits<SVGNumberList> {
+    typedef float ListItemType;
+
+    static SVGNumberList initialValue() { return SVGNumberList(); }
+    static String toString(const SVGNumberList& type) { return type.valueAsString(); }
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGPatternElement.h b/WebCore/svg/SVGPatternElement.h
index 37f91ca..e9d556f 100644
--- a/WebCore/svg/SVGPatternElement.h
+++ b/WebCore/svg/SVGPatternElement.h
@@ -28,6 +28,8 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
 #include "SVGLangSpace.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
 #include "SVGStyledElement.h"
 #include "SVGTests.h"
 #include "SVGTransformList.h"
diff --git a/WebCore/svg/SVGPointList.h b/WebCore/svg/SVGPointList.h
index 9f2efc9..4918936 100644
--- a/WebCore/svg/SVGPointList.h
+++ b/WebCore/svg/SVGPointList.h
@@ -23,8 +23,8 @@
 
 #if ENABLE(SVG)
 #include "QualifiedName.h"
+#include "SVGPropertyTraits.h"
 #include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
@@ -39,6 +39,12 @@ public:
     static bool createAnimated(const SVGPointList& fromList, const SVGPointList& toList, SVGPointList& resultList, float progress);
 };
 
+template<>
+struct SVGPropertyTraits<SVGPointList> {
+    static SVGPointList initialValue() { return SVGPointList(); }
+    typedef FloatPoint ListItemType;
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGPreserveAspectRatio.h b/WebCore/svg/SVGPreserveAspectRatio.h
index eda82d4..bf00ee4 100644
--- a/WebCore/svg/SVGPreserveAspectRatio.h
+++ b/WebCore/svg/SVGPreserveAspectRatio.h
@@ -23,7 +23,7 @@
 
 #if ENABLE(SVG)
 #include "ExceptionCode.h"
-#include <wtf/text/WTFString.h>
+#include "SVGPropertyTraits.h"
 
 namespace WebCore {
 
@@ -86,6 +86,12 @@ private:
     SVGMeetOrSliceType m_meetOrSlice;
 };
 
+template<>
+struct SVGPropertyTraits<SVGPreserveAspectRatio> {
+    static SVGPreserveAspectRatio initialValue() { return SVGPreserveAspectRatio(); }
+    static String toString(const SVGPreserveAspectRatio& type) { return type.valueAsString(); }
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGRect.h b/WebCore/svg/SVGRect.h
new file mode 100644
index 0000000..379a5bf
--- /dev/null
+++ b/WebCore/svg/SVGRect.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) Research In Motion Limited 2010. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SVGRect_h
+#define SVGRect_h
+
+#if ENABLE(SVG)
+#include "FloatRect.h"
+#include "SVGPropertyTraits.h"
+#include <wtf/text/StringBuilder.h>
+
+namespace WebCore {
+
+template<>
+struct SVGPropertyTraits<FloatRect> {
+    static FloatRect initialValue() { return FloatRect(); }
+    static String toString(const FloatRect& type)
+    {
+        StringBuilder builder;
+        builder.append(String::number(type.x()));
+        builder.append(' ');
+        builder.append(String::number(type.y()));
+        builder.append(' ');
+        builder.append(String::number(type.width()));
+        builder.append(' ');
+        builder.append(String::number(type.height()));
+        builder.append(' ');
+        return builder.toString();
+    }
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(SVG)
+#endif // SVGRect_h
diff --git a/WebCore/svg/SVGSVGElement.h b/WebCore/svg/SVGSVGElement.h
index f73fb3f..cbd8b70 100644
--- a/WebCore/svg/SVGSVGElement.h
+++ b/WebCore/svg/SVGSVGElement.h
@@ -28,6 +28,8 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
 #include "SVGLangSpace.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
 #include "SVGStyledLocatableElement.h"
 #include "SVGTests.h"
 #include "SVGZoomAndPan.h"
diff --git a/WebCore/svg/SVGStringList.h b/WebCore/svg/SVGStringList.h
index 9d74624..5463cc2 100644
--- a/WebCore/svg/SVGStringList.h
+++ b/WebCore/svg/SVGStringList.h
@@ -23,8 +23,8 @@
 
 #if ENABLE(SVG)
 #include "QualifiedName.h"
+#include "SVGPropertyTraits.h"
 #include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
@@ -49,6 +49,11 @@ private:
     const QualifiedName& m_attributeName;
 };
 
+template<>
+struct SVGPropertyTraits<SVGStringList> {
+    typedef String ListItemType;
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGSymbolElement.h b/WebCore/svg/SVGSymbolElement.h
index 1aa7cbf..d416150 100644
--- a/WebCore/svg/SVGSymbolElement.h
+++ b/WebCore/svg/SVGSymbolElement.h
@@ -26,6 +26,8 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
 #include "SVGLangSpace.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
diff --git a/WebCore/svg/SVGTransformList.h b/WebCore/svg/SVGTransformList.h
index e071355..0afc832 100644
--- a/WebCore/svg/SVGTransformList.h
+++ b/WebCore/svg/SVGTransformList.h
@@ -22,9 +22,9 @@
 #define SVGTransformList_h
 
 #if ENABLE(SVG)
+#include "SVGPropertyTraits.h"
 #include "SVGTransform.h"
 #include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
@@ -41,6 +41,13 @@ public:
     String valueAsString() const;
 };
 
+template<>
+struct SVGPropertyTraits<SVGTransformList> {
+    static SVGTransformList initialValue() { return SVGTransformList(); }
+    static String toString(const SVGTransformList& type) { return type.valueAsString(); }
+    typedef SVGTransform ListItemType;
+};
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
diff --git a/WebCore/svg/SVGViewElement.h b/WebCore/svg/SVGViewElement.h
index 7e239e3..b3a0f39 100644
--- a/WebCore/svg/SVGViewElement.h
+++ b/WebCore/svg/SVGViewElement.h
@@ -23,10 +23,12 @@
 
 #if ENABLE(SVG)
 #include "SVGAnimatedPropertyMacros.h"
-#include "SVGStringList.h"
-#include "SVGStyledElement.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
+#include "SVGStringList.h"
+#include "SVGStyledElement.h"
 #include "SVGZoomAndPan.h"
 
 namespace WebCore {
diff --git a/WebCore/svg/SVGViewSpec.h b/WebCore/svg/SVGViewSpec.h
index dd466ef..7427f4b 100644
--- a/WebCore/svg/SVGViewSpec.h
+++ b/WebCore/svg/SVGViewSpec.h
@@ -24,6 +24,8 @@
 #include "SVGAnimatedPropertyMacros.h"
 #include "SVGElement.h"
 #include "SVGFitToViewBox.h"
+#include "SVGPreserveAspectRatio.h"
+#include "SVGRect.h"
 #include "SVGZoomAndPan.h"
 
 #include <wtf/RefPtr.h>
diff --git a/WebCore/svg/properties/SVGListProperty.h b/WebCore/svg/properties/SVGListProperty.h
index 9018923..0985ddb 100644
--- a/WebCore/svg/properties/SVGListProperty.h
+++ b/WebCore/svg/properties/SVGListProperty.h
@@ -21,8 +21,8 @@
 #define SVGListProperty_h
 
 #if ENABLE(SVG)
-#include "ExceptionCode.h"
 #include "SVGAnimatedProperty.h"
+#include "SVGException.h"
 #include "SVGPropertyTearOff.h"
 #include "SVGPropertyTraits.h"
 
diff --git a/WebCore/svg/properties/SVGPropertyTraits.h b/WebCore/svg/properties/SVGPropertyTraits.h
index 5364853..0ed9339 100644
--- a/WebCore/svg/properties/SVGPropertyTraits.h
+++ b/WebCore/svg/properties/SVGPropertyTraits.h
@@ -22,16 +22,7 @@
 #define SVGPropertyTraits_h
 
 #if ENABLE(SVG)
-#include "FloatRect.h"
-#include "SVGAngle.h"
-#include "SVGLength.h"
-#include "SVGLengthList.h"
-#include "SVGNumberList.h"
-#include "SVGPointList.h"
-#include "SVGPreserveAspectRatio.h"
-#include "SVGStringList.h"
-#include "SVGTransformList.h"
-#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
@@ -39,12 +30,6 @@ template<typename PropertyType>
 struct SVGPropertyTraits { };
 
 template<>
-struct SVGPropertyTraits<SVGAngle> {
-    static SVGAngle initialValue() { return SVGAngle(); }
-    static String toString(const SVGAngle& type) { return type.valueAsString(); }
-};
-
-template<>
 struct SVGPropertyTraits<bool> {
     static bool initialValue() { return false; }
     static String toString(bool type) { return type ? "true" : "false"; }
@@ -63,81 +48,17 @@ struct SVGPropertyTraits<long> {
 };
 
 template<>
-struct SVGPropertyTraits<SVGLength> {
-    static SVGLength initialValue() { return SVGLength(); }
-    static String toString(const SVGLength& type) { return type.valueAsString(); }
-};
-
-template<>
-struct SVGPropertyTraits<SVGLengthList> {
-    typedef SVGLength ListItemType;
-
-    static SVGLengthList initialValue() { return SVGLengthList(); }
-    static String toString(const SVGLengthList& type) { return type.valueAsString(); }
-};
-
-template<>
 struct SVGPropertyTraits<float> {
     static float initialValue() { return 0; }
     static String toString(float type) { return String::number(type); }
 };
 
 template<>
-struct SVGPropertyTraits<SVGNumberList> {
-    typedef float ListItemType;
-
-    static SVGNumberList initialValue() { return SVGNumberList(); }
-    static String toString(const SVGNumberList& type) { return type.valueAsString(); }
-};
-
-template<>
-struct SVGPropertyTraits<SVGPreserveAspectRatio> {
-    static SVGPreserveAspectRatio initialValue() { return SVGPreserveAspectRatio(); }
-    static String toString(const SVGPreserveAspectRatio& type) { return type.valueAsString(); }
-};
-
-template<>
-struct SVGPropertyTraits<FloatRect> {
-    static FloatRect initialValue() { return FloatRect(); }
-    static String toString(const FloatRect& type)
-    {
-        StringBuilder builder;
-        builder.append(String::number(type.x()));
-        builder.append(' ');
-        builder.append(String::number(type.y()));
-        builder.append(' ');
-        builder.append(String::number(type.width()));
-        builder.append(' ');
-        builder.append(String::number(type.height()));
-        builder.append(' ');
-        return builder.toString();
-    }
-};
-
-template<>
 struct SVGPropertyTraits<String> {
     static String initialValue() { return String(); }
     static String toString(const String& type) { return type; }
 };
 
-template<>
-struct SVGPropertyTraits<SVGStringList> {
-    typedef String ListItemType;
-};
-
-template<>
-struct SVGPropertyTraits<SVGPointList> {
-    static SVGPointList initialValue() { return SVGPointList(); }
-    typedef FloatPoint ListItemType;
-};
-
-template<>
-struct SVGPropertyTraits<SVGTransformList> {
-    static SVGTransformList initialValue() { return SVGTransformList(); }
-    static String toString(const SVGTransformList& type) { return type.valueAsString(); }
-    typedef SVGTransform ListItemType;
-};
-
 }
 
 #endif
diff --git a/WebCore/svg/properties/SVGTransformListPropertyTearOff.h b/WebCore/svg/properties/SVGTransformListPropertyTearOff.h
index 3739348..d3ad1ca 100644
--- a/WebCore/svg/properties/SVGTransformListPropertyTearOff.h
+++ b/WebCore/svg/properties/SVGTransformListPropertyTearOff.h
@@ -22,6 +22,7 @@
 
 #if ENABLE(SVG)
 #include "SVGListPropertyTearOff.h"
+#include "SVGTransformList.h"
 
 namespace WebCore {
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list