LayoutTests/imported/w3c:
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 25 Sep 2018 00:40:09 +0000 (00:40 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 25 Sep 2018 00:40:09 +0000 (00:40 +0000)
Remove filterRes parameter from SVG filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

* web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt: Rebaseline

Source/WebCore:
Remove filterRes parameter from SVG filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

Removed existing filterRes tests, added new test checking that it has no effect.

Tests: svg/filters/filterRes-is-noop.svg

* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
* svg/SVGElement.cpp:
(WebCore::SVGElement::animatableAttributeForName):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):
(WebCore::SVGFilterElement::filterResXIdentifier): Deleted.
(WebCore::SVGFilterElement::filterResYIdentifier): Deleted.
(WebCore::SVGFilterElement::setFilterRes): Deleted.
* svg/SVGFilterElement.h:
* svg/SVGFilterElement.idl:
* svg/svgattrs.in:

LayoutTests:
Remove filterRes parameter from filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

Removed existing filterRes tests, added new test checking that it has no effect.

* html5lib/resources/tests11.dat: Edited to remove filterRes. This seems to have been superseded by
    imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11.html
* platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
* platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
* platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
* platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
* platform/gtk/svg/filters/filterRes-expected.png: Removed.
* platform/gtk/svg/filters/filterRes1-expected.png: Removed.
* platform/gtk/svg/filters/filterRes3-expected.png: Removed.
* platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Removed.
* platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
* platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
* platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
* platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
* platform/mac/svg/filters/filterRes-expected.png: Removed.
* platform/mac/svg/filters/filterRes1-expected.png: Removed.
* platform/mac/svg/filters/filterRes2-expected.png: Removed.
* platform/mac/svg/filters/filterRes3-expected.png: Removed.
* svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
* svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg:
* svg/dom/SVGAnimatedInteger-expected.txt:
* svg/dom/SVGAnimatedInteger.html: Change to use feConvolveMatrix orderX.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt: Removed.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: Removed.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt: Removed.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: Removed.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt: Removed.
* svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: Removed.
* svg/filters/filterRes-is-noop-expected.svg: Added.
* svg/filters/filterRes-is-noop.svg: Added.
* svg/filters/filterRes.svg: Removed.
* svg/filters/filterRes1-expected.txt: Removed.
* svg/filters/filterRes1.svg: Removed.
* svg/filters/filterRes2-expected.png: Removed.
* svg/filters/filterRes2-expected.txt: Removed.
* svg/filters/filterRes2.svg: Removed.
* svg/filters/filterRes3-expected.txt: Removed.
* svg/filters/filterRes3.svg: Removed.

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

