2007-12-20 Eric Seidel <eric@webkit.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Dec 2007 19:21:05 +0000 (19:21 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Dec 2007 19:21:05 +0000 (19:21 +0000)
        Reviewed by Nikolas Zimmermann.

        WebKit claims to support SVG feature strings it shouldn't
        http://bugs.webkit.org/show_bug.cgi?id=15480

        * dom/DOMImplementation.cpp:
        (WebCore::isSVG10Feature):
        (WebCore::isSVG11Feature):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt
LayoutTests/svg/custom/svg-features-expected.txt
WebCore/ChangeLog
WebCore/dom/DOMImplementation.cpp

index 15c19a10b5f1849311a424ce166c7b2bc4f005e1..4f8362fd91dda94a5b6e0e917b7c3c6aaac933ce 100644 (file)
@@ -1,3 +1,19 @@
+2007-12-20  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+        
+        WebKit claims to support SVG feature strings it shouldn't
+        http://bugs.webkit.org/show_bug.cgi?id=15480
+
+        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.checksum:
+        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
+        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
+        * svg/custom/svg-features-expected.txt:
+        * svg/custom/svg-features.html:
+
 2007-12-17  Tony Chang  <idealisms@gmail.com>
 
         Reviewed by Darin.
index dd8560aed7b2c43ff9c2b8f77fee109ce270bbad..945f399356af88554556f404e36608e0d43e54f0 100644 (file)
@@ -1 +1 @@
-2daa6aa37b25f43b63596bf174580a35
\ No newline at end of file
+fa8e105f7865f13b87545ac038de8ab4
\ No newline at end of file
index ecfff2917b8e8b871683606882caaa38cb872d75..479e6498dc20a5ca2df853d001719364e6f7c841 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png differ
index f706bab0c81786693c1d85d4d41ac551377fb253..c3ec1e101617247168658e90b225e001650e00f2 100644 (file)
@@ -5,16 +5,10 @@ layer at (0,0) size 480x360
     RenderSVGContainer {g} at (30,20) size 420x270
       RenderSVGContainer {switch} at (30,20) size 420x130
         RenderSVGContainer {g} at (30,20) size 420x130
-          RenderPath {rect} at (30,20) size 420x130 [fill={[type=SOLID] [color=#FF0000]}] [data="M30.00,20.00L450.00,20.00L450.00,150.00L30.00,150.00"]
-          RenderSVGText {text} at (84,100) size 312x23 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,-18) size 312x23
-              chunk 1 (middle anchor) text run 1 at (84.00,100.00) startOffset 0 endOffset 35 width 312.00: "This viewer does more than SVG Tiny"
+          RenderPath {rect} at (30,20) size 420x130 [fill={[type=SOLID] [color=#00FF00]}] [data="M30.00,20.00L450.00,20.00L450.00,150.00L30.00,150.00"]
       RenderSVGContainer {switch} at (30,160) size 420x130 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,140.00)}]
         RenderSVGContainer {g} at (30,160) size 420x130
-          RenderPath {rect} at (30,160) size 420x130 [fill={[type=SOLID] [color=#FF0000]}] [data="M30.00,20.00L450.00,20.00L450.00,150.00L30.00,150.00"]
-          RenderSVGText {text} at (109,100) size 262x23 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,-18) size 262x23
-              chunk 1 (middle anchor) text run 1 at (109.50,100.00) startOffset 0 endOffset 30 width 261.00: "This is not an SVG Tiny Viewer"
+          RenderPath {rect} at (30,160) size 420x130 [fill={[type=SOLID] [color=#00FF00]}] [data="M30.00,20.00L450.00,20.00L450.00,150.00L30.00,150.00"]
     RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,-36) size 264x46
         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.9 $"
index d7445c34e3d7eadecfded7869f68b1988eef774f..dffa5000ab33e24b259d5e41fe9de9977a2bc207 100644 (file)
@@ -1 +1 @@
-ffa003d57173c942f66aaa469cf6d74f
\ No newline at end of file
+2f6771211a27e3fa54b895b9ff5961f4
\ No newline at end of file
index bb917624d3ad784f5a928d4bbebfb1e6c5f8ee49..4806c1f003b522e09260488e85d1ca6135e7892f 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png differ
index d973b4a6fa660b1613dfe2d2af8cb4ead89321f8..6f23ddbb434f642a749d93c1675ffe7bf41cc31d 100644 (file)
@@ -1,8 +1,8 @@
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
 layer at (0,0) size 480x360
-  RenderSVGRoot {svg} at (0,0) size 480x359.50
-    RenderSVGContainer {g} at (0,0) size 480x300
+  RenderSVGRoot {svg} at (0,0) size 479.50x359.50
+    RenderSVGContainer {g} at (0,0) size 240x225
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
         RenderImage {image} at (0,0) size 240x150
         RenderSVGViewportContainer {svg} at (240,0) size 240x225
@@ -19,9 +19,8 @@ layer at (0,0) size 480x360
       RenderSVGViewportContainer {svg} at (0,150) size 240x150
         RenderSVGContainer {g} at (0,150) size 240x150
           RenderPath {rect} at (0,150) size 240x150 [fill={[type=SOLID] [color=#00FFFF]}] [data="M0.00,0.00L240.00,0.00L240.00,150.00L0.00,150.00"]
-      RenderSVGContainer {g} at (240,150) size 240x150
-        RenderSVGContainer {switch} at (240,150) size 240x150
-          RenderPath {rect} at (240,150) size 240x150 [fill={[type=SOLID] [color=#008000]}] [data="M240.00,150.00L480.00,150.00L480.00,300.00L240.00,300.00"]
+      RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {switch} at (0,0) size 0x0
     RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,-36) size 264x46
         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.2 $"
index 12d38d939b65c2775b2a556f1182e21594af1e0d..46f439190e995136b405d3f86f438ce3dfb877ee 100644 (file)
@@ -1,18 +1,18 @@
-"org.w3c.svg", "1.0": true, true
-"org.w3c.svg.static", "1.0": true, true
+"org.w3c.svg", "1.0": false, false
+"org.w3c.svg.static", "1.0": false, false
 "org.w3c.svg.animation", "1.0": false, false
 "org.w3c.svg.dynamic", "1.0": false, false
-"org.w3c.dom", "1.0": true, true
-"org.w3c.dom.svg", "1.0": true, true
-"org.w3c.dom.svg.static", "1.0": true, true
+"org.w3c.dom", "1.0": false, false
+"org.w3c.dom.svg", "1.0": false, false
+"org.w3c.dom.svg.static", "1.0": false, false
 "org.w3c.dom.svg.animation", "1.0": false, false
 "org.w3c.dom.svg.dynamic", "1.0": false, false
 "org.w3c.svg.all", "1.0": false, false
 "org.w3c.dom.svg.all", "1.0": false, false
-"http://www.w3.org/TR/SVG11/feature#SVG", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#SVGDOM", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#SVG-static", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#SVGDOM-static", "1.1": true, true
+"http://www.w3.org/TR/SVG11/feature#SVG", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#SVGDOM", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#SVG-static", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#SVGDOM-static", "1.1": false, false
 "http://www.w3.org/TR/SVG11/feature#SVG-animation", "1.1": false, false
 "http://www.w3.org/TR/SVG11/feature#SVGDOM-animation", "1.1": false, false
 "http://www.w3.org/TR/SVG11/feature#SVG-dynamic", "1.1": false, false
@@ -27,7 +27,7 @@
 "http://www.w3.org/TR/SVG11/feature#ViewportAttribute", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#Shape", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#Text", "1.1": false, false
-"http://www.w3.org/TR/SVG11/feature#BasicText", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#BasicText", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#PaintAttribute", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#BasicPaintAttribute", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#OpacityAttribute", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#BasicFilter", "1.1": false, false
 "http://www.w3.org/TR/SVG11/feature#DocumentEventsAttribute", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#GraphicalEventsAttribute", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#Cursor", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#Cursor", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#Hyperlinking", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#XlinkAttribute", "1.1": true, true
-"http://www.w3.org/TR/SVG11/feature#ExternalResourcesRequired", "1.1": false, false
+"http://www.w3.org/TR/SVG11/feature#ExternalResourcesRequired", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#View", "1.1": false, false
 "http://www.w3.org/TR/SVG11/feature#Script", "1.1": true, true
 "http://www.w3.org/TR/SVG11/feature#Animation", "1.1": false, false
index 0093e682e6e7392d07ae0e645382a637e19fa47c..49e41dff49dfc1e261515d7cb463a463bf07808b 100644 (file)
@@ -1,3 +1,14 @@
+2007-12-20  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        WebKit claims to support SVG feature strings it shouldn't
+        http://bugs.webkit.org/show_bug.cgi?id=15480
+
+        * dom/DOMImplementation.cpp:
+        (WebCore::isSVG10Feature):
+        (WebCore::isSVG11Feature):
+
 2007-12-20  John Sullivan  <sullivan@apple.com>
 
         Reviewed by Oliver and Geoff
index b6474b05485affbb76525baffa13accc99adaa36..a244b8ec0133a654e39beb847612ec5ccc49907b 100644 (file)
@@ -78,17 +78,18 @@ static bool isSVG10Feature(const String &feature)
     static bool initialized = false;
     static HashSet<StringImpl*, CaseFoldingHash> svgFeatures;
     if (!initialized) {
-        // TODO: features need to be uncommented when we implement them
-        // 1.0 features
-        addString(svgFeatures, "svg");
-        addString(svgFeatures, "svg.static");
+        // Sadly, we cannot claim to implement any SVG 1.0 feature set, due to
+        // lack of Font support.
+        // http://bugs.webkit.org/show_bug.cgi?id=15480
+//      addString(svgFeatures, "svg");
+//      addString(svgFeatures, "svg.static");
 //      addString(svgFeatures, "svg.animation");
 //      addString(svgFeatures, "svg.dynamic");
 //      addString(svgFeatures, "svg.dom.animation");
 //      addString(svgFeatures, "svg.dom.dynamic");
-        addString(svgFeatures, "dom");
-        addString(svgFeatures, "dom.svg");
-        addString(svgFeatures, "dom.svg.static");
+//      addString(svgFeatures, "dom");
+//      addString(svgFeatures, "dom.svg");
+//      addString(svgFeatures, "dom.svg.static");
 //      addString(svgFeatures, "svg.all");
 //      addString(svgFeatures, "dom.svg.all");
         initialized = true;
@@ -101,27 +102,30 @@ static bool isSVG11Feature(const String &feature)
     static bool initialized = false;
     static HashSet<StringImpl*, CaseFoldingHash> svgFeatures;
     if (!initialized) {
-        // TODO: features need to be uncommented when we implement them
-        // 1.1 features
-        addString(svgFeatures, "SVG");
-        addString(svgFeatures, "SVGDOM");
-        addString(svgFeatures, "SVG-static");
-        addString(svgFeatures, "SVGDOM-static");
+        // Sadly, we cannot claim to implement any of the SVG 1.1 generic feature sets
+        // lack of Font and Filter support.
+        // http://bugs.webkit.org/show_bug.cgi?id=15480
+//      addString(svgFeatures, "SVG");
+//      addString(svgFeatures, "SVGDOM");
+//      addString(svgFeatures, "SVG-static");
+//      addString(svgFeatures, "SVGDOM-static");
 //      addString(svgFeatures, "SVG-animation);
 //      addString(svgFeatures, "SVGDOM-animation);
 //      addString(svgFeatures, "SVG-dynamic);
 //      addString(svgFeatures, "SVGDOM-dynamic);
         addString(svgFeatures, "CoreAttribute");
+#if ENABLE(SVG_USE)
         addString(svgFeatures, "Structure");
         addString(svgFeatures, "BasicStructure");
+#endif
         addString(svgFeatures, "ContainerAttribute");
         addString(svgFeatures, "ConditionalProcessing");
         addString(svgFeatures, "Image");
         addString(svgFeatures, "Style");
         addString(svgFeatures, "ViewportAttribute");
         addString(svgFeatures, "Shape");
-//      addString(svgFeatures, "Text");
-//      addString(svgFeatures, "BasicText");
+//      addString(svgFeatures, "Text"); // requires altGlyph, bug 6426
+        addString(svgFeatures, "BasicText");
         addString(svgFeatures, "PaintAttribute");
         addString(svgFeatures, "BasicPaintAttribute");
         addString(svgFeatures, "OpacityAttribute");
@@ -134,15 +138,17 @@ static bool isSVG11Feature(const String &feature)
         addString(svgFeatures, "Clip");
         addString(svgFeatures, "BasicClip");
         addString(svgFeatures, "Mask");
+#if ENABLE(SVG_FILTER)
 //      addString(svgFeatures, "Filter");
-//      addString(svgFeatures, "BasicFilter");
+        addString(svgFeatures, "BasicFilter");
+#endif
         addString(svgFeatures, "DocumentEventsAttribute");
         addString(svgFeatures, "GraphicalEventsAttribute");
-        addString(svgFeatures, "AnimationEventsAttribute");
-//      addString(svgFeatures, "Cursor");
+//      addString(svgFeatures, "AnimationEventsAttribute");
+        addString(svgFeatures, "Cursor");
         addString(svgFeatures, "Hyperlinking");
         addString(svgFeatures, "XlinkAttribute");
-//      addString(svgFeatures, "ExternalResourcesRequired");
+        addString(svgFeatures, "ExternalResourcesRequired");
 //      addString(svgFeatures, "View");
         addString(svgFeatures, "Script");
 //      addString(svgFeatures, "Animation");