Changeset 236447 in webkit


Ignore:
Timestamp:
Sep 24, 2018 5:40:09 PM (6 years ago)
Author:
Simon Fraser
Message:

LayoutTests/imported/w3c:
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.
Location:
trunk
Files:
2 added
30 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r236444 r236447  
     12018-09-24  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Remove filterRes parameter from filters
     4        https://bugs.webkit.org/show_bug.cgi?id=129565
     5        <rdar://problem/44714340>
     6
     7        Reviewed by Dean Jackson.
     8
     9        Remove support for the "filterRes" attribute on SVG filters. It's marked as
     10        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
     11        and no longer supported by Chrome or Firefox.
     12       
     13        Removed existing filterRes tests, added new test checking that it has no effect.
     14
     15        * html5lib/resources/tests11.dat: Edited to remove filterRes. This seems to have been superseded by
     16            imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11.html
     17        * platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
     18        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
     19        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
     20        * platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
     21        * platform/gtk/svg/filters/filterRes-expected.png: Removed.
     22        * platform/gtk/svg/filters/filterRes1-expected.png: Removed.
     23        * platform/gtk/svg/filters/filterRes3-expected.png: Removed.
     24        * platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Removed.
     25        * platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
     26        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
     27        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
     28        * platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
     29        * platform/mac/svg/filters/filterRes-expected.png: Removed.
     30        * platform/mac/svg/filters/filterRes1-expected.png: Removed.
     31        * platform/mac/svg/filters/filterRes2-expected.png: Removed.
     32        * platform/mac/svg/filters/filterRes3-expected.png: Removed.
     33        * svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
     34        * svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg:
     35        * svg/dom/SVGAnimatedInteger-expected.txt:
     36        * svg/dom/SVGAnimatedInteger.html: Change to use feConvolveMatrix orderX.
     37        * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt: Removed.
     38        * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: Removed.
     39        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt: Removed.
     40        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: Removed.
     41        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt: Removed.
     42        * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: Removed.
     43        * svg/filters/filterRes-is-noop-expected.svg: Added.
     44        * svg/filters/filterRes-is-noop.svg: Added.
     45        * svg/filters/filterRes.svg: Removed.
     46        * svg/filters/filterRes1-expected.txt: Removed.
     47        * svg/filters/filterRes1.svg: Removed.
     48        * svg/filters/filterRes2-expected.png: Removed.
     49        * svg/filters/filterRes2-expected.txt: Removed.
     50        * svg/filters/filterRes2.svg: Removed.
     51        * svg/filters/filterRes3-expected.txt: Removed.
     52        * svg/filters/filterRes3.svg: Removed.
     53
    1542018-09-24  Justin Michaud  <justin_michaud@apple.com>
    255
  • trunk/LayoutTests/html5lib/resources/tests11.dat

    r59638 r236447  
    11#data
    2 <!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>
     2<!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>
    33#errors
    44#document
     
    1919|       edgeMode=""
    2020|       externalResourcesRequired=""
    21 |       filterRes=""
    2221|       filterUnits=""
    2322|       glyphRef=""
     
    7271
    7372#data
    74 <!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>
     73<!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>
    7574#errors
    7675#document
     
    9190|       edgeMode=""
    9291|       externalResourcesRequired=""
    93 |       filterRes=""
    9492|       filterUnits=""
    9593|       glyphRef=""
     
    144142
    145143#data
    146 <!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>
     144<!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>
    147145#errors
    148146#document
     
    163161|       edgeMode=""
    164162|       externalResourcesRequired=""
    165 |       filterRes=""
    166163|       filterUnits=""
    167164|       glyphRef=""
     
    216213
    217214#data
    218 <!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>
     215<!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>
    219216#errors
    220217#document
     
    235232|       edgemode=""
    236233|       externalresourcesrequired=""
    237 |       filterres=""
    238234|       filterunits=""
    239235|       glyphref=""
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r236444 r236447  
     12018-09-24  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Remove filterRes parameter from SVG filters
     4        https://bugs.webkit.org/show_bug.cgi?id=129565
     5        <rdar://problem/44714340>
     6
     7        Reviewed by Dean Jackson.
     8       
     9        Remove support for the "filterRes" attribute on SVG filters. It's marked as
     10        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
     11        and no longer supported by Chrome or Firefox.
     12
     13        * web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt: Rebaseline
     14
    1152018-09-24  Justin Michaud  <justin_michaud@apple.com>
    216
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt

    r231717 r236447  
    77PASS html5lib_tests11.html ba7a66dfcf59885c08e8638d15b01df3878531e7
    88PASS html5lib_tests11.html e69c7c08a54ca868ab33b2825d998fa6c3cac90e
    9 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=\"\""
     9PASS html5lib_tests11.html 0e5897aafe87e460f84576c2d1d983504d12a7db
    1010PASS html5lib_tests11.html f71dd198831309fc9ccd66ef91cde63fda9b9bda
    11 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=\"\""
    12 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=\"\""
    13 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=\"\""
     11FAIL 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=\"\""
     12FAIL 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=\"\""
     13FAIL 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=\"\""
    1414PASS html5lib_tests11.html 8f77b846acce75edf1988ea655c79f1de4321de9
    1515PASS html5lib_tests11.html 39c50f080b2b9ae9e7a1070679ab97d7b814f9ec
     
    1818PASS html5lib_tests11.html af40d26164229c29b9be77ed6dd7dda780cba55c
    1919PASS html5lib_tests11.html 16e68d18f8f0fb81013fe77a30b7d396c5081e5e
    20 0e5897aafe87e460f84576c2d1d983504d12a7db
    21 
    22 Input
    23 
    24 <!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>
    25 Expected
    26 
    27 #document
    28 | <!DOCTYPE html>
    29 | <html>
    30 |   <head>
    31 |   <body>
    32 |     <svg svg>
    33 |       attributeName=""
    34 |       attributeType=""
    35 |       baseFrequency=""
    36 |       baseProfile=""
    37 |       calcMode=""
    38 |       clipPathUnits=""
    39 |       diffuseConstant=""
    40 |       edgeMode=""
    41 |       filterUnits=""
    42 |       filterres=""
    43 |       glyphRef=""
    44 |       gradientTransform=""
    45 |       gradientUnits=""
    46 |       kernelMatrix=""
    47 |       kernelUnitLength=""
    48 |       keyPoints=""
    49 |       keySplines=""
    50 |       keyTimes=""
    51 |       lengthAdjust=""
    52 |       limitingConeAngle=""
    53 |       markerHeight=""
    54 |       markerUnits=""
    55 |       markerWidth=""
    56 |       maskContentUnits=""
    57 |       maskUnits=""
    58 |       numOctaves=""
    59 |       pathLength=""
    60 |       patternContentUnits=""
    61 |       patternTransform=""
    62 |       patternUnits=""
    63 |       pointsAtX=""
    64 |       pointsAtY=""
    65 |       pointsAtZ=""
    66 |       preserveAlpha=""
    67 |       preserveAspectRatio=""
    68 |       primitiveUnits=""
    69 |       refX=""
    70 |       refY=""
    71 |       repeatCount=""
    72 |       repeatDur=""
    73 |       requiredExtensions=""
    74 |       requiredFeatures=""
    75 |       specularConstant=""
    76 |       specularExponent=""
    77 |       spreadMethod=""
    78 |       startOffset=""
    79 |       stdDeviation=""
    80 |       stitchTiles=""
    81 |       surfaceScale=""
    82 |       systemLanguage=""
    83 |       tableValues=""
    84 |       targetX=""
    85 |       targetY=""
    86 |       textLength=""
    87 |       viewBox=""
    88 |       viewTarget=""
    89 |       xChannelSelector=""
    90 |       yChannelSelector=""
    91 |       zoomAndPan=""
    92 Actual
    93 
    94 #document
    95 | <!DOCTYPE html>
    96 | <html>
    97 |   <head>
    98 |   <body>
    99 |     <svg svg>
    100 |       attributeName=""
    101 |       attributeType=""
    102 |       baseFrequency=""
    103 |       baseProfile=""
    104 |       calcMode=""
    105 |       clipPathUnits=""
    106 |       diffuseConstant=""
    107 |       edgeMode=""
    108 |       filterRes=""
    109 |       filterUnits=""
    110 |       glyphRef=""
    111 |       gradientTransform=""
    112 |       gradientUnits=""
    113 |       kernelMatrix=""
    114 |       kernelUnitLength=""
    115 |       keyPoints=""
    116 |       keySplines=""
    117 |       keyTimes=""
    118 |       lengthAdjust=""
    119 |       limitingConeAngle=""
    120 |       markerHeight=""
    121 |       markerUnits=""
    122 |       markerWidth=""
    123 |       maskContentUnits=""
    124 |       maskUnits=""
    125 |       numOctaves=""
    126 |       pathLength=""
    127 |       patternContentUnits=""
    128 |       patternTransform=""
    129 |       patternUnits=""
    130 |       pointsAtX=""
    131 |       pointsAtY=""
    132 |       pointsAtZ=""
    133 |       preserveAlpha=""
    134 |       preserveAspectRatio=""
    135 |       primitiveUnits=""
    136 |       refX=""
    137 |       refY=""
    138 |       repeatCount=""
    139 |       repeatDur=""
    140 |       requiredExtensions=""
    141 |       requiredFeatures=""
    142 |       specularConstant=""
    143 |       specularExponent=""
    144 |       spreadMethod=""
    145 |       startOffset=""
    146 |       stdDeviation=""
    147 |       stitchTiles=""
    148 |       surfaceScale=""
    149 |       systemLanguage=""
    150 |       tableValues=""
    151 |       targetX=""
    152 |       targetY=""
    153 |       textLength=""
    154 |       viewBox=""
    155 |       viewTarget=""
    156 |       xChannelSelector=""
    157 |       yChannelSelector=""
    158 |       zoomAndPan=""
    15920a8f7a23601363454b4a13f66aed99ec9708ae87b
    16021
     
    18546|       contentStyleType=""
    18647|       externalResourcesRequired=""
    187 |       filterRes=""
     48|       filterres=""
    18849f8f7f6c576acc9eb874acb0dce6988f0f7b6fc5f
    18950
     
    21475|       contentStyleType=""
    21576|       externalResourcesRequired=""
    216 |       filterRes=""
     77|       filterres=""
    21778fb4dc9f70129a8a045fca3a1e3acee052d0990b3
    21879
     
    243104|       contentStyleType=""
    244105|       externalResourcesRequired=""
    245 |       filterRes=""
     106|       filterres=""
    246107
  • trunk/LayoutTests/platform/ios/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt

    r205001 r236447  
    8989          RenderSVGInlineText {#text} at (0,0) size 348x10
    9090            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"
    91       RenderSVGContainer {g} at (10,189) size 152x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
     91      RenderSVGContainer {g} at (10,189) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
    9292        RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    93         RenderSVGText {text} at (10,-1) size 142x10 contains 1 chunk(s)
    94           RenderSVGInlineText {#text} at (0,0) size 142x10
    95             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 141.07: "f.filterResX.baseVal == 0: PASSED"
     93        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
     94          RenderSVGInlineText {#text} at (0,0) size 132x10
     95            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 131.07: "c.orderX.baseVal == 0: PASSED"
    9696      RenderSVGContainer {g} at (10,199) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
    9797        RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
  • trunk/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt

    r197145 r236447  
    8989          RenderSVGInlineText {#text} at (0,0) size 348x9
    9090            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"
    91       RenderSVGContainer {g} at (10,189) size 155x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
     91      RenderSVGContainer {g} at (10,189) size 144x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
    9292        RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    93         RenderSVGText {text} at (10,-1) size 145x10 contains 1 chunk(s)
    94           RenderSVGInlineText {#text} at (0,0) size 145x9
    95             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 145.00: "f.filterResX.baseVal == 0: PASSED"
     93        RenderSVGText {text} at (10,-1) size 134x10 contains 1 chunk(s)
     94          RenderSVGInlineText {#text} at (0,0) size 134x9
     95            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 134.00: "c.orderX.baseVal == 0: PASSED"
    9696      RenderSVGContainer {g} at (10,199) size 190x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
    9797        RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
  • trunk/LayoutTests/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt

    r140728 r236447  
    55  RenderSVGRoot {svg} at (0,0) size 480x360
    66    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    7     RenderSVGContainer {g} at (10,49) size 410x230
     7    RenderSVGContainer {g} at (10,49) size 415x230
    88      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    99        RenderSVGRect {rect} at (0,0) size 1x1 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=1.00] [height=1.00]
     
    1212        RenderSVGResourceRadialGradient {radialGradient} [id="g"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50] [focalRadius=0.00]
    1313        RenderSVGText {text}
    14         RenderSVGText {text} at (0,-15) size 73x19 contains 1 chunk(s)
    15           RenderSVGInlineText {#text} at (0,0) size 73x18
    16             chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 4 width 44.01: "some"
    17             chunk 1 text run 2 at (43.83,0.00) startOffset 4 endOffset 5 width 5.00: "t"
    18             chunk 1 text run 3 at (48.58,0.00) startOffset 5 endOffset 6 width 10.01: "e"
    19             chunk 1 text run 4 at (58.10,0.00) startOffset 6 endOffset 8 width 14.00: "xt"
     14        RenderSVGText {text} at (0,-15) size 74x19 contains 1 chunk(s)
     15          RenderSVGInlineText {#text} at (0,0) size 74x19
     16            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 8 width 73.03: "sometext"
    2017        RenderSVGResourceMarker {marker} [id="m"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=0.00]
    2118        RenderSVGViewportContainer {svg} at (0,0) size 0x0
    2219        RenderSVGResourceFilter {filter} [id="f"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
    2320        RenderSVGPath {polygon} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [points=""]
    24       RenderSVGContainer {g} at (10,49) size 140x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
     21      RenderSVGContainer {g} at (10,49) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,50.00)}]
    2522        RenderSVGRect {rect} at (10,51) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    26         RenderSVGText {text} at (10,-1) size 130x10 contains 1 chunk(s)
    27           RenderSVGInlineText {#text} at (0,0) size 130x9
    28             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
    29             chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
    30             chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 13 width 14.00: "al.v"
    31             chunk 1 text run 4 at (60.71,7.00) startOffset 13 endOffset 25 width 48.54: "alue == 0: P"
    32             chunk 1 text run 5 at (108.54,7.00) startOffset 25 endOffset 30 width 30.51: "ASSED"
    33       RenderSVGContainer {g} at (10,59) size 287x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
     23        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
     24          RenderSVGInlineText {#text} at (0,0) size 132x10
     25            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 30 width 131.07: "r.x.baseVal.value == 0: PASSED"
     26      RenderSVGContainer {g} at (10,59) size 291x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
    3427        RenderSVGRect {rect} at (10,61) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    35         RenderSVGText {text} at (10,-1) size 277x10 contains 1 chunk(s)
    36           RenderSVGInlineText {#text} at (0,0) size 277x9
    37             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 3.00: "r"
    38             chunk 1 text run 2 at (12.38,7.00) startOffset 1 endOffset 9 width 35.02: ".x.baseV"
    39             chunk 1 text run 3 at (46.86,7.00) startOffset 9 endOffset 17 width 29.51: "al.unitT"
    40             chunk 1 text run 4 at (75.47,7.00) startOffset 17 endOffset 28 width 46.53: "ype == 1 (S"
    41             chunk 1 text run 5 at (121.63,7.00) startOffset 28 endOffset 29 width 6.00: "V"
    42             chunk 1 text run 6 at (127.25,7.00) startOffset 29 endOffset 34 width 29.51: "G_LEN"
    43             chunk 1 text run 7 at (156.74,7.00) startOffset 34 endOffset 35 width 7.00: "G"
    44             chunk 1 text run 8 at (163.35,7.00) startOffset 35 endOffset 38 width 17.50: "THT"
    45             chunk 1 text run 9 at (181.03,7.00) startOffset 38 endOffset 52 width 76.01: "YPE_NUMBER): P"
    46             chunk 1 text run 10 at (256.34,7.00) startOffset 52 endOffset 57 width 30.51: "ASSED"
    47       RenderSVGContainer {g} at (10,69) size 232x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
     28        RenderSVGText {text} at (10,-1) size 281x10 contains 1 chunk(s)
     29          RenderSVGInlineText {#text} at (0,0) size 281x10
     30            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"
     31      RenderSVGContainer {g} at (10,69) size 235x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,70.00)}]
    4832        RenderSVGRect {rect} at (10,71) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    49         RenderSVGText {text} at (10,-1) size 222x10 contains 1 chunk(s)
    50           RenderSVGInlineText {#text} at (0,0) size 222x9
    51             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    52             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
    53             chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
    54             chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 17 width 14.00: "al.v"
    55             chunk 1 text run 5 at (78.69,7.00) startOffset 17 endOffset 29 width 49.53: "alueInSpecif"
    56             chunk 1 text run 6 at (128.20,7.00) startOffset 29 endOffset 33 width 18.50: "iedU"
    57             chunk 1 text run 7 at (146.66,7.00) startOffset 33 endOffset 42 width 34.52: "nits == 1"
    58             chunk 1 text run 8 at (180.63,7.00) startOffset 42 endOffset 47 width 21.01: "00: P"
    59             chunk 1 text run 9 at (200.94,7.00) startOffset 47 endOffset 52 width 30.51: "ASSED"
    60       RenderSVGContainer {g} at (10,79) size 327x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
     33        RenderSVGText {text} at (10,-1) size 225x10 contains 1 chunk(s)
     34          RenderSVGInlineText {#text} at (0,0) size 225x10
     35            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 52 width 224.11: "v.width.baseVal.valueInSpecifiedUnits == 100: PASSED"
     36      RenderSVGContainer {g} at (10,79) size 332x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,80.00)}]
    6137        RenderSVGRect {rect} at (10,81) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    62         RenderSVGText {text} at (10,-1) size 317x10 contains 1 chunk(s)
    63           RenderSVGInlineText {#text} at (0,0) size 317x9
    64             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    65             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 6 width 18.50: ".widt"
    66             chunk 1 text run 3 at (32.36,7.00) startOffset 6 endOffset 13 width 33.02: "h.baseV"
    67             chunk 1 text run 4 at (64.85,7.00) startOffset 13 endOffset 21 width 29.51: "al.unitT"
    68             chunk 1 text run 5 at (93.46,7.00) startOffset 21 endOffset 32 width 46.53: "ype == 2 (S"
    69             chunk 1 text run 6 at (139.61,7.00) startOffset 32 endOffset 33 width 6.00: "V"
    70             chunk 1 text run 7 at (145.23,7.00) startOffset 33 endOffset 38 width 29.51: "G_LEN"
    71             chunk 1 text run 8 at (174.73,7.00) startOffset 38 endOffset 39 width 7.00: "G"
    72             chunk 1 text run 9 at (181.33,7.00) startOffset 39 endOffset 42 width 17.50: "THT"
    73             chunk 1 text run 10 at (199.01,7.00) startOffset 42 endOffset 49 width 41.52: "YPE_PER"
    74             chunk 1 text run 11 at (240.38,7.00) startOffset 49 endOffset 53 width 24.50: "CENT"
    75             chunk 1 text run 12 at (264.02,7.00) startOffset 53 endOffset 54 width 6.00: "A"
    76             chunk 1 text run 13 at (269.71,7.00) startOffset 54 endOffset 60 width 27.01: "GE): P"
    77             chunk 1 text run 14 at (296.02,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
    78       RenderSVGContainer {g} at (10,89) size 286x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
     38        RenderSVGText {text} at (10,-1) size 322x10 contains 1 chunk(s)
     39          RenderSVGInlineText {#text} at (0,0) size 322x10
     40            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"
     41      RenderSVGContainer {g} at (10,89) size 289x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
    7942        RenderSVGRect {rect} at (10,91) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    80         RenderSVGText {text} at (10,-1) size 276x10 contains 1 chunk(s)
    81           RenderSVGInlineText {#text} at (0,0) size 276x9
    82             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.01: "tt.t"
    83             chunk 1 text run 2 at (19.88,7.00) startOffset 4 endOffset 5 width 5.00: "e"
    84             chunk 1 text run 3 at (24.64,7.00) startOffset 5 endOffset 12 width 29.52: "xtLengt"
    85             chunk 1 text run 4 at (54.14,7.00) startOffset 12 endOffset 19 width 33.02: "h.baseV"
    86             chunk 1 text run 5 at (86.63,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
    87             chunk 1 text run 6 at (100.47,7.00) startOffset 23 endOffset 36 width 50.04: "alue == tt.ge"
    88             chunk 1 text run 7 at (150.42,7.00) startOffset 36 endOffset 40 width 21.50: "tCom"
    89             chunk 1 text run 8 at (171.96,7.00) startOffset 40 endOffset 43 width 12.51: "put"
    90             chunk 1 text run 9 at (184.35,7.00) startOffset 43 endOffset 46 width 15.51: "edT"
    91             chunk 1 text run 10 at (199.00,7.00) startOffset 46 endOffset 47 width 5.00: "e"
    92             chunk 1 text run 11 at (203.76,7.00) startOffset 47 endOffset 54 width 29.52: "xtLengt"
    93             chunk 1 text run 12 at (233.25,7.00) startOffset 54 endOffset 60 width 22.00: "h(): P"
    94             chunk 1 text run 13 at (254.56,7.00) startOffset 60 endOffset 65 width 30.51: "ASSED"
    95       RenderSVGContainer {g} at (10,99) size 135x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
     43        RenderSVGText {text} at (10,-1) size 279x10 contains 1 chunk(s)
     44          RenderSVGInlineText {#text} at (0,0) size 279x10
     45            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 65 width 278.15: "tt.textLength.baseVal.value == tt.getComputedTextLength(): PASSED"
     46      RenderSVGContainer {g} at (10,99) size 137x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,100.00)}]
    9647        RenderSVGRect {rect} at (10,101) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    97         RenderSVGText {text} at (10,-1) size 125x10 contains 1 chunk(s)
    98           RenderSVGInlineText {#text} at (0,0) size 125x9
    99             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 14.51: "s.of"
    100             chunk 1 text run 2 at (24.71,7.00) startOffset 4 endOffset 7 width 12.01: "fse"
    101             chunk 1 text run 3 at (36.62,7.00) startOffset 7 endOffset 14 width 30.52: "t.baseV"
    102             chunk 1 text run 4 at (66.61,7.00) startOffset 14 endOffset 24 width 38.53: "al == 0: P"
    103             chunk 1 text run 5 at (104.44,7.00) startOffset 24 endOffset 29 width 30.51: "ASSED"
    104       RenderSVGContainer {g} at (10,109) size 185x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
     48        RenderSVGText {text} at (10,-1) size 127x10 contains 1 chunk(s)
     49          RenderSVGInlineText {#text} at (0,0) size 127x10
     50            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 126.07: "s.offset.baseVal == 0: PASSED"
     51      RenderSVGContainer {g} at (10,109) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
    10552        RenderSVGRect {rect} at (10,111) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    106         RenderSVGText {text} at (10,-1) size 175x10 contains 1 chunk(s)
    107           RenderSVGInlineText {#text} at (0,0) size 175x9
    108             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.00: "c.pr"
    109             chunk 1 text run 2 at (24.90,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
    110             chunk 1 text run 3 at (42.67,7.00) startOffset 8 endOffset 9 width 4.50: "v"
    111             chunk 1 text run 4 at (46.98,7.00) startOffset 9 endOffset 21 width 56.03: "eAlpha.baseV"
    112             chunk 1 text run 5 at (102.48,7.00) startOffset 21 endOffset 28 width 25.02: "al == f"
    113             chunk 1 text run 6 at (127.42,7.00) startOffset 28 endOffset 35 width 27.51: "alse: P"
    114             chunk 1 text run 7 at (154.23,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
    115       RenderSVGContainer {g} at (10,119) size 159x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
     53        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
     54          RenderSVGInlineText {#text} at (0,0) size 177x10
     55            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.09: "c.preserveAlpha.baseVal == false: PASSED"
     56      RenderSVGContainer {g} at (10,119) size 160x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
    11657        RenderSVGRect {rect} at (10,121) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    117         RenderSVGText {text} at (10,-1) size 149x10 contains 1 chunk(s)
    118           RenderSVGInlineText {#text} at (0,0) size 149x9
    119             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 8 width 34.00: "c.classN"
    120             chunk 1 text run 2 at (43.96,7.00) startOffset 8 endOffset 17 width 45.52: "ame.baseV"
    121             chunk 1 text run 3 at (88.95,7.00) startOffset 17 endOffset 28 width 39.91: "al == \"\": P"
    122             chunk 1 text run 4 at (128.16,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
    123       RenderSVGContainer {g} at (10,129) size 128x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
     58        RenderSVGText {text} at (10,-1) size 150x10 contains 1 chunk(s)
     59          RenderSVGInlineText {#text} at (0,0) size 150x10
     60            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 33 width 149.95: "c.className.baseVal == \"\": PASSED"
     61      RenderSVGContainer {g} at (10,129) size 129x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,130.00)}]
    12462        RenderSVGRect {rect} at (10,131) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    125         RenderSVGText {text} at (10,-1) size 118x10 contains 1 chunk(s)
    126           RenderSVGInlineText {#text} at (0,0) size 118x9
    127             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 12.50: "i.hr"
    128             chunk 1 text run 2 at (22.40,7.00) startOffset 4 endOffset 12 width 35.52: "ef.baseV"
    129             chunk 1 text run 3 at (57.39,7.00) startOffset 12 endOffset 23 width 39.91: "al == \"\": P"
    130             chunk 1 text run 4 at (96.61,7.00) startOffset 23 endOffset 28 width 30.51: "ASSED"
    131       RenderSVGContainer {g} at (10,139) size 209x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
     63        RenderSVGText {text} at (10,-1) size 119x10 contains 1 chunk(s)
     64          RenderSVGInlineText {#text} at (0,0) size 119x10
     65            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 28 width 118.45: "i.href.baseVal == \"\": PASSED"
     66      RenderSVGContainer {g} at (10,139) size 210x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}]
    13267        RenderSVGRect {rect} at (10,141) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    133         RenderSVGText {text} at (10,-1) size 199x10 contains 1 chunk(s)
    134           RenderSVGInlineText {#text} at (0,0) size 199x9
    135             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.50: "i.r"
    136             chunk 1 text run 2 at (17.40,7.00) startOffset 3 endOffset 5 width 10.01: "eq"
    137             chunk 1 text run 3 at (27.44,7.00) startOffset 5 endOffset 8 width 10.00: "uir"
    138             chunk 1 text run 4 at (37.34,7.00) startOffset 8 endOffset 11 width 15.51: "edF"
    139             chunk 1 text run 5 at (52.63,7.00) startOffset 11 endOffset 16 width 20.51: "eatur"
    140             chunk 1 text run 6 at (73.04,7.00) startOffset 16 endOffset 29 width 57.02: "es.numberOfIt"
    141             chunk 1 text run 7 at (129.94,7.00) startOffset 29 endOffset 40 width 48.53: "ems == 0: P"
    142             chunk 1 text run 8 at (177.77,7.00) startOffset 40 endOffset 45 width 30.51: "ASSED"
    143       RenderSVGContainer {g} at (10,149) size 227x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
     68        RenderSVGText {text} at (10,-1) size 200x10 contains 1 chunk(s)
     69          RenderSVGInlineText {#text} at (0,0) size 200x10
     70            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 45 width 199.58: "i.requiredFeatures.numberOfItems == 0: PASSED"
     71      RenderSVGContainer {g} at (10,149) size 228x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,150.00)}]
    14472        RenderSVGRect {rect} at (10,151) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    145         RenderSVGText {text} at (10,-1) size 217x10 contains 1 chunk(s)
    146           RenderSVGInlineText {#text} at (0,0) size 217x9
    147             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 11.50: "c.k"
    148             chunk 1 text run 2 at (21.31,7.00) startOffset 3 endOffset 12 width 38.01: "ernelMatr"
    149             chunk 1 text run 3 at (59.33,7.00) startOffset 12 endOffset 20 width 34.51: "ix.baseV"
    150             chunk 1 text run 4 at (93.31,7.00) startOffset 20 endOffset 33 width 54.52: "al.numberOfIt"
    151             chunk 1 text run 5 at (147.71,7.00) startOffset 33 endOffset 44 width 48.53: "ems == 0: P"
    152             chunk 1 text run 6 at (195.53,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
    153       RenderSVGContainer {g} at (10,159) size 180x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
     73        RenderSVGText {text} at (10,-1) size 218x10 contains 1 chunk(s)
     74          RenderSVGInlineText {#text} at (0,0) size 218x10
     75            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 49 width 217.58: "c.kernelMatrix.baseVal.numberOfItems == 0: PASSED"
     76      RenderSVGContainer {g} at (10,159) size 182x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,160.00)}]
    15477        RenderSVGRect {rect} at (10,161) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    155         RenderSVGText {text} at (10,-1) size 170x10 contains 1 chunk(s)
    156           RenderSVGInlineText {#text} at (0,0) size 170x9
    157             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 9 width 37.52: "t.x.baseV"
    158             chunk 1 text run 2 at (46.99,7.00) startOffset 9 endOffset 22 width 54.52: "al.numberOfIt"
    159             chunk 1 text run 3 at (101.39,7.00) startOffset 22 endOffset 33 width 48.53: "ems == 0: P"
    160             chunk 1 text run 4 at (149.21,7.00) startOffset 33 endOffset 38 width 30.51: "ASSED"
    161       RenderSVGContainer {g} at (10,169) size 168x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
     78        RenderSVGText {text} at (10,-1) size 172x10 contains 1 chunk(s)
     79          RenderSVGInlineText {#text} at (0,0) size 172x10
     80            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 38 width 171.08: "t.x.baseVal.numberOfItems == 0: PASSED"
     81      RenderSVGContainer {g} at (10,169) size 169x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,170.00)}]
    16282        RenderSVGRect {rect} at (10,171) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    163         RenderSVGText {text} at (10,-1) size 158x10 contains 1 chunk(s)
    164           RenderSVGInlineText {#text} at (0,0) size 158x9
    165             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 79.04: "p.points.numberOfIt"
    166             chunk 1 text run 2 at (88.91,7.00) startOffset 19 endOffset 30 width 48.53: "ems == 0: P"
    167             chunk 1 text run 3 at (136.74,7.00) startOffset 30 endOffset 35 width 30.51: "ASSED"
    168       RenderSVGContainer {g} at (10,179) size 356x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
     83        RenderSVGText {text} at (10,-1) size 159x10 contains 1 chunk(s)
     84          RenderSVGInlineText {#text} at (0,0) size 159x10
     85            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 35 width 158.08: "p.points.numberOfItems == 0: PASSED"
     86      RenderSVGContainer {g} at (10,179) size 358x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,180.00)}]
    16987        RenderSVGRect {rect} at (10,181) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    170         RenderSVGText {text} at (10,-1) size 346x10 contains 1 chunk(s)
    171           RenderSVGInlineText {#text} at (0,0) size 346x9
    172             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 15.51: "g.gr"
    173             chunk 1 text run 2 at (25.46,7.00) startOffset 4 endOffset 11 width 31.01: "adientU"
    174             chunk 1 text run 3 at (56.44,7.00) startOffset 11 endOffset 21 width 42.02: "nits.baseV"
    175             chunk 1 text run 4 at (97.93,7.00) startOffset 21 endOffset 31 width 39.02: "al == 2 (S"
    176             chunk 1 text run 5 at (136.58,7.00) startOffset 31 endOffset 32 width 6.00: "V"
    177             chunk 1 text run 6 at (142.20,7.00) startOffset 32 endOffset 40 width 43.51: "G_UNIT_T"
    178             chunk 1 text run 7 at (185.89,7.00) startOffset 40 endOffset 51 width 64.52: "YPE_OBJECTB"
    179             chunk 1 text run 8 at (250.34,7.00) startOffset 51 endOffset 57 width 35.50: "OUNDIN"
    180             chunk 1 text run 9 at (285.82,7.00) startOffset 57 endOffset 59 width 13.01: "GB"
    181             chunk 1 text run 10 at (298.76,7.00) startOffset 59 endOffset 60 width 7.00: "O"
    182             chunk 1 text run 11 at (305.35,7.00) startOffset 60 endOffset 65 width 20.01: "X): P"
    183             chunk 1 text run 12 at (324.66,7.00) startOffset 65 endOffset 70 width 30.51: "ASSED"
    184       RenderSVGContainer {g} at (10,189) size 150x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
     88        RenderSVGText {text} at (10,-1) size 348x10 contains 1 chunk(s)
     89          RenderSVGInlineText {#text} at (0,0) size 348x10
     90            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"
     91      RenderSVGContainer {g} at (10,189) size 142x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,190.00)}]
    18592        RenderSVGRect {rect} at (10,191) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    186         RenderSVGText {text} at (10,-1) size 140x10 contains 1 chunk(s)
    187           RenderSVGInlineText {#text} at (0,0) size 140x9
    188             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 3 width 7.51: "f.f"
    189             chunk 1 text run 2 at (17.49,7.00) startOffset 3 endOffset 6 width 6.50: "ilt"
    190             chunk 1 text run 3 at (23.86,7.00) startOffset 6 endOffset 9 width 14.50: "erR"
    191             chunk 1 text run 4 at (38.25,7.00) startOffset 9 endOffset 18 width 43.52: "esX.baseV"
    192             chunk 1 text run 5 at (81.24,7.00) startOffset 18 endOffset 28 width 38.53: "al == 0: P"
    193             chunk 1 text run 6 at (119.07,7.00) startOffset 28 endOffset 33 width 30.51: "ASSED"
    194       RenderSVGContainer {g} at (10,199) size 186x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
     93        RenderSVGText {text} at (10,-1) size 132x10 contains 1 chunk(s)
     94          RenderSVGInlineText {#text} at (0,0) size 132x10
     95            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 29 width 131.07: "c.orderX.baseVal == 0: PASSED"
     96      RenderSVGContainer {g} at (10,199) size 187x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,200.00)}]
    19597        RenderSVGRect {rect} at (10,201) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    196         RenderSVGText {text} at (10,-1) size 176x10 contains 1 chunk(s)
    197           RenderSVGInlineText {#text} at (0,0) size 176x9
    198             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
    199             chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
    200             chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 23 width 14.00: "al.v"
    201             chunk 1 text run 4 at (106.86,7.00) startOffset 23 endOffset 35 width 48.54: "alue == 0: P"
    202             chunk 1 text run 5 at (154.69,7.00) startOffset 35 endOffset 40 width 30.51: "ASSED"
    203       RenderSVGContainer {g} at (10,209) size 349x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
     98        RenderSVGText {text} at (10,-1) size 177x10 contains 1 chunk(s)
     99          RenderSVGInlineText {#text} at (0,0) size 177x10
     100            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 40 width 176.59: "m.orientAngle.baseVal.value == 0: PASSED"
     101      RenderSVGContainer {g} at (10,209) size 352x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
    204102        RenderSVGRect {rect} at (10,211) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    205         RenderSVGText {text} at (10,-1) size 339x10 contains 1 chunk(s)
    206           RenderSVGInlineText {#text} at (0,0) size 339x9
    207             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 18.00: "m.or"
    208             chunk 1 text run 2 at (28.01,7.00) startOffset 4 endOffset 19 width 65.54: "ientAngle.baseV"
    209             chunk 1 text run 3 at (93.02,7.00) startOffset 19 endOffset 27 width 29.51: "al.unitT"
    210             chunk 1 text run 4 at (121.63,7.00) startOffset 27 endOffset 38 width 46.53: "ype == 1 (S"
    211             chunk 1 text run 5 at (167.78,7.00) startOffset 38 endOffset 39 width 6.00: "V"
    212             chunk 1 text run 6 at (173.40,7.00) startOffset 39 endOffset 43 width 24.51: "G_AN"
    213             chunk 1 text run 7 at (197.89,7.00) startOffset 43 endOffset 47 width 23.51: "GLET"
    214             chunk 1 text run 8 at (221.58,7.00) startOffset 47 endOffset 66 width 97.52: "YPE_UNSPECIFIED): P"
    215             chunk 1 text run 9 at (318.40,7.00) startOffset 66 endOffset 71 width 30.51: "ASSED"
    216       RenderSVGContainer {g} at (10,219) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
     103        RenderSVGText {text} at (10,-1) size 342x10 contains 1 chunk(s)
     104          RenderSVGInlineText {#text} at (0,0) size 342x10
     105            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"
     106      RenderSVGContainer {g} at (10,219) size 218x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,220.00)}]
    217107        RenderSVGRect {rect} at (10,221) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
     108        RenderSVGText {text} at (10,-1) size 208x10 contains 1 chunk(s)
     109          RenderSVGInlineText {#text} at (0,0) size 208x10
     110            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"
     111      RenderSVGContainer {g} at (10,229) size 215x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
     112        RenderSVGRect {rect} at (10,231) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    218113        RenderSVGText {text} at (10,-1) size 205x10 contains 1 chunk(s)
    219           RenderSVGInlineText {#text} at (0,0) size 205x9
    220             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    221             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 5 width 14.00: ".vie"
    222             chunk 1 text run 3 at (27.80,7.00) startOffset 5 endOffset 8 width 17.50: "wBo"
    223             chunk 1 text run 4 at (45.06,7.00) startOffset 8 endOffset 15 width 32.52: "x.baseV"
    224             chunk 1 text run 5 at (77.05,7.00) startOffset 15 endOffset 22 width 23.51: "al.[x,y"
    225             chunk 1 text run 6 at (99.93,7.00) startOffset 22 endOffset 27 width 18.50: ",widt"
    226             chunk 1 text run 7 at (118.40,7.00) startOffset 27 endOffset 44 width 66.05: "h,height] == 0: P"
    227             chunk 1 text run 8 at (183.75,7.00) startOffset 44 endOffset 49 width 30.51: "ASSED"
    228       RenderSVGContainer {g} at (10,229) size 214x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,230.00)}]
    229         RenderSVGRect {rect} at (10,231) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    230         RenderSVGText {text} at (10,-1) size 204x10 contains 1 chunk(s)
    231           RenderSVGInlineText {#text} at (0,0) size 204x9
    232             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 4 width 10.50: "t.tr"
    233             chunk 1 text run 2 at (20.46,7.00) startOffset 4 endOffset 8 width 17.01: "ansf"
    234             chunk 1 text run 3 at (37.38,7.00) startOffset 8 endOffset 17 width 43.51: "orm.baseV"
    235             chunk 1 text run 4 at (80.36,7.00) startOffset 17 endOffset 30 width 54.52: "al.numberOfIt"
    236             chunk 1 text run 5 at (134.76,7.00) startOffset 30 endOffset 41 width 48.53: "ems == 0: P"
    237             chunk 1 text run 6 at (182.58,7.00) startOffset 41 endOffset 46 width 30.51: "ASSED"
    238       RenderSVGContainer {g} at (10,239) size 410x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
     114          RenderSVGInlineText {#text} at (0,0) size 205x10
     115            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 46 width 204.59: "t.transform.baseVal.numberOfItems == 0: PASSED"
     116      RenderSVGContainer {g} at (10,239) size 415x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,240.00)}]
    239117        RenderSVGRect {rect} at (10,241) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    240         RenderSVGText {text} at (10,-1) size 400x10 contains 1 chunk(s)
    241           RenderSVGInlineText {#text} at (0,0) size 400x9
    242             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    243             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
    244             chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
    245             chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
    246             chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
    247             chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
    248             chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 43 width 60.53: "al.align == 6 (S"
    249             chunk 1 text run 8 at (187.39,7.00) startOffset 43 endOffset 44 width 6.00: "V"
    250             chunk 1 text run 9 at (193.01,7.00) startOffset 44 endOffset 52 width 49.01: "G_PRESER"
    251             chunk 1 text run 10 at (241.68,7.00) startOffset 52 endOffset 62 width 60.52: "VEASPECTRA"
    252             chunk 1 text run 11 at (301.36,7.00) startOffset 62 endOffset 70 width 42.51: "TIO_XMID"
    253             chunk 1 text run 12 at (343.30,7.00) startOffset 70 endOffset 78 width 36.50: "YMID): P"
    254             chunk 1 text run 13 at (379.10,7.00) startOffset 78 endOffset 83 width 30.51: "ASSED"
    255       RenderSVGContainer {g} at (10,249) size 374x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
     118        RenderSVGText {text} at (10,-1) size 405x10 contains 1 chunk(s)
     119          RenderSVGInlineText {#text} at (0,0) size 405x10
     120            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"
     121      RenderSVGContainer {g} at (10,249) size 377x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,250.00)}]
    256122        RenderSVGRect {rect} at (10,251) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    257         RenderSVGText {text} at (10,-1) size 364x10 contains 1 chunk(s)
    258           RenderSVGInlineText {#text} at (0,0) size 364x9
    259             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    260             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 4 width 10.50: ".pr"
    261             chunk 1 text run 3 at (24.28,7.00) startOffset 4 endOffset 8 width 17.51: "eser"
    262             chunk 1 text run 4 at (42.05,7.00) startOffset 8 endOffset 9 width 4.50: "v"
    263             chunk 1 text run 5 at (46.36,7.00) startOffset 9 endOffset 17 width 39.01: "eAspectR"
    264             chunk 1 text run 6 at (85.24,7.00) startOffset 17 endOffset 27 width 42.52: "atio.baseV"
    265             chunk 1 text run 7 at (127.23,7.00) startOffset 27 endOffset 33 width 27.01: "al.mee"
    266             chunk 1 text run 8 at (154.15,7.00) startOffset 33 endOffset 49 width 64.03: "tOrSlice == 1 (S"
    267             chunk 1 text run 9 at (217.80,7.00) startOffset 49 endOffset 50 width 6.00: "V"
    268             chunk 1 text run 10 at (223.43,7.00) startOffset 50 endOffset 56 width 37.01: "G_MEET"
    269             chunk 1 text run 11 at (260.06,7.00) startOffset 56 endOffset 72 width 83.52: "ORSLICE_MEET): P"
    270             chunk 1 text run 12 at (342.87,7.00) startOffset 72 endOffset 77 width 30.51: "ASSED"
    271       RenderSVGContainer {g} at (10,259) size 273x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
     123        RenderSVGText {text} at (10,-1) size 367x10 contains 1 chunk(s)
     124          RenderSVGInlineText {#text} at (0,0) size 367x10
     125            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"
     126      RenderSVGContainer {g} at (10,259) size 277x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,260.00)}]
    272127        RenderSVGRect {rect} at (10,261) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    273         RenderSVGText {text} at (10,-1) size 263x10 contains 1 chunk(s)
    274           RenderSVGInlineText {#text} at (0,0) size 263x9
    275             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 4.50: "v"
    276             chunk 1 text run 2 at (13.88,7.00) startOffset 1 endOffset 10 width 46.52: ".zoomAndP"
    277             chunk 1 text run 3 at (60.15,7.00) startOffset 10 endOffset 20 width 42.03: "an == 2 (S"
    278             chunk 1 text run 4 at (101.80,7.00) startOffset 20 endOffset 21 width 6.00: "V"
    279             chunk 1 text run 5 at (107.42,7.00) startOffset 21 endOffset 31 width 64.01: "G_ZOOMANDP"
    280             chunk 1 text run 6 at (170.73,7.00) startOffset 31 endOffset 36 width 31.01: "AN_MA"
    281             chunk 1 text run 7 at (201.42,7.00) startOffset 36 endOffset 45 width 41.51: "GNIFY): P"
    282             chunk 1 text run 8 at (242.23,7.00) startOffset 45 endOffset 50 width 30.51: "ASSED"
    283       RenderSVGContainer {g} at (10,269) size 94x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
     128        RenderSVGText {text} at (10,-1) size 267x10 contains 1 chunk(s)
     129          RenderSVGInlineText {#text} at (0,0) size 267x10
     130            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 50 width 266.08: "v.zoomAndPan == 2 (SVG_ZOOMANDPAN_MAGNIFY): PASSED"
     131      RenderSVGContainer {g} at (10,269) size 96x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,270.00)}]
    284132        RenderSVGRect {rect} at (10,271) size 5x5 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=1.00] [width=5.00] [height=5.00]
    285         RenderSVGText {text} at (10,-1) size 84x10 contains 1 chunk(s)
    286           RenderSVGInlineText {#text} at (0,0) size 84x9
    287             chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 1 width 5.50: "T"
    288             chunk 1 text run 2 at (14.64,7.00) startOffset 1 endOffset 3 width 9.50: "es"
    289             chunk 1 text run 3 at (24.12,7.00) startOffset 3 endOffset 6 width 9.50: "t s"
    290             chunk 1 text run 4 at (33.60,7.00) startOffset 6 endOffset 7 width 2.50: "t"
    291             chunk 1 text run 5 at (36.09,7.00) startOffset 7 endOffset 14 width 28.02: "atus: P"
    292             chunk 1 text run 6 at (63.41,7.00) startOffset 14 endOffset 19 width 30.51: "ASSED"
    293     RenderSVGContainer {g} at (10,314) size 227x33
    294       RenderSVGText {text} at (10,314) size 227x33 contains 1 chunk(s)
    295         RenderSVGInlineText {#text} at (0,0) size 227x32
    296           chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 2 width 40.90: "$R"
    297           chunk 1 text run 2 at (50.51,340.00) startOffset 2 endOffset 3 width 17.79: "e"
    298           chunk 1 text run 3 at (67.82,340.00) startOffset 3 endOffset 12 width 117.38: "vision: 1"
    299           chunk 1 text run 4 at (182.83,340.00) startOffset 12 endOffset 16 width 53.38: ".9 $"
     133        RenderSVGText {text} at (10,-1) size 86x10 contains 1 chunk(s)
     134          RenderSVGInlineText {#text} at (0,0) size 86x10
     135            chunk 1 text run 1 at (10.00,7.00) startOffset 0 endOffset 19 width 85.54: "Test status: PASSED"
     136    RenderSVGContainer {g} at (10,314) size 230x33
     137      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
     138        RenderSVGInlineText {#text} at (0,0) size 230x33
     139          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.9 $"
    300140    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    301141    RenderSVGContainer {g} at (0,0) size 480x23
    302142      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]
    303       RenderSVGText {text} at (206,2) size 68x20 contains 1 chunk(s)
    304         RenderSVGInlineText {#text} at (0,0) size 67x20
    305           chunk 1 (middle anchor) text run 1 at (206.67,18.00) startOffset 0 endOffset 5 width 66.66: "DRAFT"
     143      RenderSVGText {text} at (204,1) size 72x21 contains 1 chunk(s)
     144        RenderSVGInlineText {#text} at (0,0) size 72x21
     145          chunk 1 (middle anchor) text run 1 at (204.17,18.00) startOffset 0 endOffset 5 width 71.66: "DRAFT"
  • trunk/LayoutTests/svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg

    r91493 r236447  
    148148
    149149        // SVGAnimatedInteger
    150         new Subtest("f.filterResX.baseVal == 0"),
     150        new Subtest("c.orderX.baseVal == 0"),
    151151       
    152152        // SVGAnimatedAngle
  • trunk/LayoutTests/svg/dom/SVGAnimatedInteger-expected.txt

    r72123 r236447  
    1 This test checks the SVGAnimatedInteger API - utilizing the filterResX property of SVGFilterElement
     1This test checks the SVGAnimatedInteger API - utilizing the orderX property of feConvolveMatrix
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     
    66
    77Check initial filterResX value
    8 PASS filterElement.filterResX.toString() is "[object SVGAnimatedInteger]"
    9 PASS typeof(filterElement.filterResX.baseVal) is "number"
    10 PASS filterElement.filterResX.baseVal is 0
     8PASS convolveMatrix.orderX.toString() is "[object SVGAnimatedInteger]"
     9PASS typeof(convolveMatrix.orderX.baseVal) is "number"
     10PASS convolveMatrix.orderX.baseVal is 0
    1111
    1212Check that integers are static, caching value in a local variable and modifying it, should have no effect
    1313PASS numRef is 100
    14 PASS filterElement.filterResX.baseVal is 0
     14PASS convolveMatrix.orderX.baseVal is 0
    1515
    1616Check assigning various valid and invalid values
    17 PASS filterElement.filterResX.baseVal = -1 is -1
    18 PASS filterElement.filterResX.baseVal = 300 is 300
    19 PASS filterElement.filterResX.baseVal = 'aString' is 'aString'
    20 PASS filterElement.filterResX.baseVal is 0
    21 PASS filterElement.filterResX.baseVal = filterElement is filterElement
    22 PASS filterElement.filterResX.baseVal is 0
    23 PASS filterElement.filterResX.baseVal = 300 is 300
     17PASS convolveMatrix.orderX.baseVal = -1 is -1
     18PASS convolveMatrix.orderX.baseVal = 300 is 300
     19PASS convolveMatrix.orderX.baseVal = 'aString' is 'aString'
     20PASS convolveMatrix.orderX.baseVal is 0
     21PASS convolveMatrix.orderX.baseVal = convolveMatrix is convolveMatrix
     22PASS convolveMatrix.orderX.baseVal is 0
     23PASS convolveMatrix.orderX.baseVal = 300 is 300
    2424
    2525Check that the filterResX value remained 300
    26 PASS filterElement.filterResX.baseVal is 300
     26PASS convolveMatrix.orderX.baseVal is 300
    2727PASS successfullyParsed is true
    2828
  • trunk/LayoutTests/svg/dom/SVGAnimatedInteger.html

    r217390 r236447  
    88<div id="console"></div>
    99<script>
    10 description("This test checks the SVGAnimatedInteger API - utilizing the filterResX property of SVGFilterElement");
     10description("This test checks the SVGAnimatedInteger API - utilizing the orderX property of feConvolveMatrix");
    1111
    12 var filterElement = document.createElementNS("http://www.w3.org/2000/svg", "filter");
     12var convolveMatrix = document.createElementNS("http://www.w3.org/2000/svg", "feConvolveMatrix");
    1313
    1414debug("");
    1515debug("Check initial filterResX value");
    16 shouldBeEqualToString("filterElement.filterResX.toString()", "[object SVGAnimatedInteger]");
    17 shouldBeEqualToString("typeof(filterElement.filterResX.baseVal)", "number");
    18 shouldBe("filterElement.filterResX.baseVal", "0");
     16shouldBeEqualToString("convolveMatrix.orderX.toString()", "[object SVGAnimatedInteger]");
     17shouldBeEqualToString("typeof(convolveMatrix.orderX.baseVal)", "number");
     18shouldBe("convolveMatrix.orderX.baseVal", "0");
    1919
    2020debug("");
    2121debug("Check that integers are static, caching value in a local variable and modifying it, should have no effect");
    22 var numRef = filterElement.filterResX.baseVal;
     22var numRef = convolveMatrix.orderX.baseVal;
    2323numRef = 100;
    2424shouldBe("numRef", "100");
    25 shouldBe("filterElement.filterResX.baseVal", "0");
     25shouldBe("convolveMatrix.orderX.baseVal", "0");
    2626
    2727debug("");
    2828debug("Check assigning various valid and invalid values");
    29 shouldBe("filterElement.filterResX.baseVal = -1", "-1"); // Negative values are allowed from SVG DOM, but should lead to an error when rendering (disable the filter)
    30 shouldBe("filterElement.filterResX.baseVal = 300", "300");
     29shouldBe("convolveMatrix.orderX.baseVal = -1", "-1"); // Negative values are allowed from SVG DOM, but should lead to an error when rendering (disable the filter)
     30shouldBe("convolveMatrix.orderX.baseVal = 300", "300");
    3131// ECMA-262, 9.5, "ToInt32"
    32 shouldBe("filterElement.filterResX.baseVal = 'aString'", "'aString'");
    33 shouldBe("filterElement.filterResX.baseVal", "0");
    34 shouldBe("filterElement.filterResX.baseVal = filterElement", "filterElement");
    35 shouldBe("filterElement.filterResX.baseVal", "0");
    36 shouldBe("filterElement.filterResX.baseVal = 300", "300");
     32shouldBe("convolveMatrix.orderX.baseVal = 'aString'", "'aString'");
     33shouldBe("convolveMatrix.orderX.baseVal", "0");
     34shouldBe("convolveMatrix.orderX.baseVal = convolveMatrix", "convolveMatrix");
     35shouldBe("convolveMatrix.orderX.baseVal", "0");
     36shouldBe("convolveMatrix.orderX.baseVal = 300", "300");
    3737
    3838debug("");
    3939debug("Check that the filterResX value remained 300");
    40 shouldBe("filterElement.filterResX.baseVal", "300");
     40shouldBe("convolveMatrix.orderX.baseVal", "300");
    4141
    4242successfullyParsed = true;
  • trunk/Source/WebCore/ChangeLog

    r236446 r236447  
     12018-09-24  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Remove filterRes parameter from SVG filters
     4        https://bugs.webkit.org/show_bug.cgi?id=129565
     5        <rdar://problem/44714340>
     6
     7        Reviewed by Dean Jackson.
     8       
     9        Remove support for the "filterRes" attribute on SVG filters. It's marked as
     10        deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
     11        and no longer supported by Chrome or Firefox.
     12       
     13        Removed existing filterRes tests, added new test checking that it has no effect.
     14
     15        Tests: svg/filters/filterRes-is-noop.svg
     16
     17        * rendering/svg/RenderSVGResourceFilter.cpp:
     18        (WebCore::RenderSVGResourceFilter::applyResource):
     19        * svg/SVGElement.cpp:
     20        (WebCore::SVGElement::animatableAttributeForName):
     21        * svg/SVGFilterElement.cpp:
     22        (WebCore::SVGFilterElement::registerAttributes):
     23        (WebCore::SVGFilterElement::parseAttribute):
     24        (WebCore::SVGFilterElement::filterResXIdentifier): Deleted.
     25        (WebCore::SVGFilterElement::filterResYIdentifier): Deleted.
     26        (WebCore::SVGFilterElement::setFilterRes): Deleted.
     27        * svg/SVGFilterElement.h:
     28        * svg/SVGFilterElement.idl:
     29        * svg/svgattrs.in:
     30
    1312018-09-24  Ryosuke Niwa  <rniwa@webkit.org>
    232
  • trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp

    r235657 r236447  
    139139
    140140    // Determine absolute boundaries of the filter and the drawing region.
    141     FloatRect absoluteFilterBoundaries = filterData->shearFreeAbsoluteTransform.mapRect(filterData->boundaries);
    142141    filterData->drawingRegion = renderer.strokeBoundingBox();
    143142    filterData->drawingRegion.intersect(filterData->boundaries);
     
    153152        return false;
    154153
    155     // Calculate the scale factor for the use of filterRes.
    156     // Also see http://www.w3.org/TR/SVG/filters.html#FilterEffectsRegion
    157     FloatSize scale(1, 1);
    158     if (filterElement().hasAttribute(SVGNames::filterResAttr)) {
    159         scale.setWidth(filterElement().filterResX() / absoluteFilterBoundaries.width());
    160         scale.setHeight(filterElement().filterResY() / absoluteFilterBoundaries.height());
    161     }
    162 
    163     if (scale.isEmpty())
    164         return false;
    165 
    166154    // Determine scale factor for filter. The size of intermediate ImageBuffers shouldn't be bigger than kMaxFilterSize.
    167155    FloatRect tempSourceRect = absoluteDrawingRegion;
     156    FloatSize scale(1, 1);
    168157    ImageBuffer::sizeNeedsClamping(tempSourceRect.size(), scale);
    169158    tempSourceRect.scale(scale.width(), scale.height());
  • trunk/Source/WebCore/svg/SVGElement.cpp

    r234995 r236447  
    777777            &SVGNames::exponentAttr.get(),
    778778            &SVGNames::externalResourcesRequiredAttr.get(),
    779             &SVGNames::filterResAttr.get(),
    780779            &SVGNames::filterUnitsAttr.get(),
    781780            &SVGNames::fxAttr.get(),
  • trunk/Source/WebCore/svg/SVGFilterElement.cpp

    r234683 r236447  
    5555}
    5656
    57 const AtomicString& SVGFilterElement::filterResXIdentifier()
    58 {
    59     static NeverDestroyed<AtomicString> s_identifier("SVGFilterResX", AtomicString::ConstructFromLiteral);
    60     return s_identifier;
    61 }
    62 
    63 const AtomicString& SVGFilterElement::filterResYIdentifier()
    64 {
    65     static NeverDestroyed<AtomicString> s_identifier("SVGFilterResY", AtomicString::ConstructFromLiteral);
    66     return s_identifier;
    67 }
    68 
    69 void SVGFilterElement::setFilterRes(unsigned filterResX, unsigned filterResY)
    70 {
    71     m_filterResX.setValue(filterResX);
    72     m_filterResY.setValue(filterResY);
    73 
    74     if (RenderObject* object = renderer())
    75         object->setNeedsLayout();
    76 }
    77 
    7857void SVGFilterElement::registerAttributes()
    7958{
     
    8766    registry.registerAttribute<SVGNames::widthAttr, &SVGFilterElement::m_width>();
    8867    registry.registerAttribute<SVGNames::heightAttr, &SVGFilterElement::m_height>();
    89     registry.registerAttribute<SVGNames::filterResAttr,
    90         &SVGFilterElement::filterResXIdentifier, &SVGFilterElement::m_filterResX,
    91         &SVGFilterElement::filterResYIdentifier, &SVGFilterElement::m_filterResY>();
    9268}
    9369
     
    11288    else if (name == SVGNames::heightAttr)
    11389        m_height.setValue(SVGLengthValue::construct(LengthModeHeight, value, parseError));
    114     else if (name == SVGNames::filterResAttr) {
    115         float x, y;
    116         if (parseNumberOptionalNumber(value, x, y)) {
    117             m_filterResX.setValue(x);
    118             m_filterResY.setValue(y);
    119         }
    120     }
    12190
    12291    reportAttributeParsingError(parseError, name, value);
  • trunk/Source/WebCore/svg/SVGFilterElement.h

    r234620 r236447  
    3939    static Ref<SVGFilterElement> create(const QualifiedName&, Document&);
    4040
    41     void setFilterRes(unsigned filterResX, unsigned filterResY);
    42 
    4341    SVGUnitTypes::SVGUnitType filterUnits() const { return m_filterUnits.currentValue(attributeOwnerProxy()); }
    4442    SVGUnitTypes::SVGUnitType primitiveUnits() const { return m_primitiveUnits.currentValue(attributeOwnerProxy()); }
     
    4745    const SVGLengthValue& width() const { return m_width.currentValue(attributeOwnerProxy()); }
    4846    const SVGLengthValue& height() const { return m_height.currentValue(attributeOwnerProxy()); }
    49     int filterResX() const { return m_filterResX.currentValue(attributeOwnerProxy()); }
    50     int filterResY() const { return m_filterResY.currentValue(attributeOwnerProxy()); }
    5147
    5248    RefPtr<SVGAnimatedEnumeration> filterUnitsAnimated() { return m_filterUnits.animatedProperty(attributeOwnerProxy()); }
     
    5652    RefPtr<SVGAnimatedLength> widthAnimated() { return m_width.animatedProperty(attributeOwnerProxy()); }
    5753    RefPtr<SVGAnimatedLength> heightAnimated() { return m_height.animatedProperty(attributeOwnerProxy()); }
    58     RefPtr<SVGAnimatedInteger> filterResXAnimated() { return m_filterResX.animatedProperty(attributeOwnerProxy()); }
    59     RefPtr<SVGAnimatedInteger> filterResYAnimated() { return m_filterResY.animatedProperty(attributeOwnerProxy()); }
    6054
    6155private:
     
    8074    bool selfHasRelativeLengths() const final { return true; }
    8175
    82     static const AtomicString& filterResXIdentifier();
    83     static const AtomicString& filterResYIdentifier();
    84 
    8576    AttributeOwnerProxy m_attributeOwnerProxy { *this };
    8677    SVGAnimatedEnumerationAttribute<SVGUnitTypes::SVGUnitType> m_filterUnits { SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX };
     
    9081    SVGAnimatedLengthAttribute m_width { LengthModeWidth, "120%" };
    9182    SVGAnimatedLengthAttribute m_height { LengthModeHeight, "120%" };
    92     SVGAnimatedIntegerAttribute m_filterResX;
    93     SVGAnimatedIntegerAttribute m_filterResY;
    9483};
    9584
  • trunk/Source/WebCore/svg/SVGFilterElement.idl

    r199969 r236447  
    3232    readonly attribute SVGAnimatedLength      width;
    3333    readonly attribute SVGAnimatedLength      height;
    34     readonly attribute SVGAnimatedInteger     filterResX;
    35     readonly attribute SVGAnimatedInteger     filterResY;
    36 
    37     void setFilterRes(optional unsigned long filterResX = 0,
    38                       optional unsigned long filterResY = 0);
    3934};
    4035
  • trunk/Source/WebCore/svg/svgattrs.in

    r234683 r236447  
    5959fill-rule
    6060filter
    61 filterRes
    6261filterUnits
    6362flood-color
Note: See TracChangeset for help on using the changeset viewer.