49 files changed:
LayoutTests/ChangeLog
LayoutTests/html5lib/resources/tests11.dat
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt
LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png [deleted file]
LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png [deleted file]
LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png [deleted file]
LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png [deleted file]
LayoutTests/platform/gtk/svg/filters/filterRes-expected.png [deleted file]
LayoutTests/platform/gtk/svg/filters/filterRes1-expected.png [deleted file]
LayoutTests/platform/gtk/svg/filters/filterRes3-expected.png [deleted file]
LayoutTests/platform/ios/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt [deleted file]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png [deleted file]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png [deleted file]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png [deleted file]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png [deleted file]
LayoutTests/platform/mac/svg/filters/filterRes-expected.png [deleted file]
LayoutTests/platform/mac/svg/filters/filterRes1-expected.png [deleted file]
LayoutTests/platform/mac/svg/filters/filterRes2-expected.png [deleted file]
LayoutTests/platform/mac/svg/filters/filterRes3-expected.png [deleted file]
LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
LayoutTests/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
LayoutTests/svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
LayoutTests/svg/dom/SVGAnimatedInteger-expected.txt
LayoutTests/svg/dom/SVGAnimatedInteger.html
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt [deleted file]
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html [deleted file]
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt [deleted file]
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html [deleted file]
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt [deleted file]
LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html [deleted file]
LayoutTests/svg/filters/filterRes-is-noop-expected.svg [new file with mode: 0644]
LayoutTests/svg/filters/filterRes-is-noop.svg [new file with mode: 0644]
LayoutTests/svg/filters/filterRes.svg [deleted file]
LayoutTests/svg/filters/filterRes1-expected.txt [deleted file]
LayoutTests/svg/filters/filterRes1.svg [deleted file]
LayoutTests/svg/filters/filterRes2-expected.png [deleted file]
LayoutTests/svg/filters/filterRes2-expected.txt [deleted file]
LayoutTests/svg/filters/filterRes2.svg [deleted file]
LayoutTests/svg/filters/filterRes3-expected.txt [deleted file]
LayoutTests/svg/filters/filterRes3.svg [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
Source/WebCore/svg/SVGElement.cpp
Source/WebCore/svg/SVGFilterElement.cpp
Source/WebCore/svg/SVGFilterElement.h
Source/WebCore/svg/SVGFilterElement.idl
Source/WebCore/svg/svgattrs.in

index 4954147..53ce7c5 100644 (file)
@@ -1,3 +1,56 @@
+2018-09-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Remove filterRes parameter from filters
+        https://bugs.webkit.org/show_bug.cgi?id=129565
+        <rdar://problem/44714340>
+
+        Reviewed by Dean Jackson.
+
+        Remove support for the "filterRes" attribute on SVG filters. It's marked as
+        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
+        and no longer supported by Chrome or Firefox.
+        
+        Removed existing filterRes tests, added new test checking that it has no effect.
+
+        * html5lib/resources/tests11.dat: Edited to remove filterRes. This seems to have been superseded by
+            imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11.html
+        * platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
+        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
+        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
+        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
+        * platform/gtk/svg/filters/filterRes-expected.png: Removed.
+        * platform/gtk/svg/filters/filterRes1-expected.png: Removed.
+        * platform/gtk/svg/filters/filterRes3-expected.png: Removed.
+        * platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Removed.
+        * platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
+        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
+        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
+        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
+        * platform/mac/svg/filters/filterRes-expected.png: Removed.
+        * platform/mac/svg/filters/filterRes1-expected.png: Removed.
+        * platform/mac/svg/filters/filterRes2-expected.png: Removed.
+        * platform/mac/svg/filters/filterRes3-expected.png: Removed.
+        * svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
+        * svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg:
+        * svg/dom/SVGAnimatedInteger-expected.txt:
+        * svg/dom/SVGAnimatedInteger.html: Change to use feConvolveMatrix orderX.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt: Removed.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: Removed.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt: Removed.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: Removed.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt: Removed.
+        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: Removed.
+        * svg/filters/filterRes-is-noop-expected.svg: Added.
+        * svg/filters/filterRes-is-noop.svg: Added.
+        * svg/filters/filterRes.svg: Removed.
+        * svg/filters/filterRes1-expected.txt: Removed.
+        * svg/filters/filterRes1.svg: Removed.
+        * svg/filters/filterRes2-expected.png: Removed.
+        * svg/filters/filterRes2-expected.txt: Removed.
+        * svg/filters/filterRes2.svg: Removed.
+        * svg/filters/filterRes3-expected.txt: Removed.
+        * svg/filters/filterRes3.svg: Removed.
+
 2018-09-24  Justin Michaud  <justin_michaud@apple.com>
 
         Import WPT tests for css custom properties api
index 638cde4..f29272b 100644 (file)
@@ -1,5 +1,5 @@
 #data
-<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterRes='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>
+<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>
 #errors
 #document
 | <!DOCTYPE html>
@@ -18,7 +18,6 @@
 |       diffuseConstant=""
 |       edgeMode=""
 |       externalResourcesRequired=""
-|       filterRes=""
 |       filterUnits=""
 |       glyphRef=""
 |       gradientTransform=""
@@ -71,7 +70,7 @@
 |       zoomAndPan=""
 
 #data
-<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' DIFFUSECONSTANT='' EDGEMODE='' EXTERNALRESOURCESREQUIRED='' FILTERRES='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>
+<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' DIFFUSECONSTANT='' EDGEMODE='' EXTERNALRESOURCESREQUIRED='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>
 #errors
 #document
 | <!DOCTYPE html>
@@ -90,7 +89,6 @@
 |       diffuseConstant=""
 |       edgeMode=""
 |       externalResourcesRequired=""
-|       filterRes=""
 |       filterUnits=""
 |       glyphRef=""
 |       gradientTransform=""
 |       zoomAndPan=""
 
 #data
-<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' contentscripttype='' contentstyletype='' diffuseconstant='' edgemode='' externalresourcesrequired='' filterres='' filterunits='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>
+<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' contentscripttype='' contentstyletype='' diffuseconstant='' edgemode='' externalresourcesrequired='' filterunits='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>
 #errors
 #document
 | <!DOCTYPE html>
 |       diffuseConstant=""
 |       edgeMode=""
 |       externalResourcesRequired=""
-|       filterRes=""
 |       filterUnits=""
 |       glyphRef=""
 |       gradientTransform=""
 |       zoomAndPan=""
 
 #data
-<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterRes='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>
+<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>
 #errors
 #document
 | <!DOCTYPE html>
 |       diffuseconstant=""
 |       edgemode=""
 |       externalresourcesrequired=""
-|       filterres=""
 |       filterunits=""
 |       glyphref=""
 |       gradienttransform=""
index a0d2cd2..bdbc08a 100644 (file)
@@ -1,3 +1,17 @@
+2018-09-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Remove filterRes parameter from SVG filters
+        https://bugs.webkit.org/show_bug.cgi?id=129565
+        <rdar://problem/44714340>
+
+        Reviewed by Dean Jackson.
+        
+        Remove support for the "filterRes" attribute on SVG filters. It's marked as
+        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
+        and no longer supported by Chrome or Firefox.
+
+        * web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt: Rebaseline
+
 2018-09-24  Justin Michaud  <justin_michaud@apple.com>
 
         Import WPT tests for css custom properties api
index 874d90a..5f30fc8 100644 (file)
@@ -6,156 +6,17 @@ html5lib Parser Test
 
 PASS html5lib_tests11.html ba7a66dfcf59885c08e8638d15b01df3878531e7 
 PASS html5lib_tests11.html e69c7c08a54ca868ab33b2825d998fa6c3cac90e 
-FAIL html5lib_tests11.html 0e5897aafe87e460f84576c2d1d983504d12a7db assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       attributeName=\"\"\n|       attributeType=\"\"\n|       baseFrequency=\"\"\n|       baseProfile=\"\"\n|       calcMode=\"\"\n|       clipPathUnits=\"\"\n|       diffuseConstant=\"\"\n|       edgeMode=\"\"\n|       filterUnits=\"\"\n|       filterres=\"\"\n|       glyphRef=\"\"\n|       gradientTransform=\"\"\n|       gradientUnits=\"\"\n|       kernelMatrix=\"\"\n|       kernelUnitLength=\"\"\n|       keyPoints=\"\"\n|       keySplines=\"\"\n|       keyTimes=\"\"\n|       lengthAdjust=\"\"\n|       limitingConeAngle=\"\"\n|       markerHeight=\"\"\n|       markerUnits=\"\"\n|       markerWidth=\"\"\n|       maskContentUnits=\"\"\n|       maskUnits=\"\"\n|       numOctaves=\"\"\n|       pathLength=\"\"\n|       patternContentUnits=\"\"\n|       patternTransform=\"\"\n|       patternUnits=\"\"\n|       pointsAtX=\"\"\n|       pointsAtY=\"\"\n|       pointsAtZ=\"\"\n|       preserveAlpha=\"\"\n|       preserveAspectRatio=\"\"\n|       primitiveUnits=\"\"\n|       refX=\"\"\n|       refY=\"\"\n|       repeatCount=\"\"\n|       repeatDur=\"\"\n|       requiredExtensions=\"\"\n|       requiredFeatures=\"\"\n|       specularConstant=\"\"\n|       specularExponent=\"\"\n|       spreadMethod=\"\"\n|       startOffset=\"\"\n|       stdDeviation=\"\"\n|       stitchTiles=\"\"\n|       surfaceScale=\"\"\n|       systemLanguage=\"\"\n|       tableValues=\"\"\n|       targetX=\"\"\n|       targetY=\"\"\n|       textLength=\"\"\n|       viewBox=\"\"\n|       viewTarget=\"\"\n|       xChannelSelector=\"\"\n|       yChannelSelector=\"\"\n|       zoomAndPan=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       attributeName=\"\"\n|       attributeType=\"\"\n|       baseFrequency=\"\"\n|       baseProfile=\"\"\n|       calcMode=\"\"\n|       clipPathUnits=\"\"\n|       diffuseConstant=\"\"\n|       edgeMode=\"\"\n|       filterRes=\"\"\n|       filterUnits=\"\"\n|       glyphRef=\"\"\n|       gradientTransform=\"\"\n|       gradientUnits=\"\"\n|       kernelMatrix=\"\"\n|       kernelUnitLength=\"\"\n|       keyPoints=\"\"\n|       keySplines=\"\"\n|       keyTimes=\"\"\n|       lengthAdjust=\"\"\n|       limitingConeAngle=\"\"\n|       markerHeight=\"\"\n|       markerUnits=\"\"\n|       markerWidth=\"\"\n|       maskContentUnits=\"\"\n|       maskUnits=\"\"\n|       numOctaves=\"\"\n|       pathLength=\"\"\n|       patternContentUnits=\"\"\n|       patternTransform=\"\"\n|       patternUnits=\"\"\n|       pointsAtX=\"\"\n|       pointsAtY=\"\"\n|       pointsAtZ=\"\"\n|       preserveAlpha=\"\"\n|       preserveAspectRatio=\"\"\n|       primitiveUnits=\"\"\n|       refX=\"\"\n|       refY=\"\"\n|       repeatCount=\"\"\n|       repeatDur=\"\"\n|       requiredExtensions=\"\"\n|       requiredFeatures=\"\"\n|       specularConstant=\"\"\n|       specularExponent=\"\"\n|       spreadMethod=\"\"\n|       startOffset=\"\"\n|       stdDeviation=\"\"\n|       stitchTiles=\"\"\n|       surfaceScale=\"\"\n|       systemLanguage=\"\"\n|       tableValues=\"\"\n|       targetX=\"\"\n|       targetY=\"\"\n|       textLength=\"\"\n|       viewBox=\"\"\n|       viewTarget=\"\"\n|       xChannelSelector=\"\"\n|       yChannelSelector=\"\"\n|       zoomAndPan=\"\""
+PASS html5lib_tests11.html 0e5897aafe87e460f84576c2d1d983504d12a7db 
 PASS html5lib_tests11.html f71dd198831309fc9ccd66ef91cde63fda9b9bda 
-FAIL html5lib_tests11.html a8f7a23601363454b4a13f66aed99ec9708ae87b assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterRes=\"\""
-FAIL html5lib_tests11.html f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterRes=\"\""
-FAIL html5lib_tests11.html fb4dc9f70129a8a045fca3a1e3acee052d0990b3 assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterRes=\"\""
+FAIL html5lib_tests11.html a8f7a23601363454b4a13f66aed99ec9708ae87b assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterres=\"\""
+FAIL html5lib_tests11.html f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterres=\"\""
+FAIL html5lib_tests11.html fb4dc9f70129a8a045fca3a1e3acee052d0990b3 assert_equals: expected "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentscripttype=\"\"\n|       contentstyletype=\"\"\n|       externalresourcesrequired=\"\"\n|       filterres=\"\"" but got "#document\n| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       contentScriptType=\"\"\n|       contentStyleType=\"\"\n|       externalResourcesRequired=\"\"\n|       filterres=\"\""
 PASS html5lib_tests11.html 8f77b846acce75edf1988ea655c79f1de4321de9 
 PASS html5lib_tests11.html 39c50f080b2b9ae9e7a1070679ab97d7b814f9ec 
 PASS html5lib_tests11.html 6d1fa1599f75625fe4d019abb04a064cf6ed39e8 
 PASS html5lib_tests11.html 791437ece7ba684e00162d1dd79dfe540e3621a7 
 PASS html5lib_tests11.html af40d26164229c29b9be77ed6dd7dda780cba55c 
 PASS html5lib_tests11.html 16e68d18f8f0fb81013fe77a30b7d396c5081e5e 
-0e5897aafe87e460f84576c2d1d983504d12a7db
-
-Input
-
-<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' diffuseconstant='' edgemode='' filterunits='' filterres='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>
-Expected
-
-#document
-| <!DOCTYPE html>
-| <html>
-|   <head>
-|   <body>
-|     <svg svg>
-|       attributeName=""
-|       attributeType=""
-|       baseFrequency=""
-|       baseProfile=""
-|       calcMode=""
-|       clipPathUnits=""
-|       diffuseConstant=""
-|       edgeMode=""
-|       filterUnits=""
-|       filterres=""
-|       glyphRef=""
-|       gradientTransform=""
-|       gradientUnits=""
-|       kernelMatrix=""
-|       kernelUnitLength=""
-|       keyPoints=""
-|       keySplines=""
-|       keyTimes=""
-|       lengthAdjust=""
-|       limitingConeAngle=""
-|       markerHeight=""
-|       markerUnits=""
-|       markerWidth=""
-|       maskContentUnits=""
-|       maskUnits=""
-|       numOctaves=""
-|       pathLength=""
-|       patternContentUnits=""
-|       patternTransform=""
-|       patternUnits=""
-|       pointsAtX=""
-|       pointsAtY=""
-|       pointsAtZ=""
-|       preserveAlpha=""
-|       preserveAspectRatio=""
-|       primitiveUnits=""
-|       refX=""
-|       refY=""
-|       repeatCount=""
-|       repeatDur=""
-|       requiredExtensions=""
-|       requiredFeatures=""
-|       specularConstant=""
-|       specularExponent=""
-|       spreadMethod=""
-|       startOffset=""
-|       stdDeviation=""
-|       stitchTiles=""
-|       surfaceScale=""
-|       systemLanguage=""
-|       tableValues=""
-|       targetX=""
-|       targetY=""
-|       textLength=""
-|       viewBox=""
-|       viewTarget=""
-|       xChannelSelector=""
-|       yChannelSelector=""
-|       zoomAndPan=""
-Actual
-
-#document
-| <!DOCTYPE html>
-| <html>
-|   <head>
-|   <body>
-|     <svg svg>
-|       attributeName=""
-|       attributeType=""
-|       baseFrequency=""
-|       baseProfile=""
-|       calcMode=""
-|       clipPathUnits=""
-|       diffuseConstant=""
-|       edgeMode=""
-|       filterRes=""
-|       filterUnits=""
-|       glyphRef=""
-|       gradientTransform=""
-|       gradientUnits=""
-|       kernelMatrix=""
-|       kernelUnitLength=""
-|       keyPoints=""
-|       keySplines=""
-|       keyTimes=""
-|       lengthAdjust=""
-|       limitingConeAngle=""
-|       markerHeight=""
-|       markerUnits=""
-|       markerWidth=""
-|       maskContentUnits=""
-|       maskUnits=""
-|       numOctaves=""
-|       pathLength=""
-|       patternContentUnits=""
-|       patternTransform=""
-|       patternUnits=""
-|       pointsAtX=""
-|       pointsAtY=""
-|       pointsAtZ=""
-|       preserveAlpha=""
-|       preserveAspectRatio=""
-|       primitiveUnits=""
-|       refX=""
-|       refY=""
-|       repeatCount=""
-|       repeatDur=""
-|       requiredExtensions=""
-|       requiredFeatures=""
-|       specularConstant=""
-|       specularExponent=""
-|       spreadMethod=""
-|       startOffset=""
-|       stdDeviation=""
-|       stitchTiles=""
-|       surfaceScale=""
-|       systemLanguage=""
-|       tableValues=""
-|       targetX=""
-|       targetY=""
-|       textLength=""
-|       viewBox=""
-|       viewTarget=""
-|       xChannelSelector=""
-|       yChannelSelector=""
-|       zoomAndPan=""
 a8f7a23601363454b4a13f66aed99ec9708ae87b
 
 Input
@@ -184,7 +45,7 @@ Actual
 |       contentScriptType=""
 |       contentStyleType=""
 |       externalResourcesRequired=""
-|       filterRes=""
+|       filterres=""
 f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f
 
 Input
@@ -213,7 +74,7 @@ Actual
 |       contentScriptType=""
 |       contentStyleType=""
 |       externalResourcesRequired=""
-|       filterRes=""
+|       filterres=""
 fb4dc9f70129a8a045fca3a1e3acee052d0990b3
 
 Input
@@ -242,5 +103,5 @@ Actual
 |       contentScriptType=""
 |       contentStyleType=""
 |       externalResourcesRequired=""
-|       filterRes=""
+|       filterres=""
 
diff --git a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png b/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png
deleted file mode 100644 (file)
index 0617dad..0000000
Binary files a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png b/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png
deleted file mode 100644 (file)
index c1d98ac..0000000
Binary files a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png b/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png
deleted file mode 100644 (file)
index df40c82..0000000
Binary files a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png b/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png
deleted file mode 100644 (file)
index 149ce5a..0000000
Binary files a/LayoutTests/platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/filters/filterRes-expected.png b/LayoutTests/platform/gtk/svg/filters/filterRes-expected.png
deleted file mode 100644 (file)
index 31a0bc2..0000000
Binary files a/LayoutTests/platform/gtk/svg/filters/filterRes-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/filters/filterRes1-expected.png b/LayoutTests/platform/gtk/svg/filters/filterRes1-expected.png
deleted file mode 100644 (file)
index 46b8694..0000000
Binary files a/LayoutTests/platform/gtk/svg/filters/filterRes1-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/filters/filterRes3-expected.png b/LayoutTests/platform/gtk/svg/filters/filterRes3-expected.png
deleted file mode 100644 (file)
index 46b8694..0000000
Binary files a/LayoutTests/platform/gtk/svg/filters/filterRes3-expected.png and /dev/null differ
index cd84ea9..9d5b1a2 100644 (file)
@@ -88,11 +88,11 @@ layer at (0,0) size 480x360
         RenderSVGText {text} at (10,-1) size 348x10 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 348x10
             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 70 width 347.62: "g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX): PASSED"
-      RenderSVGContainer {g} at (10,189) size 152x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
+      RenderSVGContainer {g} at (10,189) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
         RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 142x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 142x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 141.07: "f.filterResX.baseVal == 0: PASSED"
+        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 132x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 131.07: "c.orderX.baseVal == 0: PASSED"
       RenderSVGContainer {g} at (10,199) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
         RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
         RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
deleted file mode 100644 (file)
index 3b36a8b..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-Blocked access to external URL http://example.org/image.jpg
-layer at (0,0) size 480x360
-  RenderView at (0,0) size 480x360
-layer at (0,0) size 480x360
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-    RenderSVGContainer {g} at (10,49) size 415x230
-      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-        RenderSVGRect {rect} at (0,0) size 1x1 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=1.00] [height=1.00]
-        RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
-        RenderSVGImage {image} at (0,0) size 1x1
-        RenderSVGResourceRadialGradient {radialGradient} [id="g"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50] [focalRadius=0.00]
-        RenderSVGText {text}
-        RenderSVGText {text} at (0,-15) size 74x19 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 74x19
-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 8 width 73.03: "sometext"
-        RenderSVGResourceMarker {marker} [id="m"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=0.00]
-        RenderSVGViewportContainer {svg} at (0,0) size 0x0
-        RenderSVGResourceFilter {filter} [id="f"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        RenderSVGPath {polygon} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [points=""]
-      RenderSVGContainer {g} at (10,49) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
-        RenderSVGRect {rect} at (10,51) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 132x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 30 width 131.07: "r.x.baseVal.value == 0: PASSED"
-      RenderSVGContainer {g} at (10,59) size 291x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
-        RenderSVGRect {rect} at (10,61) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 281x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 281x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 57 width 280.59: "r.x.baseVal.unitType == 1 (SVG_LENGTHTYPE_NUMBER): PASSED"
-      RenderSVGContainer {g} at (10,69) size 235x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
-        RenderSVGRect {rect} at (10,71) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 225x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 225x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 52 width 224.11: "v.width.baseVal.valueInSpecifiedUnits == 100: PASSED"
-      RenderSVGContainer {g} at (10,79) size 332x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
-        RenderSVGRect {rect} at (10,81) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 322x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 322x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 65 width 321.61: "v.width.baseVal.unitType == 2 (SVG_LENGTHTYPE_PERCENTAGE): PASSED"
-      RenderSVGContainer {g} at (10,89) size 289x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
-        RenderSVGRect {rect} at (10,91) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 279x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 279x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 65 width 278.15: "tt.textLength.baseVal.value == tt.getComputedTextLength(): PASSED"
-      RenderSVGContainer {g} at (10,99) size 137x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
-        RenderSVGRect {rect} at (10,101) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 127x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 127x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 126.07: "s.offset.baseVal == 0: PASSED"
-      RenderSVGContainer {g} at (10,109) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
-        RenderSVGRect {rect} at (10,111) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 177x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.09: "c.preserveAlpha.baseVal == false: PASSED"
-      RenderSVGContainer {g} at (10,119) size 160x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
-        RenderSVGRect {rect} at (10,121) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 150x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 150x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 149.95: "c.className.baseVal == \"\": PASSED"
-      RenderSVGContainer {g} at (10,129) size 129x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
-        RenderSVGRect {rect} at (10,131) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 119x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 119x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 28 width 118.45: "i.href.baseVal == \"\": PASSED"
-      RenderSVGContainer {g} at (10,139) size 210x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
-        RenderSVGRect {rect} at (10,141) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 200x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 200x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 45 width 199.58: "i.requiredFeatures.numberOfItems == 0: PASSED"
-      RenderSVGContainer {g} at (10,149) size 228x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
-        RenderSVGRect {rect} at (10,151) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 218x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 218x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 49 width 217.58: "c.kernelMatrix.baseVal.numberOfItems == 0: PASSED"
-      RenderSVGContainer {g} at (10,159) size 182x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
-        RenderSVGRect {rect} at (10,161) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 172x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 172x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 38 width 171.08: "t.x.baseVal.numberOfItems == 0: PASSED"
-      RenderSVGContainer {g} at (10,169) size 169x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
-        RenderSVGRect {rect} at (10,171) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 159x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 159x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 35 width 158.08: "p.points.numberOfItems == 0: PASSED"
-      RenderSVGContainer {g} at (10,179) size 358x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
-        RenderSVGRect {rect} at (10,181) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 348x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 348x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 70 width 347.62: "g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX): PASSED"
-      RenderSVGContainer {g} at (10,189) size 152x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
-        RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 142x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 142x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 141.07: "f.filterResX.baseVal == 0: PASSED"
-      RenderSVGContainer {g} at (10,199) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
-        RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 177x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.59: "m.orientAngle.baseVal.value == 0: PASSED"
-      RenderSVGContainer {g} at (10,209) size 352x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
-        RenderSVGRect {rect} at (10,211) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 342x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 342x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 71 width 341.63: "m.orientAngle.baseVal.unitType == 1 (SVG_ANGLETYPE_UNSPECIFIED): PASSED"
-      RenderSVGContainer {g} at (10,219) size 218x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
-        RenderSVGRect {rect} at (10,221) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 208x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 208x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 49 width 207.10: "v.viewBox.baseVal.[x,y,width,height] == 0: PASSED"
-      RenderSVGContainer {g} at (10,229) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
-        RenderSVGRect {rect} at (10,231) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 205x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 205x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 46 width 204.59: "t.transform.baseVal.numberOfItems == 0: PASSED"
-      RenderSVGContainer {g} at (10,239) size 415x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
-        RenderSVGRect {rect} at (10,241) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 405x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 405x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 83 width 404.14: "v.preserveAspectRatio.baseVal.align == 6 (SVG_PRESERVEASPECTRATIO_XMIDYMID): PASSED"
-      RenderSVGContainer {g} at (10,249) size 377x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
-        RenderSVGRect {rect} at (10,251) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 367x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 367x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 77 width 366.62: "v.preserveAspectRatio.baseVal.meetOrSlice == 1 (SVG_MEETORSLICE_MEET): PASSED"
-      RenderSVGContainer {g} at (10,259) size 277x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
-        RenderSVGRect {rect} at (10,261) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 267x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 267x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 50 width 266.08: "v.zoomAndPan == 2 (SVG_ZOOMANDPAN_MAGNIFY): PASSED"
-      RenderSVGContainer {g} at (10,269) size 96x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
-        RenderSVGRect {rect} at (10,271) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 86x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 86x10
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 85.54: "Test status: PASSED"
-    RenderSVGContainer {g} at (10,314) size 230x33
-      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 230x33
-          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.9 $"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
-    RenderSVGContainer {g} at (0,0) size 480x23
-      RenderSVGRect {rect} at (0,0) size 480x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [x=1.00] [y=1.00] [width=478.00] [height=20.00]
-      RenderSVGText {text} at (204,1) size 72x21 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 72x21
-          chunk 1 (middle anchor) text run 1 at (204.17,18.00) startOffset 0 endOffset 5 width 71.66: "DRAFT"
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png
deleted file mode 100644 (file)
index 56fe62f..0000000
Binary files a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png
deleted file mode 100644 (file)
index 5f4d6db..0000000
Binary files a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png
deleted file mode 100644 (file)
index c54590a..0000000
Binary files a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png
deleted file mode 100644 (file)
index 0b18992..0000000
Binary files a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/filters/filterRes-expected.png b/LayoutTests/platform/mac/svg/filters/filterRes-expected.png
deleted file mode 100644 (file)
index 2f61e07..0000000
Binary files a/LayoutTests/platform/mac/svg/filters/filterRes-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/filters/filterRes1-expected.png b/LayoutTests/platform/mac/svg/filters/filterRes1-expected.png
deleted file mode 100644 (file)
index c8dd7ec..0000000
Binary files a/LayoutTests/platform/mac/svg/filters/filterRes1-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/filters/filterRes2-expected.png b/LayoutTests/platform/mac/svg/filters/filterRes2-expected.png
deleted file mode 100644 (file)
index 38475e5..0000000
Binary files a/LayoutTests/platform/mac/svg/filters/filterRes2-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/filters/filterRes3-expected.png b/LayoutTests/platform/mac/svg/filters/filterRes3-expected.png
deleted file mode 100644 (file)
index c8dd7ec..0000000
Binary files a/LayoutTests/platform/mac/svg/filters/filterRes3-expected.png and /dev/null differ
index b521599..797100e 100644 (file)
@@ -88,11 +88,11 @@ layer at (0,0) size 480x360
         RenderSVGText {text} at (10,-1) size 348x10 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 348x9
             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 70 width 348.00: "g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX): PASSED"
-      RenderSVGContainer {g} at (10,189) size 155x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
+      RenderSVGContainer {g} at (10,189) size 144x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
         RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 145x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 145x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 145.00: "f.filterResX.baseVal == 0: PASSED"
+        RenderSVGText {text} at (10,-1) size 134x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 134x9
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 134.00: "c.orderX.baseVal == 0: PASSED"
       RenderSVGContainer {g} at (10,199) size 190x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
         RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
         RenderSVGText {text} at (10,-1) size 180x10 contains 1 chunk(s)
index 299cc79..5611607 100644 (file)
@@ -4,302 +4,142 @@ layer at (0,0) size 480x360
 layer at (0,0) size 480x360
   RenderSVGRoot {svg} at (0,0) size 480x360
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-    RenderSVGContainer {g} at (10,49) size 410x230
+    RenderSVGContainer {g} at (10,49) size 415x230
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
         RenderSVGRect {rect} at (0,0) size 1x1 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=1.00] [height=1.00]
         RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
         RenderSVGImage {image} at (0,0) size 1x1
         RenderSVGResourceRadialGradient {radialGradient} [id="g"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50] [focalRadius=0.00]
         RenderSVGText {text}
-        RenderSVGText {text} at (0,-15) size 73x19 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 73x18
-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 44.01: "some"
-            chunk 1 text run 2 at (43.83,0.00) startOffset 4 endOffset 5 width 5.00: "t"
-            chunk 1 text run 3 at (48.58,0.00) startOffset 5 endOffset 6 width 10.01: "e"
-            chunk 1 text run 4 at (58.10,0.00) startOffset 6 endOffset 8 width 14.00: "xt"
+        RenderSVGText {text} at (0,-15) size 74x19 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 74x19
+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 8 width 73.03: "sometext"
         RenderSVGResourceMarker {marker} [id="m"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=0.00]
         RenderSVGViewportContainer {svg} at (0,0) size 0x0
         RenderSVGResourceFilter {filter} [id="f"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
         RenderSVGPath {polygon} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [points=""]
-      RenderSVGContainer {g} at (10,49) size 140x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
+      RenderSVGContainer {g} at (10,49) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
         RenderSVGRect {rect} at (10,51) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 130x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 130x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
-            chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
-            chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 13 width 14.00: "al.v"
-            chunk 1 text run 4 at (60.71,7.00) startOffset 13 endOffset 25 width 48.54: "alue == 0: P"
-            chunk 1 text run 5 at (108.54,7.00) startOffset 25 endOffset 30 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,59) size 287x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
+        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 132x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 30 width 131.07: "r.x.baseVal.value == 0: PASSED"
+      RenderSVGContainer {g} at (10,59) size 291x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
         RenderSVGRect {rect} at (10,61) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 277x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 277x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
-            chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
-            chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 17 width 29.51: "al.unitT"
-            chunk 1 text run 4 at (75.47,7.00) startOffset 17 endOffset 28 width 46.53: "ype == 1 (S"
-            chunk 1 text run 5 at (121.63,7.00) startOffset 28 endOffset 29 width 6.00: "V"
-            chunk 1 text run 6 at (127.25,7.00) startOffset 29 endOffset 34 width 29.51: "G_LEN"
-            chunk 1 text run 7 at (156.74,7.00) startOffset 34 endOffset 35 width 7.00: "G"
-            chunk 1 text run 8 at (163.35,7.00) startOffset 35 endOffset 38 width 17.50: "THT"
-            chunk 1 text run 9 at (181.03,7.00) startOffset 38 endOffset 52 width 76.01: "YPE_NUMBER): P"
-            chunk 1 text run 10 at (256.34,7.00) startOffset 52 endOffset 57 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,69) size 232x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
+        RenderSVGText {text} at (10,-1) size 281x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 281x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 57 width 280.59: "r.x.baseVal.unitType == 1 (SVG_LENGTHTYPE_NUMBER): PASSED"
+      RenderSVGContainer {g} at (10,69) size 235x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
         RenderSVGRect {rect} at (10,71) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 222x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 222x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
-            chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
-            chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 17 width 14.00: "al.v"
-            chunk 1 text run 5 at (78.69,7.00) startOffset 17 endOffset 29 width 49.53: "alueInSpecif"
-            chunk 1 text run 6 at (128.20,7.00) startOffset 29 endOffset 33 width 18.50: "iedU"
-            chunk 1 text run 7 at (146.66,7.00) startOffset 33 endOffset 42 width 34.52: "nits == 1"
-            chunk 1 text run 8 at (180.63,7.00) startOffset 42 endOffset 47 width 21.01: "00: P"
-            chunk 1 text run 9 at (200.94,7.00) startOffset 47 endOffset 52 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,79) size 327x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
+        RenderSVGText {text} at (10,-1) size 225x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 225x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 52 width 224.11: "v.width.baseVal.valueInSpecifiedUnits == 100: PASSED"
+      RenderSVGContainer {g} at (10,79) size 332x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
         RenderSVGRect {rect} at (10,81) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 317x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 317x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
-            chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
-            chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 21 width 29.51: "al.unitT"
-            chunk 1 text run 5 at (93.46,7.00) startOffset 21 endOffset 32 width 46.53: "ype == 2 (S"
-            chunk 1 text run 6 at (139.61,7.00) startOffset 32 endOffset 33 width 6.00: "V"
-            chunk 1 text run 7 at (145.23,7.00) startOffset 33 endOffset 38 width 29.51: "G_LEN"
-            chunk 1 text run 8 at (174.73,7.00) startOffset 38 endOffset 39 width 7.00: "G"
-            chunk 1 text run 9 at (181.33,7.00) startOffset 39 endOffset 42 width 17.50: "THT"
-            chunk 1 text run 10 at (199.01,7.00) startOffset 42 endOffset 49 width 41.52: "YPE_PER"
-            chunk 1 text run 11 at (240.38,7.00) startOffset 49 endOffset 53 width 24.50: "CENT"
-            chunk 1 text run 12 at (264.02,7.00) startOffset 53 endOffset 54 width 6.00: "A"
-            chunk 1 text run 13 at (269.71,7.00) startOffset 54 endOffset 60 width 27.01: "GE): P"
-            chunk 1 text run 14 at (296.02,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,89) size 286x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
+        RenderSVGText {text} at (10,-1) size 322x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 322x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 65 width 321.61: "v.width.baseVal.unitType == 2 (SVG_LENGTHTYPE_PERCENTAGE): PASSED"
+      RenderSVGContainer {g} at (10,89) size 289x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
         RenderSVGRect {rect} at (10,91) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 276x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 276x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.01: "tt.t"
-            chunk 1 text run 2 at (19.88,7.00) startOffset 4 endOffset 5 width 5.00: "e"
-            chunk 1 text run 3 at (24.64,7.00) startOffset 5 endOffset 12 width 29.52: "xtLengt"
-            chunk 1 text run 4 at (54.14,7.00) startOffset 12 endOffset 19 width 33.02: "h.baseV"
-            chunk 1 text run 5 at (86.63,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
-            chunk 1 text run 6 at (100.47,7.00) startOffset 23 endOffset 36 width 50.04: "alue == tt.ge"
-            chunk 1 text run 7 at (150.42,7.00) startOffset 36 endOffset 40 width 21.50: "tCom"
-            chunk 1 text run 8 at (171.96,7.00) startOffset 40 endOffset 43 width 12.51: "put"
-            chunk 1 text run 9 at (184.35,7.00) startOffset 43 endOffset 46 width 15.51: "edT"
-            chunk 1 text run 10 at (199.00,7.00) startOffset 46 endOffset 47 width 5.00: "e"
-            chunk 1 text run 11 at (203.76,7.00) startOffset 47 endOffset 54 width 29.52: "xtLengt"
-            chunk 1 text run 12 at (233.25,7.00) startOffset 54 endOffset 60 width 22.00: "h(): P"
-            chunk 1 text run 13 at (254.56,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,99) size 135x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
+        RenderSVGText {text} at (10,-1) size 279x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 279x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 65 width 278.15: "tt.textLength.baseVal.value == tt.getComputedTextLength(): PASSED"
+      RenderSVGContainer {g} at (10,99) size 137x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
         RenderSVGRect {rect} at (10,101) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 125x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 125x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 14.51: "s.of"
-            chunk 1 text run 2 at (24.71,7.00) startOffset 4 endOffset 7 width 12.01: "fse"
-            chunk 1 text run 3 at (36.62,7.00) startOffset 7 endOffset 14 width 30.52: "t.baseV"
-            chunk 1 text run 4 at (66.61,7.00) startOffset 14 endOffset 24 width 38.53: "al == 0: P"
-            chunk 1 text run 5 at (104.44,7.00) startOffset 24 endOffset 29 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,109) size 185x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
+        RenderSVGText {text} at (10,-1) size 127x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 127x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 126.07: "s.offset.baseVal == 0: PASSED"
+      RenderSVGContainer {g} at (10,109) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
         RenderSVGRect {rect} at (10,111) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 175x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 175x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.00: "c.pr"
-            chunk 1 text run 2 at (24.90,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
-            chunk 1 text run 3 at (42.67,7.00) startOffset 8 endOffset 9 width 4.50: "v"
-            chunk 1 text run 4 at (46.98,7.00) startOffset 9 endOffset 21 width 56.03: "eAlpha.baseV"
-            chunk 1 text run 5 at (102.48,7.00) startOffset 21 endOffset 28 width 25.02: "al == f"
-            chunk 1 text run 6 at (127.42,7.00) startOffset 28 endOffset 35 width 27.51: "alse: P"
-            chunk 1 text run 7 at (154.23,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,119) size 159x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 177x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.09: "c.preserveAlpha.baseVal == false: PASSED"
+      RenderSVGContainer {g} at (10,119) size 160x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
         RenderSVGRect {rect} at (10,121) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 149x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 149x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 8 width 34.00: "c.classN"
-            chunk 1 text run 2 at (43.96,7.00) startOffset 8 endOffset 17 width 45.52: "ame.baseV"
-            chunk 1 text run 3 at (88.95,7.00) startOffset 17 endOffset 28 width 39.91: "al == \"\": P"
-            chunk 1 text run 4 at (128.16,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,129) size 128x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
+        RenderSVGText {text} at (10,-1) size 150x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 150x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 149.95: "c.className.baseVal == \"\": PASSED"
+      RenderSVGContainer {g} at (10,129) size 129x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
         RenderSVGRect {rect} at (10,131) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 118x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 118x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 12.50: "i.hr"
-            chunk 1 text run 2 at (22.40,7.00) startOffset 4 endOffset 12 width 35.52: "ef.baseV"
-            chunk 1 text run 3 at (57.39,7.00) startOffset 12 endOffset 23 width 39.91: "al == \"\": P"
-            chunk 1 text run 4 at (96.61,7.00) startOffset 23 endOffset 28 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,139) size 209x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
+        RenderSVGText {text} at (10,-1) size 119x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 119x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 28 width 118.45: "i.href.baseVal == \"\": PASSED"
+      RenderSVGContainer {g} at (10,139) size 210x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
         RenderSVGRect {rect} at (10,141) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 199x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 199x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.50: "i.r"
-            chunk 1 text run 2 at (17.40,7.00) startOffset 3 endOffset 5 width 10.01: "eq"
-            chunk 1 text run 3 at (27.44,7.00) startOffset 5 endOffset 8 width 10.00: "uir"
-            chunk 1 text run 4 at (37.34,7.00) startOffset 8 endOffset 11 width 15.51: "edF"
-            chunk 1 text run 5 at (52.63,7.00) startOffset 11 endOffset 16 width 20.51: "eatur"
-            chunk 1 text run 6 at (73.04,7.00) startOffset 16 endOffset 29 width 57.02: "es.numberOfIt"
-            chunk 1 text run 7 at (129.94,7.00) startOffset 29 endOffset 40 width 48.53: "ems == 0: P"
-            chunk 1 text run 8 at (177.77,7.00) startOffset 40 endOffset 45 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,149) size 227x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
+        RenderSVGText {text} at (10,-1) size 200x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 200x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 45 width 199.58: "i.requiredFeatures.numberOfItems == 0: PASSED"
+      RenderSVGContainer {g} at (10,149) size 228x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
         RenderSVGRect {rect} at (10,151) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 217x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 217x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 11.50: "c.k"
-            chunk 1 text run 2 at (21.31,7.00) startOffset 3 endOffset 12 width 38.01: "ernelMatr"
-            chunk 1 text run 3 at (59.33,7.00) startOffset 12 endOffset 20 width 34.51: "ix.baseV"
-            chunk 1 text run 4 at (93.31,7.00) startOffset 20 endOffset 33 width 54.52: "al.numberOfIt"
-            chunk 1 text run 5 at (147.71,7.00) startOffset 33 endOffset 44 width 48.53: "ems == 0: P"
-            chunk 1 text run 6 at (195.53,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,159) size 180x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
+        RenderSVGText {text} at (10,-1) size 218x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 218x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 49 width 217.58: "c.kernelMatrix.baseVal.numberOfItems == 0: PASSED"
+      RenderSVGContainer {g} at (10,159) size 182x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
         RenderSVGRect {rect} at (10,161) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 170x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 170x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 9 width 37.52: "t.x.baseV"
-            chunk 1 text run 2 at (46.99,7.00) startOffset 9 endOffset 22 width 54.52: "al.numberOfIt"
-            chunk 1 text run 3 at (101.39,7.00) startOffset 22 endOffset 33 width 48.53: "ems == 0: P"
-            chunk 1 text run 4 at (149.21,7.00) startOffset 33 endOffset 38 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,169) size 168x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
+        RenderSVGText {text} at (10,-1) size 172x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 172x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 38 width 171.08: "t.x.baseVal.numberOfItems == 0: PASSED"
+      RenderSVGContainer {g} at (10,169) size 169x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
         RenderSVGRect {rect} at (10,171) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 158x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 158x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 79.04: "p.points.numberOfIt"
-            chunk 1 text run 2 at (88.91,7.00) startOffset 19 endOffset 30 width 48.53: "ems == 0: P"
-            chunk 1 text run 3 at (136.74,7.00) startOffset 30 endOffset 35 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,179) size 356x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
+        RenderSVGText {text} at (10,-1) size 159x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 159x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 35 width 158.08: "p.points.numberOfItems == 0: PASSED"
+      RenderSVGContainer {g} at (10,179) size 358x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
         RenderSVGRect {rect} at (10,181) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 346x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 346x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.51: "g.gr"
-            chunk 1 text run 2 at (25.46,7.00) startOffset 4 endOffset 11 width 31.01: "adientU"
-            chunk 1 text run 3 at (56.44,7.00) startOffset 11 endOffset 21 width 42.02: "nits.baseV"
-            chunk 1 text run 4 at (97.93,7.00) startOffset 21 endOffset 31 width 39.02: "al == 2 (S"
-            chunk 1 text run 5 at (136.58,7.00) startOffset 31 endOffset 32 width 6.00: "V"
-            chunk 1 text run 6 at (142.20,7.00) startOffset 32 endOffset 40 width 43.51: "G_UNIT_T"
-            chunk 1 text run 7 at (185.89,7.00) startOffset 40 endOffset 51 width 64.52: "YPE_OBJECTB"
-            chunk 1 text run 8 at (250.34,7.00) startOffset 51 endOffset 57 width 35.50: "OUNDIN"
-            chunk 1 text run 9 at (285.82,7.00) startOffset 57 endOffset 59 width 13.01: "GB"
-            chunk 1 text run 10 at (298.76,7.00) startOffset 59 endOffset 60 width 7.00: "O"
-            chunk 1 text run 11 at (305.35,7.00) startOffset 60 endOffset 65 width 20.01: "X): P"
-            chunk 1 text run 12 at (324.66,7.00) startOffset 65 endOffset 70 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,189) size 150x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
+        RenderSVGText {text} at (10,-1) size 348x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 348x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 70 width 347.62: "g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX): PASSED"
+      RenderSVGContainer {g} at (10,189) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
         RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 140x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 140x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.51: "f.f"
-            chunk 1 text run 2 at (17.49,7.00) startOffset 3 endOffset 6 width 6.50: "ilt"
-            chunk 1 text run 3 at (23.86,7.00) startOffset 6 endOffset 9 width 14.50: "erR"
-            chunk 1 text run 4 at (38.25,7.00) startOffset 9 endOffset 18 width 43.52: "esX.baseV"
-            chunk 1 text run 5 at (81.24,7.00) startOffset 18 endOffset 28 width 38.53: "al == 0: P"
-            chunk 1 text run 6 at (119.07,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,199) size 186x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
+        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 132x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 131.07: "c.orderX.baseVal == 0: PASSED"
+      RenderSVGContainer {g} at (10,199) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
         RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 176x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 176x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
-            chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
-            chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
-            chunk 1 text run 4 at (106.86,7.00) startOffset 23 endOffset 35 width 48.54: "alue == 0: P"
-            chunk 1 text run 5 at (154.69,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,209) size 349x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
+        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 177x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.59: "m.orientAngle.baseVal.value == 0: PASSED"
+      RenderSVGContainer {g} at (10,209) size 352x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
         RenderSVGRect {rect} at (10,211) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 339x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 339x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
-            chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
-            chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 27 width 29.51: "al.unitT"
-            chunk 1 text run 4 at (121.63,7.00) startOffset 27 endOffset 38 width 46.53: "ype == 1 (S"
-            chunk 1 text run 5 at (167.78,7.00) startOffset 38 endOffset 39 width 6.00: "V"
-            chunk 1 text run 6 at (173.40,7.00) startOffset 39 endOffset 43 width 24.51: "G_AN"
-            chunk 1 text run 7 at (197.89,7.00) startOffset 43 endOffset 47 width 23.51: "GLET"
-            chunk 1 text run 8 at (221.58,7.00) startOffset 47 endOffset 66 width 97.52: "YPE_UNSPECIFIED): P"
-            chunk 1 text run 9 at (318.40,7.00) startOffset 66 endOffset 71 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,219) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
+        RenderSVGText {text} at (10,-1) size 342x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 342x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 71 width 341.63: "m.orientAngle.baseVal.unitType == 1 (SVG_ANGLETYPE_UNSPECIFIED): PASSED"
+      RenderSVGContainer {g} at (10,219) size 218x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
         RenderSVGRect {rect} at (10,221) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 205x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 205x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 5 width 14.00: ".vie"
-            chunk 1 text run 3 at (27.80,7.00) startOffset 5 endOffset 8 width 17.50: "wBo"
-            chunk 1 text run 4 at (45.06,7.00) startOffset 8 endOffset 15 width 32.52: "x.baseV"
-            chunk 1 text run 5 at (77.05,7.00) startOffset 15 endOffset 22 width 23.51: "al.[x,y"
-            chunk 1 text run 6 at (99.93,7.00) startOffset 22 endOffset 27 width 18.50: ",widt"
-            chunk 1 text run 7 at (118.40,7.00) startOffset 27 endOffset 44 width 66.05: "h,height] == 0: P"
-            chunk 1 text run 8 at (183.75,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,229) size 214x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
+        RenderSVGText {text} at (10,-1) size 208x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 208x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 49 width 207.10: "v.viewBox.baseVal.[x,y,width,height] == 0: PASSED"
+      RenderSVGContainer {g} at (10,229) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
         RenderSVGRect {rect} at (10,231) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 204x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 204x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.50: "t.tr"
-            chunk 1 text run 2 at (20.46,7.00) startOffset 4 endOffset 8 width 17.01: "ansf"
-            chunk 1 text run 3 at (37.38,7.00) startOffset 8 endOffset 17 width 43.51: "orm.baseV"
-            chunk 1 text run 4 at (80.36,7.00) startOffset 17 endOffset 30 width 54.52: "al.numberOfIt"
-            chunk 1 text run 5 at (134.76,7.00) startOffset 30 endOffset 41 width 48.53: "ems == 0: P"
-            chunk 1 text run 6 at (182.58,7.00) startOffset 41 endOffset 46 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,239) size 410x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
+        RenderSVGText {text} at (10,-1) size 205x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 205x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 46 width 204.59: "t.transform.baseVal.numberOfItems == 0: PASSED"
+      RenderSVGContainer {g} at (10,239) size 415x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
         RenderSVGRect {rect} at (10,241) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 400x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 400x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
-            chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
-            chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
-            chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
-            chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
-            chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 43 width 60.53: "al.align == 6 (S"
-            chunk 1 text run 8 at (187.39,7.00) startOffset 43 endOffset 44 width 6.00: "V"
-            chunk 1 text run 9 at (193.01,7.00) startOffset 44 endOffset 52 width 49.01: "G_PRESER"
-            chunk 1 text run 10 at (241.68,7.00) startOffset 52 endOffset 62 width 60.52: "VEASPECTRA"
-            chunk 1 text run 11 at (301.36,7.00) startOffset 62 endOffset 70 width 42.51: "TIO_XMID"
-            chunk 1 text run 12 at (343.30,7.00) startOffset 70 endOffset 78 width 36.50: "YMID): P"
-            chunk 1 text run 13 at (379.10,7.00) startOffset 78 endOffset 83 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,249) size 374x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
+        RenderSVGText {text} at (10,-1) size 405x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 405x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 83 width 404.14: "v.preserveAspectRatio.baseVal.align == 6 (SVG_PRESERVEASPECTRATIO_XMIDYMID): PASSED"
+      RenderSVGContainer {g} at (10,249) size 377x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
         RenderSVGRect {rect} at (10,251) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 364x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 364x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
-            chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
-            chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
-            chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
-            chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
-            chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 33 width 27.01: "al.mee"
-            chunk 1 text run 8 at (154.15,7.00) startOffset 33 endOffset 49 width 64.03: "tOrSlice == 1 (S"
-            chunk 1 text run 9 at (217.80,7.00) startOffset 49 endOffset 50 width 6.00: "V"
-            chunk 1 text run 10 at (223.43,7.00) startOffset 50 endOffset 56 width 37.01: "G_MEET"
-            chunk 1 text run 11 at (260.06,7.00) startOffset 56 endOffset 72 width 83.52: "ORSLICE_MEET): P"
-            chunk 1 text run 12 at (342.87,7.00) startOffset 72 endOffset 77 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,259) size 273x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
+        RenderSVGText {text} at (10,-1) size 367x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 367x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 77 width 366.62: "v.preserveAspectRatio.baseVal.meetOrSlice == 1 (SVG_MEETORSLICE_MEET): PASSED"
+      RenderSVGContainer {g} at (10,259) size 277x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
         RenderSVGRect {rect} at (10,261) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 263x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 263x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
-            chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 10 width 46.52: ".zoomAndP"
-            chunk 1 text run 3 at (60.15,7.00) startOffset 10 endOffset 20 width 42.03: "an == 2 (S"
-            chunk 1 text run 4 at (101.80,7.00) startOffset 20 endOffset 21 width 6.00: "V"
-            chunk 1 text run 5 at (107.42,7.00) startOffset 21 endOffset 31 width 64.01: "G_ZOOMANDP"
-            chunk 1 text run 6 at (170.73,7.00) startOffset 31 endOffset 36 width 31.01: "AN_MA"
-            chunk 1 text run 7 at (201.42,7.00) startOffset 36 endOffset 45 width 41.51: "GNIFY): P"
-            chunk 1 text run 8 at (242.23,7.00) startOffset 45 endOffset 50 width 30.51: "ASSED"
-      RenderSVGContainer {g} at (10,269) size 94x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
+        RenderSVGText {text} at (10,-1) size 267x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 267x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 50 width 266.08: "v.zoomAndPan == 2 (SVG_ZOOMANDPAN_MAGNIFY): PASSED"
+      RenderSVGContainer {g} at (10,269) size 96x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
         RenderSVGRect {rect} at (10,271) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
-        RenderSVGText {text} at (10,-1) size 84x10 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 84x9
-            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 5.50: "T"
-            chunk 1 text run 2 at (14.64,7.00) startOffset 1 endOffset 3 width 9.50: "es"
-            chunk 1 text run 3 at (24.12,7.00) startOffset 3 endOffset 6 width 9.50: "t s"
-            chunk 1 text run 4 at (33.60,7.00) startOffset 6 endOffset 7 width 2.50: "t"
-            chunk 1 text run 5 at (36.09,7.00) startOffset 7 endOffset 14 width 28.02: "atus: P"
-            chunk 1 text run 6 at (63.41,7.00) startOffset 14 endOffset 19 width 30.51: "ASSED"
-    RenderSVGContainer {g} at (10,314) size 227x33
-      RenderSVGText {text} at (10,314) size 227x33 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 227x32
-          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 2 width 40.90: "$R"
-          chunk 1 text run 2 at (50.51,340.00) startOffset 2 endOffset 3 width 17.79: "e"
-          chunk 1 text run 3 at (67.82,340.00) startOffset 3 endOffset 12 width 117.38: "vision: 1"
-          chunk 1 text run 4 at (182.83,340.00) startOffset 12 endOffset 16 width 53.38: ".9 $"
+        RenderSVGText {text} at (10,-1) size 86x10 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 86x10
+            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 85.54: "Test status: PASSED"
+    RenderSVGContainer {g} at (10,314) size 230x33
+      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
+        RenderSVGInlineText {#text} at (0,0) size 230x33
+          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.9 $"
     RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
     RenderSVGContainer {g} at (0,0) size 480x23
       RenderSVGRect {rect} at (0,0) size 480x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [x=1.00] [y=1.00] [width=478.00] [height=20.00]
-      RenderSVGText {text} at (206,2) size 68x20 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 67x20
-          chunk 1 (middle anchor) text run 1 at (206.67,18.00) startOffset 0 endOffset 5 width 66.66: "DRAFT"
+      RenderSVGText {text} at (204,1) size 72x21 contains 1 chunk(s)
+        RenderSVGInlineText {#text} at (0,0) size 72x21
+          chunk 1 (middle anchor) text run 1 at (204.17,18.00) startOffset 0 endOffset 5 width 71.66: "DRAFT"
index bd6f6b1..e1acead 100644 (file)
         new Subtest("g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)", "g.gradientUnits.baseVal == 2"),
 
         // SVGAnimatedInteger
-        new Subtest("f.filterResX.baseVal == 0"),
+        new Subtest("c.orderX.baseVal == 0"),
         
         // SVGAnimatedAngle
         new Subtest("m.orientAngle.baseVal.value == 0"),
index b779208..720864c 100644 (file)
@@ -1,29 +1,29 @@
-This test checks the SVGAnimatedInteger API - utilizing the filterResX property of SVGFilterElement
+This test checks the SVGAnimatedInteger API - utilizing the orderX property of feConvolveMatrix
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
 
 Check initial filterResX value
-PASS filterElement.filterResX.toString() is "[object SVGAnimatedInteger]"
-PASS typeof(filterElement.filterResX.baseVal) is "number"
-PASS filterElement.filterResX.baseVal is 0
+PASS convolveMatrix.orderX.toString() is "[object SVGAnimatedInteger]"
+PASS typeof(convolveMatrix.orderX.baseVal) is "number"
+PASS convolveMatrix.orderX.baseVal is 0
 
 Check that integers are static, caching value in a local variable and modifying it, should have no effect
 PASS numRef is 100
-PASS filterElement.filterResX.baseVal is 0
+PASS convolveMatrix.orderX.baseVal is 0
 
 Check assigning various valid and invalid values
-PASS filterElement.filterResX.baseVal = -1 is -1
-PASS filterElement.filterResX.baseVal = 300 is 300
-PASS filterElement.filterResX.baseVal = 'aString' is 'aString'
-PASS filterElement.filterResX.baseVal is 0
-PASS filterElement.filterResX.baseVal = filterElement is filterElement
-PASS filterElement.filterResX.baseVal is 0
-PASS filterElement.filterResX.baseVal = 300 is 300
+PASS convolveMatrix.orderX.baseVal = -1 is -1
+PASS convolveMatrix.orderX.baseVal = 300 is 300
+PASS convolveMatrix.orderX.baseVal = 'aString' is 'aString'
+PASS convolveMatrix.orderX.baseVal is 0
+PASS convolveMatrix.orderX.baseVal = convolveMatrix is convolveMatrix
+PASS convolveMatrix.orderX.baseVal is 0
+PASS convolveMatrix.orderX.baseVal = 300 is 300
 
 Check that the filterResX value remained 300
-PASS filterElement.filterResX.baseVal is 300
+PASS convolveMatrix.orderX.baseVal is 300
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 1fbb12f..f63cf18 100644 (file)
@@ -7,37 +7,37 @@
 <p id="description"></p>
 <div id="console"></div>
 <script>
-description("This test checks the SVGAnimatedInteger API - utilizing the filterResX property of SVGFilterElement");
+description("This test checks the SVGAnimatedInteger API - utilizing the orderX property of feConvolveMatrix");
 
-var filterElement = document.createElementNS("http://www.w3.org/2000/svg", "filter");
+var convolveMatrix = document.createElementNS("http://www.w3.org/2000/svg", "feConvolveMatrix");
 
 debug("");
 debug("Check initial filterResX value");
-shouldBeEqualToString("filterElement.filterResX.toString()", "[object SVGAnimatedInteger]");
-shouldBeEqualToString("typeof(filterElement.filterResX.baseVal)", "number");
-shouldBe("filterElement.filterResX.baseVal", "0");
+shouldBeEqualToString("convolveMatrix.orderX.toString()", "[object SVGAnimatedInteger]");
+shouldBeEqualToString("typeof(convolveMatrix.orderX.baseVal)", "number");
+shouldBe("convolveMatrix.orderX.baseVal", "0");
 
 debug("");
 debug("Check that integers are static, caching value in a local variable and modifying it, should have no effect");
-var numRef = filterElement.filterResX.baseVal;
+var numRef = convolveMatrix.orderX.baseVal;
 numRef = 100;
 shouldBe("numRef", "100");
-shouldBe("filterElement.filterResX.baseVal", "0");
+shouldBe("convolveMatrix.orderX.baseVal", "0");
 
 debug("");
 debug("Check assigning various valid and invalid values");
-shouldBe("filterElement.filterResX.baseVal = -1", "-1"); // Negative values are allowed from SVG DOM, but should lead to an error when rendering (disable the filter)
-shouldBe("filterElement.filterResX.baseVal = 300", "300");
+shouldBe("convolveMatrix.orderX.baseVal = -1", "-1"); // Negative values are allowed from SVG DOM, but should lead to an error when rendering (disable the filter)
+shouldBe("convolveMatrix.orderX.baseVal = 300", "300");
 // ECMA-262, 9.5, "ToInt32"
-shouldBe("filterElement.filterResX.baseVal = 'aString'", "'aString'");
-shouldBe("filterElement.filterResX.baseVal", "0");
-shouldBe("filterElement.filterResX.baseVal = filterElement", "filterElement");
-shouldBe("filterElement.filterResX.baseVal", "0");
-shouldBe("filterElement.filterResX.baseVal = 300", "300");
+shouldBe("convolveMatrix.orderX.baseVal = 'aString'", "'aString'");
+shouldBe("convolveMatrix.orderX.baseVal", "0");
+shouldBe("convolveMatrix.orderX.baseVal = convolveMatrix", "convolveMatrix");
+shouldBe("convolveMatrix.orderX.baseVal", "0");
+shouldBe("convolveMatrix.orderX.baseVal = 300", "300");
 
 debug("");
 debug("Check that the filterResX value remained 300");
-shouldBe("filterElement.filterResX.baseVal", "300");
+shouldBe("convolveMatrix.orderX.baseVal", "300");
 
 successfullyParsed = true;
 </script>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt
deleted file mode 100644 (file)
index 44e4eb5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-SVG 1.1 dynamic update tests
-
-Tests dynamic updates of the 'setFilterRes' call of the SVGFilterElement object
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS filterElement.filterResX.baseVal is 400
-PASS filterElement.filterResY.baseVal is 400
-PASS filterElement.filterResX.baseVal is 200
-PASS filterElement.filterResY.baseVal is 200
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
deleted file mode 100644 (file)
index 4ec09b1..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="resources/SVGTestCase.js"></script>
-<script src="../../resources/js-test-pre.js"></script>
-<script src="../../fast/repaint/resources/repaint.js"></script>
-</head>
-<body onload="runRepaintTest()">
-<h1>SVG 1.1 dynamic update tests</h1>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-// [Name] SVGFilterElement-svgdom-filterRes-call.js
-// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
-
-description("Tests dynamic updates of the 'setFilterRes' call of the SVGFilterElement object")
-createSVGTestCase();
-
-var pointLight = createSVGElement("fePointLight");
-pointLight.setAttribute("x", "100");
-pointLight.setAttribute("y", "100");
-pointLight.setAttribute("z", "30");
-
-var gradientElement = createSVGElement("feDiffuseLighting");
-gradientElement.setAttribute("in", "SourceGraphic");
-gradientElement.setAttribute("diffuseConstant", "1");
-gradientElement.setAttribute("lighting-color", "yellow");
-gradientElement.appendChild(pointLight);
-
-var filterElement = createSVGElement("filter");
-filterElement.setAttribute("id", "myFilter");
-filterElement.setAttribute("filterUnits", "userSpaceOnUse");
-filterElement.setAttribute("x", "0");
-filterElement.setAttribute("y", "0");
-filterElement.setAttribute("width", "200");
-filterElement.setAttribute("height", "200");
-filterElement.setAttribute("filterRes", "400");
-filterElement.appendChild(gradientElement);
-
-var defsElement = createSVGElement("defs");
-defsElement.appendChild(filterElement);
-
-rootSVGElement.appendChild(defsElement);
-
-var rectElement = createSVGElement("rect");
-rectElement.setAttribute("x", "0");
-rectElement.setAttribute("y", "0");
-rectElement.setAttribute("width", "200");
-rectElement.setAttribute("height", "200");
-rectElement.setAttribute("filter", "url(#myFilter)");
-rootSVGElement.appendChild(rectElement);
-
-shouldBe("filterElement.filterResX.baseVal", "400");
-shouldBe("filterElement.filterResY.baseVal", "400");
-
-function repaintTest() {
-    filterElement.setFilterRes(200, 200);
-    shouldBe("filterElement.filterResX.baseVal", "200");
-    shouldBe("filterElement.filterResY.baseVal", "200");
-
-    completeTest();
-}
-
-var successfullyParsed = true;
-</script>
-</body>
-</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt
deleted file mode 100644 (file)
index 23ebdc6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-SVG 1.1 dynamic update tests
-
-Tests dynamic updates of the 'filterResX' property of the SVGFilterElement object
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS filterElement.filterResX.baseVal is 400
-PASS filterElement.filterResX.baseVal is 200
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
deleted file mode 100644 (file)
index f17c572..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="resources/SVGTestCase.js"></script>
-<script src="../../resources/js-test-pre.js"></script>
-<script src="../../fast/repaint/resources/repaint.js"></script>
-</head>
-<body onload="runRepaintTest()">
-<h1>SVG 1.1 dynamic update tests</h1>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-// [Name] SVGFilterElement-svgdom-filterResX-prop.js
-// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
-
-description("Tests dynamic updates of the 'filterResX' property of the SVGFilterElement object")
-createSVGTestCase();
-
-var pointLight = createSVGElement("fePointLight");
-pointLight.setAttribute("x", "100");
-pointLight.setAttribute("y", "100");
-pointLight.setAttribute("z", "30");
-
-var gradientElement = createSVGElement("feDiffuseLighting");
-gradientElement.setAttribute("in", "SourceGraphic");
-gradientElement.setAttribute("diffuseConstant", "1");
-gradientElement.setAttribute("lighting-color", "yellow");
-gradientElement.appendChild(pointLight);
-
-var filterElement = createSVGElement("filter");
-filterElement.setAttribute("id", "myFilter");
-filterElement.setAttribute("filterUnits", "userSpaceOnUse");
-filterElement.setAttribute("x", "0");
-filterElement.setAttribute("y", "0");
-filterElement.setAttribute("width", "200");
-filterElement.setAttribute("height", "200");
-filterElement.setAttribute("filterRes", "400 200");
-filterElement.appendChild(gradientElement);
-
-var defsElement = createSVGElement("defs");
-defsElement.appendChild(filterElement);
-
-rootSVGElement.appendChild(defsElement);
-
-var rectElement = createSVGElement("rect");
-rectElement.setAttribute("x", "0");
-rectElement.setAttribute("y", "0");
-rectElement.setAttribute("width", "200");
-rectElement.setAttribute("height", "200");
-rectElement.setAttribute("filter", "url(#myFilter)");
-rootSVGElement.appendChild(rectElement);
-
-shouldBe("filterElement.filterResX.baseVal", "400");
-
-function repaintTest() {
-    filterElement.filterResX.baseVal = 200;
-    shouldBe("filterElement.filterResX.baseVal", "200");
-
-    completeTest();
-}
-
-var successfullyParsed = true;
-</script>
-</body>
-</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt
deleted file mode 100644 (file)
index 0b2e35e..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-SVG 1.1 dynamic update tests
-
-Tests dynamic updates of the 'filterResY' property of the SVGFilterElement object
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS filterElement.filterResY.baseVal is 400
-PASS filterElement.filterResY.baseVal is 200
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
deleted file mode 100644 (file)
index b4c0717..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="resources/SVGTestCase.js"></script>
-<script src="../../resources/js-test-pre.js"></script>
-<script src="../../fast/repaint/resources/repaint.js"></script>
-</head>
-<body onload="runRepaintTest()">
-<h1>SVG 1.1 dynamic update tests</h1>
-<p id="description"></p>
-<div id="console"></div>
-<script>
-// [Name] SVGFilterElement-svgdom-filterResY-prop.js
-// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
-
-description("Tests dynamic updates of the 'filterResY' property of the SVGFilterElement object")
-createSVGTestCase();
-
-var pointLight = createSVGElement("fePointLight");
-pointLight.setAttribute("x", "100");
-pointLight.setAttribute("y", "100");
-pointLight.setAttribute("z", "30");
-
-var gradientElement = createSVGElement("feDiffuseLighting");
-gradientElement.setAttribute("in", "SourceGraphic");
-gradientElement.setAttribute("diffuseConstant", "1");
-gradientElement.setAttribute("lighting-color", "yellow");
-gradientElement.appendChild(pointLight);
-
-var filterElement = createSVGElement("filter");
-filterElement.setAttribute("id", "myFilter");
-filterElement.setAttribute("filterUnits", "userSpaceOnUse");
-filterElement.setAttribute("x", "0");
-filterElement.setAttribute("y", "0");
-filterElement.setAttribute("width", "200");
-filterElement.setAttribute("height", "200");
-filterElement.setAttribute("filterRes", "200 400");
-filterElement.appendChild(gradientElement);
-
-var defsElement = createSVGElement("defs");
-defsElement.appendChild(filterElement);
-
-rootSVGElement.appendChild(defsElement);
-
-var rectElement = createSVGElement("rect");
-rectElement.setAttribute("x", "0");
-rectElement.setAttribute("y", "0");
-rectElement.setAttribute("width", "200");
-rectElement.setAttribute("height", "200");
-rectElement.setAttribute("filter", "url(#myFilter)");
-rootSVGElement.appendChild(rectElement);
-
-shouldBe("filterElement.filterResY.baseVal", "400");
-
-function repaintTest() {
-    filterElement.filterResY.baseVal = 200;
-    shouldBe("filterElement.filterResY.baseVal", "200");
-
-    completeTest();
-}
-
-var successfullyParsed = true;
-</script>
-</body>
-</html>
diff --git a/LayoutTests/svg/filters/filterRes-is-noop-expected.svg b/LayoutTests/svg/filters/filterRes-is-noop-expected.svg
new file mode 100644 (file)
index 0000000..105d423
--- /dev/null
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<defs>
+
+<filter id="gauss">
+    <feGaussianBlur stdDeviation="0"/>
+</filter>
+
+</defs>
+
+<g filter="url(#gauss)"  transform="translate(50, 50)">
+    <rect x="10" y="10" width="75" height="75" fill="green"/>
+    <rect x="50" y="50" width="75" height="75" fill="blue"/>
+</g>
+
+</svg>
diff --git a/LayoutTests/svg/filters/filterRes-is-noop.svg b/LayoutTests/svg/filters/filterRes-is-noop.svg
new file mode 100644 (file)
index 0000000..d523b2f
--- /dev/null
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<defs>
+
+<filter id="gauss" filterRes="10 10">
+    <feGaussianBlur stdDeviation="0"/>
+</filter>
+
+</defs>
+
+<g filter="url(#gauss)"  transform="translate(50, 50)">
+    <rect x="10" y="10" width="75" height="75" fill="green"/>
+    <rect x="50" y="50" width="75" height="75" fill="blue"/>
+</g>
+
+</svg>
diff --git a/LayoutTests/svg/filters/filterRes.svg b/LayoutTests/svg/filters/filterRes.svg
deleted file mode 100644 (file)
index 8fdc0ca..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<defs>
-<linearGradient id="linGrad" x1="0%" y1="0%" x2="100%" y2="100%">
-<stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1"/>
-<stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/>
-</linearGradient>
-<radialGradient id="radGrad" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
-<stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1"/>
-<stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/>
-</radialGradient>
-<filter id="f1" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox" filterRes="50 60">
-    <feFlood flood-color="#000" x="5%" y="5%" width="5%" height="5%" result="flood1"/>
-    <feFlood flood-color="#000" x="0%" y="0%" width="5%" height="5%" result="flood2"/>
-    <feComposite in="flood1" in2="flood2" result="pair"/>
-    <feTile in="pair" result="tile"/>
-    <feDisplacementMap in="tile" in2="SourceGraphic" scale="64" xChannelSelector="R" yChannelSelector="G"/>
-</filter>
-<filter id="over" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%" filterRes="20 200">
-    <feFlood flood-color="#f00" flood-opacity="0.5" result="res1" x="0%" y="0%" width="75%" height="75%"/>
-    <feFlood flood-color="#00f" flood-opacity="0.5" result="res2" x="25%" y="25%" width="75%" height="75%"/>
-    <feComposite in2="res1" in="res2" operator="over"/>
-</filter>
-<filter id="gauss" filterRes="20 42.1">
-    <feGaussianBlur stdDeviation="10"/>
-</filter>
-<filter id="dilate2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"  filterRes="50 49.999">
-       <feMorphology operator="dilate" radius="3 1"/>
-</filter>
-</defs>
-
-<image x="10" y="10" width="100" height="100" xlink:href="../W3C-SVG-1.1/resources/sphere.png" filter="url(#f1)"/>
-<rect x="130" y="10" width="100" height="100" filter="url(#over)"/>
-<g filter="url(#gauss)"  transform="translate(250, 10)">
-    <rect x="0" y="0" width="75" height="75" fill="red"/>
-    <rect x="25" y="25" width="75" height="75" fill="blue"/>
-</g>
-<g filter="url(#dilate2)"  transform="translate(370, 10)">
-    <rect x="20" y="20" width="50" height="50" style="fill:none;stroke:red;"/>
-    <rect x="35" y="35" width="50" height="50" style="fill:none;stroke:blue"/>
-</g>
-</svg>
-
diff --git a/LayoutTests/svg/filters/filterRes1-expected.txt b/LayoutTests/svg/filters/filterRes1-expected.txt
deleted file mode 100644 (file)
index efeca82..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (10,10) size 400x120
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGResourceFilter {filter} [id="f1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-      RenderSVGResourceFilter {filter} [id="f2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-      RenderSVGResourceFilter {filter} [id="f3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-    RenderSVGRect {rect} at (10,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f1"] RenderSVGResourceFilter {filter} at (10,10) size 120x120
-    RenderSVGRect {rect} at (150,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=160.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f2"] RenderSVGResourceFilter {filter} at (150,10) size 120x120
-    RenderSVGRect {rect} at (290,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=300.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f3"] RenderSVGResourceFilter {filter} at (290,10) size 120x120
diff --git a/LayoutTests/svg/filters/filterRes1.svg b/LayoutTests/svg/filters/filterRes1.svg
deleted file mode 100644 (file)
index 7ef81b5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<defs>
-<filter id="f1" filterRes="60">
-    <feFlood flood-color="green"/>
-</filter>
-<filter id="f2" filterRes="120">
-    <feFlood flood-color="green"/>
-</filter>
-<filter id="f3">
-    <feFlood flood-color="green"/>
-</filter>
-</defs>
-<rect x="20" y="20" width="100" height="100" filter="url(#f1)"/>
-<rect x="160" y="20" width="100" height="100" filter="url(#f2)"/>
-<rect x="300" y="20" width="100" height="100" filter="url(#f3)"/>
-</svg>
-
diff --git a/LayoutTests/svg/filters/filterRes2-expected.png b/LayoutTests/svg/filters/filterRes2-expected.png
deleted file mode 100644 (file)
index 7e60b29..0000000
Binary files a/LayoutTests/svg/filters/filterRes2-expected.png and /dev/null differ
diff --git a/LayoutTests/svg/filters/filterRes2-expected.txt b/LayoutTests/svg/filters/filterRes2-expected.txt
deleted file mode 100644 (file)
index bc57831..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (10,10) size 400x120
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGResourceFilter {filter} [id="f1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feOffset dx="0.00" dy="0.00"]
-          [SourceGraphic]
-      RenderSVGResourceFilter {filter} [id="f2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feOffset dx="0.00" dy="0.00"]
-          [SourceGraphic]
-      RenderSVGResourceFilter {filter} [id="f3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feOffset dx="0.00" dy="0.00"]
-          [SourceGraphic]
-    RenderSVGRect {rect} at (10,10) size 120x120 [fill={[type=SOLID] [color=#008000]}] [x=20.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f1"] RenderSVGResourceFilter {filter} at (10,10) size 120x120
-    RenderSVGRect {rect} at (150,10) size 120x120 [fill={[type=SOLID] [color=#008000]}] [x=160.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f2"] RenderSVGResourceFilter {filter} at (150,10) size 120x120
-    RenderSVGRect {rect} at (290,10) size 120x120 [fill={[type=SOLID] [color=#008000]}] [x=300.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f3"] RenderSVGResourceFilter {filter} at (290,10) size 120x120
diff --git a/LayoutTests/svg/filters/filterRes2.svg b/LayoutTests/svg/filters/filterRes2.svg
deleted file mode 100644 (file)
index cd72507..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<defs>
-<filter id="f1" filterRes="60">
-    <feOffset/>
-</filter>
-<filter id="f2" filterRes="120">
-    <feOffset/>
-</filter>
-<filter id="f3">
-    <feOffset/>
-</filter>
-</defs>
-<rect x="20" y="20" width="100" height="100" fill="green" filter="url(#f1)"/>
-<rect x="160" y="20" width="100" height="100" fill="green" filter="url(#f2)"/>
-<rect x="300" y="20" width="100" height="100" fill="green" filter="url(#f3)"/>
-</svg>
-
diff --git a/LayoutTests/svg/filters/filterRes3-expected.txt b/LayoutTests/svg/filters/filterRes3-expected.txt
deleted file mode 100644 (file)
index efeca82..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (10,10) size 400x120
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGResourceFilter {filter} [id="f1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-      RenderSVGResourceFilter {filter} [id="f2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-      RenderSVGResourceFilter {filter} [id="f3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
-        [feFlood flood-color="#008000" flood-opacity="1.00"]
-    RenderSVGRect {rect} at (10,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f1"] RenderSVGResourceFilter {filter} at (10,10) size 120x120
-    RenderSVGRect {rect} at (150,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=160.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f2"] RenderSVGResourceFilter {filter} at (150,10) size 120x120
-    RenderSVGRect {rect} at (290,10) size 120x120 [fill={[type=SOLID] [color=#000000]}] [x=300.00] [y=20.00] [width=100.00] [height=100.00]
-      [filter="f3"] RenderSVGResourceFilter {filter} at (290,10) size 120x120
diff --git a/LayoutTests/svg/filters/filterRes3.svg b/LayoutTests/svg/filters/filterRes3.svg
deleted file mode 100644 (file)
index 9e2769e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<defs>
-<filter id="f1" filterRes="60">
-    <feFlood flood-color="green"/>
-    <feOfffset/>
-</filter>
-<filter id="f2" filterRes="120">
-    <feFlood flood-color="green"/>
-    <feOfffset/>
-</filter>
-<filter id="f3">
-    <feFlood flood-color="green"/>
-    <feOfffset/>
-</filter>
-</defs>
-<rect x="20" y="20" width="100" height="100" filter="url(#f1)"/>
-<rect x="160" y="20" width="100" height="100" filter="url(#f2)"/>
-<rect x="300" y="20" width="100" height="100" filter="url(#f3)"/>
-</svg>
-
index 22c8cc3..e43da57 100644 (file)
@@ -1,3 +1,33 @@
+2018-09-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Remove filterRes parameter from SVG filters
+        https://bugs.webkit.org/show_bug.cgi?id=129565
+        <rdar://problem/44714340>
+
+        Reviewed by Dean Jackson.
+        
+        Remove support for the "filterRes" attribute on SVG filters. It's marked as
+        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
+        and no longer supported by Chrome or Firefox.
+        
+        Removed existing filterRes tests, added new test checking that it has no effect.
+
+        Tests: svg/filters/filterRes-is-noop.svg
+
+        * rendering/svg/RenderSVGResourceFilter.cpp:
+        (WebCore::RenderSVGResourceFilter::applyResource):
+        * svg/SVGElement.cpp:
+        (WebCore::SVGElement::animatableAttributeForName):
+        * svg/SVGFilterElement.cpp:
+        (WebCore::SVGFilterElement::registerAttributes):
+        (WebCore::SVGFilterElement::parseAttribute):
+        (WebCore::SVGFilterElement::filterResXIdentifier): Deleted.
+        (WebCore::SVGFilterElement::filterResYIdentifier): Deleted.
+        (WebCore::SVGFilterElement::setFilterRes): Deleted.
+        * svg/SVGFilterElement.h:
+        * svg/SVGFilterElement.idl:
+        * svg/svgattrs.in:
+
 2018-09-24  Ryosuke Niwa  <rniwa@webkit.org>
 
         Don't cause a crash even when some IDL attribute is missing CEReactions
index d0d68f1..35826a0 100644 (file)
@@ -138,7 +138,6 @@ bool RenderSVGResourceFilter::applyResource(RenderElement& renderer, const Rende
     filterData->shearFreeAbsoluteTransform = AffineTransform(absoluteTransform.xScale(), 0, 0, absoluteTransform.yScale(), 0, 0);
 
     // Determine absolute boundaries of the filter and the drawing region.
-    FloatRect absoluteFilterBoundaries = filterData->shearFreeAbsoluteTransform.mapRect(filterData->boundaries);
     filterData->drawingRegion = renderer.strokeBoundingBox();
     filterData->drawingRegion.intersect(filterData->boundaries);
     FloatRect absoluteDrawingRegion = filterData->shearFreeAbsoluteTransform.mapRect(filterData->drawingRegion);
@@ -152,19 +151,9 @@ bool RenderSVGResourceFilter::applyResource(RenderElement& renderer, const Rende
     if (!filterData->builder)
         return false;
 
-    // Calculate the scale factor for the use of filterRes.
-    // Also see http://www.w3.org/TR/SVG/filters.html#FilterEffectsRegion
-    FloatSize scale(1, 1);
-    if (filterElement().hasAttribute(SVGNames::filterResAttr)) {
-        scale.setWidth(filterElement().filterResX() / absoluteFilterBoundaries.width());
-        scale.setHeight(filterElement().filterResY() / absoluteFilterBoundaries.height());
-    }
-
-    if (scale.isEmpty())
-        return false;
-
     // Determine scale factor for filter. The size of intermediate ImageBuffers shouldn't be bigger than kMaxFilterSize.
     FloatRect tempSourceRect = absoluteDrawingRegion;
+    FloatSize scale(1, 1);
     ImageBuffer::sizeNeedsClamping(tempSourceRect.size(), scale);
     tempSourceRect.scale(scale.width(), scale.height());
 
index 6094fc0..025b96b 100644 (file)
@@ -776,7 +776,6 @@ QualifiedName SVGElement::animatableAttributeForName(const AtomicString& localNa
             &SVGNames::elevationAttr.get(),
             &SVGNames::exponentAttr.get(),
             &SVGNames::externalResourcesRequiredAttr.get(),
-            &SVGNames::filterResAttr.get(),
             &SVGNames::filterUnitsAttr.get(),
             &SVGNames::fxAttr.get(),
             &SVGNames::fyAttr.get(),
index 781ce06..cdeaa38 100644 (file)
@@ -54,27 +54,6 @@ Ref<SVGFilterElement> SVGFilterElement::create(const QualifiedName& tagName, Doc
     return adoptRef(*new SVGFilterElement(tagName, document));
 }
 
-const AtomicString& SVGFilterElement::filterResXIdentifier()
-{
-    static NeverDestroyed<AtomicString> s_identifier("SVGFilterResX", AtomicString::ConstructFromLiteral);
-    return s_identifier;
-}
-
-const AtomicString& SVGFilterElement::filterResYIdentifier()
-{
-    static NeverDestroyed<AtomicString> s_identifier("SVGFilterResY", AtomicString::ConstructFromLiteral);
-    return s_identifier;
-}
-
-void SVGFilterElement::setFilterRes(unsigned filterResX, unsigned filterResY)
-{
-    m_filterResX.setValue(filterResX);
-    m_filterResY.setValue(filterResY);
-
-    if (RenderObject* object = renderer())
-        object->setNeedsLayout();
-}
-
 void SVGFilterElement::registerAttributes()
 {
     auto& registry = attributeRegistry();
@@ -86,9 +65,6 @@ void SVGFilterElement::registerAttributes()
     registry.registerAttribute<SVGNames::yAttr, &SVGFilterElement::m_y>();
     registry.registerAttribute<SVGNames::widthAttr, &SVGFilterElement::m_width>();
     registry.registerAttribute<SVGNames::heightAttr, &SVGFilterElement::m_height>();
-    registry.registerAttribute<SVGNames::filterResAttr,
-        &SVGFilterElement::filterResXIdentifier, &SVGFilterElement::m_filterResX,
-        &SVGFilterElement::filterResYIdentifier, &SVGFilterElement::m_filterResY>();
 }
 
 void SVGFilterElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
@@ -111,13 +87,6 @@ void SVGFilterElement::parseAttribute(const QualifiedName& name, const AtomicStr
         m_width.setValue(SVGLengthValue::construct(LengthModeWidth, value, parseError));
     else if (name == SVGNames::heightAttr)
         m_height.setValue(SVGLengthValue::construct(LengthModeHeight, value, parseError));
-    else if (name == SVGNames::filterResAttr) {
-        float x, y;
-        if (parseNumberOptionalNumber(value, x, y)) {
-            m_filterResX.setValue(x);
-            m_filterResY.setValue(y);
-        }
-    }
 
     reportAttributeParsingError(parseError, name, value);
 
index 77ec8ea..9c2109f 100644 (file)
@@ -38,16 +38,12 @@ class SVGFilterElement final : public SVGElement, public SVGExternalResourcesReq
 public:
     static Ref<SVGFilterElement> create(const QualifiedName&, Document&);
 
-    void setFilterRes(unsigned filterResX, unsigned filterResY);
-
     SVGUnitTypes::SVGUnitType filterUnits() const { return m_filterUnits.currentValue(attributeOwnerProxy()); }
     SVGUnitTypes::SVGUnitType primitiveUnits() const { return m_primitiveUnits.currentValue(attributeOwnerProxy()); }
     const SVGLengthValue& x() const { return m_x.currentValue(attributeOwnerProxy()); }
     const SVGLengthValue& y() const { return m_y.currentValue(attributeOwnerProxy()); }
     const SVGLengthValue& width() const { return m_width.currentValue(attributeOwnerProxy()); }
     const SVGLengthValue& height() const { return m_height.currentValue(attributeOwnerProxy()); }
-    int filterResX() const { return m_filterResX.currentValue(attributeOwnerProxy()); }
-    int filterResY() const { return m_filterResY.currentValue(attributeOwnerProxy()); }
 
     RefPtr<SVGAnimatedEnumeration> filterUnitsAnimated() { return m_filterUnits.animatedProperty(attributeOwnerProxy()); }
     RefPtr<SVGAnimatedEnumeration> primitiveUnitsAnimated() { return m_primitiveUnits.animatedProperty(attributeOwnerProxy()); }
@@ -55,8 +51,6 @@ public:
     RefPtr<SVGAnimatedLength> yAnimated() { return m_y.animatedProperty(attributeOwnerProxy()); }
     RefPtr<SVGAnimatedLength> widthAnimated() { return m_width.animatedProperty(attributeOwnerProxy()); }
     RefPtr<SVGAnimatedLength> heightAnimated() { return m_height.animatedProperty(attributeOwnerProxy()); }
-    RefPtr<SVGAnimatedInteger> filterResXAnimated() { return m_filterResX.animatedProperty(attributeOwnerProxy()); }
-    RefPtr<SVGAnimatedInteger> filterResYAnimated() { return m_filterResY.animatedProperty(attributeOwnerProxy()); }
 
 private:
     SVGFilterElement(const QualifiedName&, Document&);
@@ -79,9 +73,6 @@ private:
 
     bool selfHasRelativeLengths() const final { return true; }
 
-    static const AtomicString& filterResXIdentifier();
-    static const AtomicString& filterResYIdentifier();
-
     AttributeOwnerProxy m_attributeOwnerProxy { *this };
     SVGAnimatedEnumerationAttribute<SVGUnitTypes::SVGUnitType> m_filterUnits { SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX };
     SVGAnimatedEnumerationAttribute<SVGUnitTypes::SVGUnitType> m_primitiveUnits { SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE };
@@ -89,8 +80,6 @@ private:
     SVGAnimatedLengthAttribute m_y { LengthModeHeight, "-10%" };
     SVGAnimatedLengthAttribute m_width { LengthModeWidth, "120%" };
     SVGAnimatedLengthAttribute m_height { LengthModeHeight, "120%" };
-    SVGAnimatedIntegerAttribute m_filterResX;
-    SVGAnimatedIntegerAttribute m_filterResY;
 };
 
 } // namespace WebCore
index 4b788db..5da6496 100644 (file)
@@ -31,11 +31,6 @@ interface SVGFilterElement : SVGElement {
     readonly attribute SVGAnimatedLength      y;
     readonly attribute SVGAnimatedLength      width;
     readonly attribute SVGAnimatedLength      height;
-    readonly attribute SVGAnimatedInteger     filterResX;
-    readonly attribute SVGAnimatedInteger     filterResY;
-
-    void setFilterRes(optional unsigned long filterResX = 0,
-                      optional unsigned long filterResY = 0);
 };
 
 SVGFilterElement implements SVGExternalResourcesRequired;
index 8a356f0..79b0465 100644 (file)
@@ -58,7 +58,6 @@ fill
 fill-opacity
 fill-rule
 filter
-filterRes
 filterUnits
 flood-color
 flood-opacity